On Wed, 10 Aug 2011, Geert Uytterhoeven wrote: > > While looking into optimizing interrupts using chain handlers (which > cannot be shared), I noticed several of these cascades are hung on the > same interrupt. Hence we cannot use the optimization of chain handlers > for them. > > Knowing which are mutually exclusive helps a lot, but my Mac knowledge > is very limited. > > I derived from the code this list of cascade handlers and the interrupts > they use: > > baboon_irq > IRQ_NUBUS_C > > oss_irq > OSS_IRQLEV_SCSI = IRQ_AUTO_2 conflict: via2_irq > OSS_IRQLEV_SOUND = IRQ_AUTO_5 conflict: psc_irq PSC and OSS are mutually exclusive. VIA2 and OSS are also mutually exlusive. > > oss_nubus_irq > OSS_IRQLEV_NUBUS = IRQ_AUTO_3 conflict: psc_irq > > psc_irq > IRQ_AUTO_3 conflict: oss_nubus_irq > IRQ_AUTO_4 > IRQ_AUTO_5 conflict: oss_irq > IRQ_AUTO_6 conflict: via1_irq > > via1_irq > OSS_IRQLEV_VIA1 = IRQ_AUTO_6 (on oss) conflict: psc_irq > > IRQ_AUTO_1 conflict: iop_ism_irq iop_ism_irq is only used with OSS. > IRQ_AUTO_6 (if via_alt_mapping) conflict: psc_irq via_alt_mapping is not used with PSC. > > via2_irq > IRQ_AUTO_2 conflict: oss_irq > > via_nubus_irq > IRQ_MAC_NUBUS = IRQ_VIA2_1 > > These are other interrupts using in the Mac core code, which may use the same > interrupts as some of the cascades above: > > iop_ism_irq > OSS_IRQLEV_IOPISM = 1 = IRQ_AUTO_1 (on oss) conflict: via1_irq via1_irq is remapped to IRQ_AUTO_6 on OSS. > IRQ_VIA2_0 (on !oss) > > mac_nmi_handler > IRQ_AUTO_7 > > timer handler > IRQ_MAC_TIMER_1 = IRQ_VIA1_6 > > So baboon and PSC are mutually exclusive? But they don't conflict w.r.t. to > interrupt lines anyway, so they're not an issue. > > From the code, OSS and VIA are also mutually exclusive (except for via1_irq)? > > But PSC can coexist with OSS? That's where most of the conflicts are. Hope this helps... Finn > > Gr{oetje,eeting}s, > >                         Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. >                                 -- Linus Torvalds >