On Mon, Apr 04, 2016 at 08:38:54PM +0100, Peter Maydell wrote: > On 4 April 2016 at 20:37, Eduardo Habkost <ehabk...@redhat.com> wrote: > > On Mon, Apr 04, 2016 at 02:31:47PM +0100, Peter Maydell wrote: > >> On 4 April 2016 at 14:21, Aleksandar Markovic > >> <aleksandar.marko...@imgtec.com> wrote: > >> > B. arm - explicitely sets other fields of float_status, > >> > explicit invocation of set_snan_bit_is_one(0) added > >> > >> We zero the float_status structs on reset, because they are earlier > >> in the CPUARMState structure than the 'features' field (and so the > >> memset() in arm_cpu_reset() will clear them). So you don't > >> need to explicitly zero a field like this. I expect the other > >> architectures are the same. > > > > Even if it is not zeroed on reset, it is zeroed on object_new(). > > Isn't that enough? > > It must be zeroed on reset, otherwise we won't get the right > behaviour if you reset the CPU after running it for a bit. > object_new() zeroing is not sufficient.
The only calls to set_snan_bit_is_one() with non-zero arguments I see on this patch are during CPU init or reset. How exactly would the snan_bit_is_one field change to non-zero during runtime, to require zeroing it again on reset? -- Eduardo