PCI on MAC
What I know about PCI on MAC
The PCI bridge on mac hardware is the bandit. Whatever PCI bridge is used, there will be a pci bus as a child of it.
FF8317A0: /bandit@F2000000 FF83FB70: /pci106b,1@B
Like so.
The address field of the bandit is the actual aperture that bandit holds in the physical memory map. Likewise, each pci bus has an aperture relative to the parent object in the OFw tree.
0 > dev pci2 .properties name bandit device_type pci model AAPL,343S1126 AAPL,interrupts 0000001A reg F4000000 02000000 #address-cells 00000003 #size-cells 00000002 clock-frequency 01FCA055 slot-names 0000E000 44320045 32004632 00 ranges 02000000 00000000 F5000000 F5000000 00000000 01000000 01000000 00000000 00000000 F4000000 00000000 00800000 02000000 00000000 90000000 90000000 00000000 10000000 bus-range 00000001 00000001 ok 0 >
The first element of the reg row is a flags set, of which the second nybble's low bits are the object type:
- 0 -> Config space
- 1 -> Memory space
- 2 -> IO space (not typically used on mac)
Note that PCI busses themselves don't have configuration space. PCI devices do.
So this PCI bus has an aperture at 0xF5000000 for 0x1000000 bytes