From 687758565ab39028f7310c30355a765f171ff1bf Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 18 Mar 2021 10:02:06 -0400 Subject: target/i386: svm: do not discard high 32 bits of EXITINFO1 env->error_code is only 32-bits wide, so the high 32 bits of EXITINFO1 are being lost. However, even though saving guest state and restoring host state must be delayed to do_vmexit, because they might take tb_lock, it is always possible to write to the VMCB. So do this for the exit code and EXITINFO1, just like it is already being done for EXITINFO2. Signed-off-by: Paolo Bonzini --- target/i386/tcg/helper-tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'target/i386/tcg/helper-tcg.h') diff --git a/target/i386/tcg/helper-tcg.h b/target/i386/tcg/helper-tcg.h index ef60e2e04b..bcdfca06f6 100644 --- a/target/i386/tcg/helper-tcg.h +++ b/target/i386/tcg/helper-tcg.h @@ -80,7 +80,7 @@ void cpu_load_eflags(CPUX86State *env, int eflags, int update_mask); /* svm_helper.c */ void QEMU_NORETURN cpu_vmexit(CPUX86State *nenv, uint32_t exit_code, uint64_t exit_info_1, uintptr_t retaddr); -void do_vmexit(CPUX86State *env, uint32_t exit_code, uint64_t exit_info_1); +void do_vmexit(CPUX86State *env); /* seg_helper.c */ void do_interrupt_x86_hardirq(CPUX86State *env, int intno, int is_hw); -- cgit v1.2.3-55-g7522