summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorZheng Zhan Liang2021-02-25 06:47:57 +0100
committerPaolo Bonzini2021-02-25 15:41:53 +0100
commitc45b426acd1ad8e30fbe1b9af8c07b2889c28c6b (patch)
tree1129501f9de5e44cf521316b5ca670890fa37855 /target
parentchardev: do not use short form boolean options in non-QemuOpts character devi... (diff)
downloadqemu-c45b426acd1ad8e30fbe1b9af8c07b2889c28c6b.tar.gz
qemu-c45b426acd1ad8e30fbe1b9af8c07b2889c28c6b.tar.xz
qemu-c45b426acd1ad8e30fbe1b9af8c07b2889c28c6b.zip
tcg/i386: rdpmc: fix the the condtions
Signed-off-by: Zheng Zhan Liang <linuxmaker@163.com> Message-Id: <20210225054756.35962-1-linuxmaker@163.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target')
-rw-r--r--target/i386/tcg/misc_helper.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target/i386/tcg/misc_helper.c b/target/i386/tcg/misc_helper.c
index f02e4fd400..90b87fdef0 100644
--- a/target/i386/tcg/misc_helper.c
+++ b/target/i386/tcg/misc_helper.c
@@ -222,7 +222,8 @@ void helper_rdtscp(CPUX86State *env)
void helper_rdpmc(CPUX86State *env)
{
- if ((env->cr[4] & CR4_PCE_MASK) && ((env->hflags & HF_CPL_MASK) != 0)) {
+ if (((env->cr[4] & CR4_PCE_MASK) == 0 ) &&
+ ((env->hflags & HF_CPL_MASK) != 0)) {
raise_exception_ra(env, EXCP0D_GPF, GETPC());
}
cpu_svm_check_intercept_param(env, SVM_EXIT_RDPMC, 0, GETPC());