# HG changeset patch # User djm@kirby.fc.hp.com # Date 1114041899 0 # Node ID 89d65362afadc68070865ddfaadc101ed652b6d4 # Parent 628d7ea9f4396095794ed3870a42dc7cb86921e7 bitkeeper revision 1.1327.1.5 (4266ee2bW65qcNXtpGjcvtUxXqKVUQ) vcpu.c: more cases for setting pending diff -r 628d7ea9f439 -r 89d65362afad xen/arch/ia64/vcpu.c --- a/xen/arch/ia64/vcpu.c Wed Apr 20 18:13:40 2005 +0000 +++ b/xen/arch/ia64/vcpu.c Thu Apr 21 00:04:59 2005 +0000 @@ -750,7 +750,8 @@ IA64FAULT vcpu_set_tpr(VCPU *vcpu, UINT6 { if (val & 0xff00) return IA64_RSVDREG_FAULT; PSCB(vcpu,tpr) = val; - //PSCB(vcpu,pending_interruption) = 1; + if (vcpu_check_pending_interrupts(vcpu) != SPURIOUS_VECTOR) + PSCB(vcpu,pending_interruption) = 1; return (IA64_NO_FAULT); } @@ -776,6 +777,8 @@ IA64FAULT vcpu_set_eoi(VCPU *vcpu, UINT6 // with interrupts disabled printf("Trying to EOI interrupt with interrupts enabled\r\n"); } + if (vcpu_check_pending_interrupts(vcpu) != SPURIOUS_VECTOR) + PSCB(vcpu,pending_interruption) = 1; //printf("YYYYY vcpu_set_eoi: Successful\n"); return (IA64_NO_FAULT); }