Commit 5e992a8e authored by Eduardo Habkost's avatar Eduardo Habkost
Browse files

target-i386: Add a marker to end of the region zeroed on reset



Instead of using cpuid_level, use an empty struct as a marker
(like we already did with {start,end}_init_save). This will avoid
accidentaly resetting the wrong fields if we change the field
ordering on CPUX86State.

Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent 0456441b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2714,7 +2714,7 @@ static void x86_cpu_reset(CPUState *s)

    xcc->parent_reset(s);

    memset(env, 0, offsetof(CPUX86State, cpuid_level));
    memset(env, 0, offsetof(CPUX86State, end_reset_fields));

    tlb_flush(s, 1);

+1 −0
Original line number Diff line number Diff line
@@ -1108,6 +1108,7 @@ typedef struct CPUX86State {
    CPU_COMMON

    /* Fields from here on are preserved across CPU reset. */
    struct {} end_reset_fields;

    /* processor features (e.g. for CPUID insn) */
    uint32_t cpuid_level;