Thread (18 messages) 18 messages, 6 authors, 2006-03-29

Re: Memory mapping PCI memory region to user space

From: David Hawkins <hidden>
Date: 2006-03-23 17:52:56

PCI is actually endian-agnostic, so we're really 'fixing' the 
Freescale PCI implementation with endian swapping.
Hi Mark,

Its not agnostic, its little-endian.

The configuration space layout of parameters larger than a
byte are defined in little endian format.

The wiring on the PCI bus is little-endian, and 32-bit
quantities on the bus are represented by a logic analyzer
in little endian format.

But once you start talking about BAR regions, then yeah,
they're your bytes, do with them what you will. My hardware
uses a little-endian TI DSP, and an x86 host, so I
had been using compatible machines.

But the PLX PCI-9054 PCI chipset exposes BAR[0] and BAR[1]
as control registers that are little-endian format.

Conversely, we also use some Janz CAN cards, and their
messaging protocol over PCI uses big-endian format
structures in their protocol.

Dave
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help