17.11.2012 Views

MVME5100 Single Board Computer Programmer's Reference Guide

MVME5100 Single Board Computer Programmer's Reference Guide

MVME5100 Single Board Computer Programmer's Reference Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

.<br />

Figure 2-6. PCI Spread I/O Address Translation<br />

Functional Description<br />

PPC Address + Offset<br />

31 12 11 5 4 0<br />

31 25 24<br />

54<br />

0<br />

0 0 0 0 0 0 0<br />

PCI Address<br />

Spread I/O addressing allows each PCI device’s I/O registers to reside on<br />

a different PPC memory page, so device drivers can be protected from<br />

each other using memory page protection.<br />

All I/O accesses must be performed within natural word boundaries. Any<br />

I/O access that is not contained within a natural word boundary results in<br />

unpredictable operation. For example, an I/O transfer of four bytes starting<br />

at address $80000010 is considered a valid transfer. An I/O transfer of four<br />

bytes starting at address $80000011 is considered an invalid transfer since<br />

it crosses the natural word boundary at address $80000013/$80000014.<br />

Generating PCI Configuration Cycles<br />

1915 9702<br />

The PHB uses configuration Mechanism #1 as defined in the PCI Local<br />

Bus Specification 2.1 to generate configuration cycles. Please refer to this<br />

specification for a complete description of this function.<br />

Configuration Mechanism #1 uses an address register/data register format.<br />

Performing a configuration access is a two step process. The first step is to<br />

place the address of the configuration cycle within the<br />

CONFIG_ADDRESS register. Note that this action does not generate any<br />

cycles on the PCI bus.<br />

http://www.motorola.com/computer/literature 2-31<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!