On Hyper-V looks like we need to fetch both the legacy and new state instead of being able to rely on xsave.
Signed-off-by: Mohamed Mediouni <[email protected]> --- target/i386/whpx/whpx-all.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 2739a80da3..56a8b16749 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -614,9 +614,9 @@ void whpx_set_registers(CPUState *cpu, WHPXStateLevel level) if (whpx_is_xsave_enabled(cpu)) { whpx_set_xsave_state(cpu); - } else { - whpx_set_legacy_fp_registers(cpu, level); } + whpx_set_legacy_fp_registers(cpu, level); + /* MSRs */ assert(whpx_register_names[idx] == WHvX64RegisterEfer); vcxt.values[idx++].Reg64 = env->efer; @@ -950,9 +950,8 @@ void whpx_get_registers(CPUState *cpu, WHPXStateLevel level) if (whpx_is_xsave_enabled(cpu)) { whpx_get_xsave_state(cpu); - } else { - whpx_get_legacy_fp_registers(cpu, level); } + whpx_get_legacy_fp_registers(cpu, level); /* MSRs */ assert(whpx_register_names[idx] == WHvX64RegisterEfer); -- 2.54.0 (Apple Git-156)
