PCI probe code

Al Trautman trautman at us.ibm.com
Fri Sep 20 00:29:57 EST 2002

>>The question I have is how does iSeries handle BAR allocation?

The Hypervisor assigns the real BARs, however the values in Linux are
meaningless.  That is  because Linux can not use access this space
directly, it can only access space via Hypervisor calls.

After the bus walk, there is code that sets up  pci_dev resources with
virtual addresses.  It uses the pci_resource_len that was setup in the
./drivers/pci/pci.c buswalk  to calculate the virtual addressing spacing.
When the drivers use the I/O macros, the virtual address gets mapped to the
device, bar, and offset for the Hypervisor call.

Peace, Al

Allan H Trautman (507-253-3508)
Dept. 8DN    Bld 030-2/R115
IBM Rochester, Minnesota

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/

More information about the Linuxppc64-dev mailing list