On 29/05/19 13:30, Dr. David Alan Gilbert wrote: >> Should we add a section for i386, which duplicates efer, or just version_id >> of the main VMSD should >> be updated? > > You could do: > > #ifdef TARGET_X86_64 > VMSTATE_UINT64(env.efer, X86CPU), > VMSTATE_UINT64(env.star, X86CPU), > ... > > to become: > > VMSTATE_UINT64_TEST(env.efer, X86CPU, efer_needed) > #ifdef TARGET_X86_64 > VMSTATE_UINT64(env.star, X86CPU), > > > and then make efer_needed a function that returns true if > TARGET_X86_64 or it's a new machine type that knows about whatever > you're going to do with it.
I prefer adding a subsection for 32-bit, so that EFER is saved/restored if nonzero. Paolo