- priority level of 0 means disabled interrupt

- same-priority interrupts were in wrong order (reversed forloop)
This commit is contained in:
Michaël Banaan Ananas 2011-09-05 17:06:49 +00:00
parent d4afece1fe
commit ddd7bbc78a

View File

@ -665,9 +665,9 @@ void m37710i_update_irqs(m37710i_cpu_struct *cpustate)
{ {
int curirq, pending = LINE_IRQ; int curirq, pending = LINE_IRQ;
int wantedIRQ = -1; int wantedIRQ = -1;
int curpri = -1; int curpri = 0;
for (curirq = M37710_LINE_MAX - 1; curirq >= 0; curirq--) for (curirq = 0; curirq < M37710_LINE_MAX; curirq++)
{ {
if ((pending & (1 << curirq))) if ((pending & (1 << curirq)))
{ {
@ -688,7 +688,7 @@ void m37710i_update_irqs(m37710i_cpu_struct *cpustate)
{ {
// non-maskable // non-maskable
wantedIRQ = curirq; wantedIRQ = curirq;
curirq = -1; curpri = 7;
break; // no more processing, NMIs always win break; // no more processing, NMIs always win
} }
} }