--- trunk/src/devices/dev_openpic.c 2007/10/13 15:05:59 63 +++ trunk/src/devices/dev_openpic.c 2007/10/13 15:43:48 64 @@ -27,7 +27,7 @@ * $Id: dev_openpic.c,v 1.14 2007/09/11 21:42:52 debug Exp $ * * COMMENT: OpenPIC Interrupt controller (used by sandpoint ppc) - * based on dev_openpic.c + * based on dev_gc.c */ #include @@ -85,7 +85,7 @@ DEVICE_ACCESS(openpic) { - struct openpic_data *d = extra; +// struct openpic_data *d = extra; uint64_t idata = 0, odata = 0; if (writeflag == MEM_WRITE) @@ -104,6 +104,7 @@ #define INT_LEVEL_REG_L (interrupt_reg + 0x1c) #endif +#if 0 case 0x10: if (writeflag == MEM_READ) odata = d->status_hi & d->enable_hi; @@ -190,7 +191,7 @@ case 0x2c: /* Avoid a debug message. */ break; - +#endif default:if (writeflag == MEM_WRITE) { fatal("[ openpic: unimplemented write to " "offset 0x%x: data=0x%x ]\n", (int) @@ -220,12 +221,12 @@ INTERRUPT_CONNECT(devinit->interrupt_path, d->cpu_irq); /* - * Register the 64 Grand Central interrupts (32 lo, 32 hi): + * Register the 126 OpenPIC interrupts */ - for (i=0; i<32; i++) { + for (i=0; i<126; i++) { struct interrupt template; char n[300]; - snprintf(n, sizeof(n), "%s.openpic.lo.%i", + snprintf(n, sizeof(n), "%s.openpic.%i", devinit->interrupt_path, i); memset(&template, 0, sizeof(template)); template.line = 1 << i; @@ -234,16 +235,6 @@ template.interrupt_assert = openpic_lo_interrupt_assert; template.interrupt_deassert = openpic_lo_interrupt_deassert; interrupt_handler_register(&template); - - snprintf(n, sizeof(n), "%s.openpic.hi.%i", - devinit->interrupt_path, i); - memset(&template, 0, sizeof(template)); - template.line = 1 << i; - template.name = n; - template.extra = d; - template.interrupt_assert = openpic_hi_interrupt_assert; - template.interrupt_deassert = openpic_hi_interrupt_deassert; - interrupt_handler_register(&template); } memory_device_register(devinit->machine->memory, "openpic",