summaryrefslogtreecommitdiffstats
path: root/target/i386/tcg/helper-tcg.h
diff options
context:
space:
mode:
authorPaolo Bonzini2021-03-18 15:02:06 +0100
committerPaolo Bonzini2021-03-19 13:48:18 +0100
commit687758565ab39028f7310c30355a765f171ff1bf (patch)
tree6dceb5deb51f951c07b00e0cd66e1537b6299b40 /target/i386/tcg/helper-tcg.h
parenttarget/i386: fail if toggling LA57 in 64-bit mode (diff)
downloadqemu-687758565ab39028f7310c30355a765f171ff1bf.tar.gz
qemu-687758565ab39028f7310c30355a765f171ff1bf.tar.xz
qemu-687758565ab39028f7310c30355a765f171ff1bf.zip
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 <pbonzini@redhat.com>
Diffstat (limited to 'target/i386/tcg/helper-tcg.h')
-rw-r--r--target/i386/tcg/helper-tcg.h2
1 files changed, 1 insertions, 1 deletions
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);