Descriptors In Big-Endian Mode - Motorola MPC8240 User Manual

Integrated host processor with integrated pci
Table of Contents

Advertisement

DMA Descriptors for Chaining Mode

8.6.1 Descriptors in Big-Endian Mode

In big-endian byte ordering mode(MSR[LE] = 0), the descriptors in local memory should
be programmed with data appearing in ascending significant byte order.
For example, a big-endian mode descriptor's data structure is as follows:
struct {
double a;
double b;
double c;
double d;
} Descriptor;
Results: Source Address = 0x44332211 <MSB..LSB>
Destination Address = 0x88776655 <MSB..LSB>
Next Descriptor Address = 0x21436587 <MSB..LSB>
Byte Count = 0x67452301 <MSB..LSB>
Note that the descriptor
8.6.2 Descriptors in Little-Endian Mode
In little-endian byte ordering mode(MSR[LE] = 1), the descriptor in local memory should
be programmed with data appearing in descending significant byte order.
For example, a little-endian mode descriptor's data structure is as follows:
struct {
double a;
double b;
double c;
double d;
} Descriptor;
Results: Source Address = 0x44332211 <MSB..LSB>
Destination Address = 0x88776655 <MSB..LSB>
Next Descriptor Address = 0x12345678 <MSB..LSB>
Byte Count = 0x76543210 <MSB..LSB>
Note that the descriptor struct must be aligned on an 8-word (32-byte) boundary.
8-14
/* 0x1122334455667788 double word */
/* 0x55667788aabbccdd double word */
/* 0x8765432101234567 double word */
/* 0x0123456789abcdef double word */
must be aligned on an 8-word (32-byte) boundary.
struct
/* 0x8877665544332211 double word */
/* 0x1122334488776655 double word */
/* 0x7654321012345678 double word */
/* 0x0123456776543210 double word */
MPC8240 Integrated Processor User's Manual

Advertisement

Table of Contents
loading

Table of Contents