|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] [pushed][ppc] process all interrupts that may be in the PIC
changeset: 9665:adf9242cac67
user: jimix@xxxxxxxxxxxxxxxxxxxxx
date: Wed Mar 29 12:31:15 2006 -0500
summary: [ppc] process all interrupts that may be in the PIC
diff -r 7c52c6507ea3 -r adf9242cac67 xen/arch/ppc/external.c
--- a/xen/arch/ppc/external.c Wed Mar 29 12:28:58 2006 -0500
+++ b/xen/arch/ppc/external.c Wed Mar 29 12:31:15 2006 -0500
@@ -75,13 +75,22 @@ void do_external(struct cpu_user_regs *r
{
int vec;
- local_irq_disable();
- vec = mpic_get_one_irq(mpic, regs);
-
- DBG("EE:0x%lx isrc: %d\n", regs->msr, vec);
- if (vec != -1) {
- regs->entry_vector = vec;
- do_IRQ(regs);
+ BUG_ON(!(regs->msr & MSR_EE));
+ BUG_ON(mfmsr() & MSR_EE);
+
+ for (;;) {
+ vec = mpic_get_one_irq(mpic, regs);
+
+ if (vec != -1) {
+ DBG("EE:0x%lx isrc: %d\n", regs->msr, vec);
+ regs->entry_vector = vec;
+ do_IRQ(regs);
+
+ BUG_ON(mfmsr() & MSR_EE);
+
+ continue;
+ }
+ break;
}
}
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [XenPPC] [pushed][ppc] process all interrupts that may be in the PIC,
jimix <=
|
|
|
|
|