BMAC Ethernet Driver
Marcel Moolenaar
xcllnt at mac.com
Thu Apr 3 03:39:18 UTC 2008
On Apr 2, 2008, at 8:07 PM, Nathan Whitehorn wrote:
>> "ofwdump -aP interrupts" gives:
>> ...
>> Node 0xff95fd30: escc
>> Node 0xff95ffb8: ch-a
>> interrupts:
>> 00 00 00 16 00 00 00 01 00 00 00 05 00 00 00 00 00 00
>> 00 06
>> 00 00 00 00
>> Node 0xff960a08: ch-b
>> interrupts:
>> 00 00 00 17 00 00 00 01 00 00 00 07 00 00 00 00 00 00
>> 00 08
>> 00 00 00 00
>> ...
>> Node 0xff970618: ata-4
>> interrupts:
>> 00 00 00 13 00 00 00 01 00 00 00 0b 00 00 00 00
>> Node 0xff973358: disk
>>
>>
>> Can you send me the output of ofwdump on your machine?
>
> So it looks like that corresponds to the OF output, to within the
> macio limit of 5 interrupts per device. Two of the interrupts for
> each channel (probably the first two after the main one) are the
> DBDMA interrupts for transmit and receive DMA on each UART. The
> others, I don't know. G4 machines seem to have a lot of 0 interrupts
> listed in OF. Maybe we should
> remove them? I somehow doubt that 0 is a valid IRQ.
OpenPIC uses 2 cells per interrupt. The first being the interrupt line;
the second being the interrupt trigger properties. As such, there are
3 interrupts per SCC channels and 2 for ATA:
SCC-A: 0x16, 0x05, 0x06
SCC-B: 0x17, 0x07, 0x08
ATA: 0x13, 0x0b
It seems that the DMA interrupts are edge triggered, so we can easily
filter them out to preserve the old behaviour.
I guess on your machine, interrupts use only 1 cell. This means we need
to fix macio(4) to interpret the "#interrupt-cells" property of the
interrupt controller in the "interrupt-parent" property...
--
Marcel Moolenaar
xcllnt at mac.com
More information about the freebsd-ppc
mailing list