PCI architecture enlightenment
Allen Curtis
acurtis at onz.com
Wed Aug 7 00:43:30 EST 2002
I was wondering if anyone could provide enlightenment on the PCI address
translation architecture. I have been looking at the code and it is not
obvious how all the different pieces fit together. I read
Documentation/pci.txt and it refers to device drivers not host controller
configuration and resource allocation.0
Our board:
Host phys: 0x40000000 - 0x47ffffff =>
PCI I/O space 0x00000000 - 0x07ffffff
Host phys: 0x48000000 - 0x4fffffff =>
PCI Memory space 0x00000000 - 0x07ffffff
PCI phys: 0x40000000 - 0x47ffffff =>
Host Memory 0x00000000 - 0x07ffffff
Host Memory:
phys: 0x00000000
virt: 0xc0000000
size: 0x08000000
PCI BAR: (only 1 bus)
Memory: 0x00000000
I/O: 0x00000000
======================
When initializing a host controller how do the following interact?
hose->io_start/io_end
host->mem_start/mem_end
host->virt_io_addr
pci_init_resource(IO)
pci_init_resource(MEM)
PCI_ISA_IO...
PCI_ISA_MEM...
PCI_DRAM_OFFSET
_IO_BASE
Somehow the above information is used to create a host->PCI memory map,
PCI->host memory map and PCI->PCI memory map.
TIA
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list