aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-06-16 23:57:30 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-06-26 10:23:01 +0200
commit4d714d1a0bf1fca9576ee53a1a5dfa3fd5ddae99 (patch)
treeeee8cf6e90d72c21329a282052762109d0c93457
parent3b6f485275ae95a81eec589d2773b86ca9ddec4d (diff)
downloadqemu-4d714d1a0bf1fca9576ee53a1a5dfa3fd5ddae99.zip
qemu-4d714d1a0bf1fca9576ee53a1a5dfa3fd5ddae99.tar.gz
qemu-4d714d1a0bf1fca9576ee53a1a5dfa3fd5ddae99.tar.bz2
target/i386: fix INVD vmexit
Due to a typo or perhaps a brain fart, the INVD vmexit was never generated. Fix it (but not that fixing just the typo would break both INVD and WBINVD, due to a case of two wrongs making a right). Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--target/i386/tcg/translate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 08c4cab..0de068d 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -6119,7 +6119,7 @@ static bool disas_insn(DisasContext *s, CPUState *cpu)
case 0x108: /* invd */
case 0x109: /* wbinvd */
if (check_cpl0(s)) {
- gen_svm_check_intercept(s, (b & 2) ? SVM_EXIT_INVD : SVM_EXIT_WBINVD);
+ gen_svm_check_intercept(s, (b & 1) ? SVM_EXIT_WBINVD : SVM_EXIT_INVD);
/* nothing to do */
}
break;