13.03.2013 Views

Hacking the Xbox

Hacking the Xbox

Hacking the Xbox

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.

152<br />

<strong>Hacking</strong> <strong>the</strong> <strong>Xbox</strong>: An Introduction to Reverse Engineering<br />

at a high speed. All of <strong>the</strong> legacy I/O and expansion functions are<br />

mapped into this high-bandwidth bus, enabling system designers to create<br />

so-called “Super I/O” chips that in turn enable Southbridge chips with a<br />

much lower pin count. In addition, segregating functions between Super<br />

I/O chips and Southbridge chips allows designers to choose Super I/O<br />

and Southbridge chip combinations that provide <strong>the</strong> optimal set of<br />

features for a given application.<br />

The LPC physical interface is quite simple. The interface is a 4-bit bidirectional<br />

bus that runs at a 33 MHz clock rate. The interface also has two<br />

“sideband” signals: one framing signal that indicates <strong>the</strong> start and end of<br />

LPC bus cycles, and one reset signal that forces all LPC peripheral devices<br />

into a known state for initialization purposes. In addition, <strong>the</strong>re are a couple<br />

of optional signals for <strong>the</strong> LPC interface that provide DMA and interrupt<br />

capabilities as well as power management for more sophisticated I/O<br />

devices. (More information on <strong>the</strong> LPC bus and its protocol can be found in<br />

<strong>the</strong> Intel Low Pin Count (LPC) Interface Specification, version 1.1. The<br />

specification can be found on <strong>the</strong> Intel corporate website at http://<br />

www.intel.com/design/chipsets/industry/lpc.htm.)<br />

LPC Interface on <strong>the</strong> <strong>Xbox</strong><br />

The <strong>Xbox</strong> incorporates an LPC interface on <strong>the</strong> mo<strong>the</strong>rboard. The LPC<br />

interface in this case is used to implement a debug and test bus. One can<br />

connect a keyboard and mouse through this LPC interface, as well as an<br />

alternate boot ROM for diagnostic purposes. The LPC interface is activated<br />

to load alternate boot code when <strong>the</strong> FLASH ROM on <strong>the</strong> <strong>Xbox</strong> is not<br />

available. The lack of a FLASH ROM device can be simulated by forcing <strong>the</strong><br />

lowest data bit (D0) of <strong>the</strong> FLASH ROM data bus to a level of zero volts.<br />

Many speculate that <strong>the</strong> LPC interface is an essential part of <strong>the</strong> <strong>Xbox</strong><br />

production line because of <strong>the</strong> alternate boot ROM ability provided by <strong>the</strong><br />

LPC interface. Fully assembled <strong>Xbox</strong>es can be configured with a comprehensive<br />

self-test program via <strong>the</strong> LPC interface. Applying <strong>the</strong> CPU as a fast test<br />

controller allows defective units to be quickly and efficiently isolated on <strong>the</strong><br />

factory floor without <strong>the</strong> cost of expensive testing machines.<br />

For hackers, <strong>the</strong> alternate boot ROM facility provided by <strong>the</strong> LPC interface is<br />

an ideal mechanism for getting code into <strong>the</strong> <strong>Xbox</strong>. Valid LPC-loadable<br />

boot ROM images for <strong>the</strong> <strong>Xbox</strong> can be created by anyone since <strong>the</strong> cryptographically<br />

secured boot procedure of <strong>the</strong> <strong>Xbox</strong> is now fully understood. In<br />

fact, some vendors of alternate boot ROM devices for <strong>the</strong> <strong>Xbox</strong> have<br />

leveraged <strong>the</strong> regularity of <strong>the</strong> LPC interface’s pinout geometry on <strong>the</strong> <strong>Xbox</strong><br />

1 The circuits on a chip are typically surrounded by squares of<br />

metal (“bond pads”) that are wired to <strong>the</strong> pins on <strong>the</strong> chip’s<br />

packaging. A chip is said to be bond-pad limited when <strong>the</strong><br />

area required for <strong>the</strong> ring of bond pads exceeds <strong>the</strong> area<br />

required by <strong>the</strong> circuitry inside <strong>the</strong> chip. The cost of excess pins<br />

becomes even higher in <strong>the</strong> case that a chip is bond-pad<br />

limited.

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

Saved successfully!

Ooh no, something went wrong!