projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b67e279
)
target/i386: Added ignore TPR check in ctl_has_irq
author
Lara Lazier
<laramglazier@gmail.com>
Tue, 17 Aug 2021 17:30:45 +0000
(19:30 +0200)
committer
Paolo Bonzini
<pbonzini@redhat.com>
Mon, 13 Sep 2021 11:56:26 +0000
(13:56 +0200)
The APM2 states that if V_IGN_TPR is nonzero, the current
virtual interrupt ignores the (virtual) TPR.
Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/tcg/sysemu/svm_helper.c
patch
|
blob
|
history
diff --git
a/target/i386/tcg/sysemu/svm_helper.c
b/target/i386/tcg/sysemu/svm_helper.c
index 4612dae1ac6f0db2173ea295dab84521cf578de2..a35b79548ab7c7cef3df49d8305597d193962144 100644
(file)
--- a/
target/i386/tcg/sysemu/svm_helper.c
+++ b/
target/i386/tcg/sysemu/svm_helper.c
@@
-83,6
+83,11
@@
static inline bool ctl_has_irq(CPUX86State *env)
int_prio = (env->int_ctl & V_INTR_PRIO_MASK) >> V_INTR_PRIO_SHIFT;
tpr = env->int_ctl & V_TPR_MASK;
+
+ if (env->int_ctl & V_IGN_TPR_MASK) {
+ return env->int_ctl & V_IRQ_MASK;
+ }
+
return (env->int_ctl & V_IRQ_MASK) && (int_prio >= tpr);
}