25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: interrupts.c,v 1.6 2006/02/18 13:42:39 debug Exp $ |
* $Id: interrupts.c,v 1.9 2006/05/17 20:27:31 debug Exp $ |
29 |
* |
* |
30 |
* Machine-dependent interrupt glue. |
* Machine-dependent interrupt glue. |
31 |
*/ |
*/ |
337 |
void ps2_interrupt(struct machine *m, struct cpu *cpu, int irq_nr, int assrt) |
void ps2_interrupt(struct machine *m, struct cpu *cpu, int irq_nr, int assrt) |
338 |
{ |
{ |
339 |
irq_nr -= 8; |
irq_nr -= 8; |
340 |
debug("ps2_interrupt(): irq_nr=0x%x assrt=%i\n", irq_nr, assrt); |
/* debug("ps2_interrupt(): irq_nr=0x%x assrt=%i\n", irq_nr, assrt); */ |
341 |
|
|
342 |
if (irq_nr >= 32) { |
if (irq_nr >= 32) { |
343 |
int msk = 0; |
int msk = 0; |
935 |
m->md_int.gc_data->status_hi &= ~mask; |
m->md_int.gc_data->status_hi &= ~mask; |
936 |
} |
} |
937 |
|
|
938 |
#if 1 |
#if 0 |
939 |
printf("status = %08x %08x enable = %08x %08x\n", |
printf("status = %08x %08x enable = %08x %08x\n", |
940 |
m->md_int.gc_data->status_hi, m->md_int.gc_data->status_lo, |
m->md_int.gc_data->status_hi, m->md_int.gc_data->status_lo, |
941 |
m->md_int.gc_data->enable_hi, m->md_int.gc_data->enable_lo); |
m->md_int.gc_data->enable_hi, m->md_int.gc_data->enable_lo); |
964 |
cpu->cd.arm.i80321_isrc &= ~mask; |
cpu->cd.arm.i80321_isrc &= ~mask; |
965 |
} |
} |
966 |
|
|
967 |
/* debug("isrc = %08x inten = %08x\n", |
/* fatal("isrc = %08x inten = %08x\n", |
968 |
cpu->cd.arm.i80321_isrc, cpu->cd.arm.i80321_inten); */ |
cpu->cd.arm.i80321_isrc, cpu->cd.arm.i80321_inten); */ |
969 |
|
|
970 |
if (cpu->cd.arm.i80321_isrc & cpu->cd.arm.i80321_inten) |
if (cpu->cd.arm.i80321_isrc & cpu->cd.arm.i80321_inten) |