beautypg.com

5 endian issues, 1 processor/memory domain, 2 pci domain – Artesyn MVME51005E SBC Installation and Use (July 2014) User Manual

Page 126: 1 processor/memory domain 7.3.5.2 pci domain

background image

Programming the MVME5100

MVME51005E Single Board Computer Installation and Use (6806800A38D)

128

7.3.5

Endian Issues

The MVME5100 supports both little-endian (e.g., Windows NT) and big-endian (e.g., AIX)
software. The PowerPC processor and the VMEbus are inherently big-endian, while the PCI bus
is inherently little-endian. The following sections summarize how the MVME5100 handles
software and hardware differences in big- and little-endian operations. For further details on
endian considerations, refer to the MVME5100-Series Single Board Computer Programmer’s
Reference Guide.

7.3.5.1

Processor/Memory Domain

The MPC750 processor can operate in both big-endian and little-endian mode. However, it
always treats the external processor/memory bus as big-endian by performing address
rearrangement and reordering when running in little-endian mode. The MPC registers in the
Hawk MPU/PCI bus bridge controller, SMC memory controller, as well as DRAM, Flash and
system registers, always appear as big-endian.

7.3.5.1.1 Role of the Hawk ASIC

Because the PCI bus is little-endian, the PHB portion of the Hawk performs byte swapping in
both directions (from PCI to memory and from the processor to PCI) to maintain address
invariance while programmed to operate in big-endian mode with the processor and the
memory subsystem.

In little-endian mode, the PHB reverse-rearranges the address for PCI-bound accesses and
rearranges the address for memory-bound accesses (from PCI). In this case, no byte swapping
is done.

7.3.5.2

PCI Domain

The PCI bus is inherently little-endian. All devices connected directly to the PCI bus operate in
little-endian mode, regardless of the mode of operation in the processor’s domain.

7.3.5.2.1 PCI and Ethernet

Ethernet is byte-stream-oriented; the byte having the lowest address in memory is the first one
to be transferred regardless of the endian mode. Since the PHB maintains address invariance in
both little-endian and big-endian mode, no endian issues should arise for Ethernet data. Big-
endian software must still take the byte-swapping effect into account when accessing the
registers of the PCI/Ethernet device, however.