target/i386: Added ignore TPR check in ctl_has_irq
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>
This commit is contained in:
parent
b67e2796a1
commit
66a0201ba7
@ -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;
|
int_prio = (env->int_ctl & V_INTR_PRIO_MASK) >> V_INTR_PRIO_SHIFT;
|
||||||
tpr = env->int_ctl & V_TPR_MASK;
|
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);
|
return (env->int_ctl & V_IRQ_MASK) && (int_prio >= tpr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user