[openib-general] [PATCH 0/7] AMSO1100 RNIC Driver
    Roland Dreier 
    rdreier at cisco.com
       
    Thu Mar  9 07:36:02 PST 2006
    
    
  
    Roland> I just realized that the amso1100 driver probably won't
    Roland> work on a big-endian architecture.  This is actually
    Roland> because your hardware is itself big-endian, so you end up
    Roland> doing stuff like
    Roland> writel(cpu_to_be32(foo), bar);
    Tom> Er... isn't cpu_to_be32 a no-op when the processor is itself
    Tom> big-endian?
Yes, that's part of the problem.  On a big-endian arch, writel()
itself has an implied swap to little-endian, because PCI is assumed to
be little-endian.  For example, on ppc32, writel() is defined to
out_le32(), which uses the stwbrx instruction to do a byte-swapping store.
 - R.
    
    
More information about the general
mailing list