public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* question on pci, ordering, smp, etc.
@ 2006-07-07 18:24 Chris Friesen
  0 siblings, 0 replies; only message in thread
From: Chris Friesen @ 2006-07-07 18:24 UTC (permalink / raw)
  To: linux-kernel


Suppose I have a chunk of memory that is visible on the PCI bus.  I 
ioremap_nocache() it into kernel space on multiple cpus.  This memory is 
not used by any hardware devices, only the various cpus.  No DMA is 
involved.

What are the rules for portably accessing this memory?  I assume that I 
need to use readb/readw/readl/writeb/writew/writel and the other mmio 
helpers, and can't access it directly?  Given that those all give 
little-endian access, is there any way to access without the 
byte-swapping on big-endian systems?

How can I portably ensure that a write from one cpu will be visible when 
another cpu does a read?  Do I need to read from the device on the 
original cpu, or is there a way to flush it far enough that the other 
cpus will get the updated data even if it hasn't made it all the way 
back to the device yet?

Thanks,

Chris

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-07-07 18:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-07 18:24 question on pci, ordering, smp, etc Chris Friesen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox