PCI configuration registers(BARs)



Hi All,

I set PCI configuration registers(BARs) of a PCI adapter as following
in Uboot:


base address 0 = 0xf4000001
base address 1 = 0xf4000041
base address 2 = 0xf4000081
base address 3 = 0xa0000000
base address 4 = 0xa0020000
base address 5 = 0x00000000

However when I start Linux2.4 kernel, the same adapter's PCI
configuration registers have following values:
BaseAddr[0]=0x3ffffc0
BaseAddr[1]=0x3ffffb0
BaseAddr[2]=0x3ffff00
After ioremap BaseAddr[3]=0xa1002000
BaseAddr[3]=0xa1002000
After ioremap BaseAddr[4]=0xa1004000
BaseAddr[4]=0xa1004000
BaseAddr[5]=0x0

This is a working system on MPC8548, everything including PCI adapter
works fine. My question is why the values are different in Uboot and
Linux? The value under Uboot is reasonable, since the PCI outbound
window is set up as 0xA0000000 and 0XF4000000. In addition, the value
seems falling into the outbound window after the ioremap() is called
on BAR3 and BAR4. The ioremap() will failed if I try to convert BAR0,
BAR1, BAR2.

Thanks in advance,


Mike
.



Relevant Pages

  • [RFC] ioremap() clarification && ioremap_resource()
    ... seem to be any agreement on what the cookie going into ioremap() means. ... IO-mapping.txt just states that it is a bus address. ... and SDRAM taking up over 2G of CPU bus address space. ... there is about 3.5GB worth of devices on the PCI bus. ...
    (Linux-Kernel)
  • Re: PCI Express support for 2.4 kernel
    ... probing is not a performance-intensive operation ... one alternative could be to keep a cache of ioremap() regions -- ... Anybody doing large numbers of PCI config register reads/writes in a hot ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: PCI DMA Address
    ... I don't think ioremap is what you want here. ... memory region on the card itself. ... Subject: PCI DMA Address ...
    (Linux-Kernel)
  • Re: X5010A SCSI card
    ... install solaris and see if it finds it. ... SGXPCI1SCSILM320-Z 375-3366 PCI Single Ultra320 SCSI Adapter, ... SCSI PCI Adapter, RoHS:Y ...
    (comp.sys.sun.hardware)
  • Re: [PATCH] iomap: make PCI iomap stuff excluded when PCI isnt configured
    ... insland friends are not there unless we have PCI, ioremap() is ... not exported unless on PCI. ... arm: depends on subarchitecture. ... E.g. 32bit port access might be a sham ...
    (Linux-Kernel)