[openib-general] Re: mstflint failing on sparc64

Grant Grundler iod00d at hp.com
Mon Jan 10 11:03:19 PST 2005


On Sat, Jan 08, 2005 at 11:07:47PM +0200, Michael S. Tsirkin wrote:
> That may be the case, but on sparc64 it does not
> appear to be the case: 
> 
> /* On sparc64 we have the whole physical IO address space accessible
>  *  * using physically addressed loads and stores, so this does nothing.
>  *   */
> static inline void __iomem *ioremap(unsigned long offset, unsigned long
> size)
> {
>         return (void __iomem *)offset;
> }

No - this just means the address can be used as-is and the VM
will DTRT when presented this address.

Look at arch/sparc64/kernel/pci_psycho.c:psycho_base_address_update().
The last line of code in that routine forces the top half of a
64-bit BAR to zero.  The host address Tom dumped in the followup
to your email was > 32-bits:
1ff00000000-1ff7fffffff : PSYCHO0 PBMA
  1ff000a0000-1ff000bffff : Video RAM area
  1ff000c0000-1ff000c7fff : Video ROM
  1ff000f0000-1ff000fffff : System ROM
  1ff00100000-1ff001fffff : 0000:81:00.0
    1ff00180680-1ff0018070f : ib_mthca
    1ff001f00d8-1ff001f00df : ib_mthca
...

One this platform, the base offset for this PCI bus is 0x1ff in
the top 32-bits of the host address.

hth,
grant



More information about the general mailing list