System Address Map Initialization in x86/x64 Architecture Part 2: PCI Express-Based Systems

by Darmawan Salihun
Oct. 7, 2017 0 comments INFOSEC Institute Management

This article is the second part of a series that clarifies PCI expansion ROM address mapping to the system address map. The mapping was not sufficiently covered in my “Malicious PCI Expansion ROM”‘ article ( You are assumed to have a working knowledge of PCI bus protocol and details of the x86/x64 boot process. If you don’t, then please read the first part to get up to speed with the background knowledge required to understand this article (at The first part focuses on system address map initialization in a x86/x64 PCI-based system. This article focuses on more recent systems, i.e., x86/x64 PCI Express-based systems. From this point on, PCI Express is abbreviated as PCIe throughout this article, in accordance with official PCI Express specification.