27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

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.

<strong>Advanced</strong> <strong>Configuration</strong> <strong>and</strong> <strong>Power</strong> <strong>Interface</strong> <strong>Specification</strong><br />

of the non-volatile memory in these devices from AML, PnP IDs exist for each type of extension.<br />

These are PNP0B00, PNP0B01, <strong>and</strong> PNP0B02. The specific devices that these PnP IDs support are<br />

described in Section 9.15, “PC/AT RTC/CMOS Device”, along with field definition ASL example<br />

code. The drivers corresponding to these device h<strong>and</strong>le operation region accesses to the<br />

SystemCMOS operation region for their respective device types.<br />

All bytes of CMOS that are related to the current time, day, date, month, year <strong>and</strong> century are readonly.<br />

5.5.2.4.2 PCI Device BAR Target Protocols<br />

This section describes how PCI devices’ control registers can be accessed from ASL. PCI devices<br />

each have an address space associated with them called the <strong>Configuration</strong> Space. At offset 0x10<br />

through offset 0x27, there are as many as six Base Address Registers, (BARs). These BARs contain<br />

the base address of a series of control registers (in I/O or Memory space) for the PCI device. Since a<br />

Plug <strong>and</strong> Play OS may change the values of these BARs at any time, ASL cannot read <strong>and</strong> write<br />

from these deterministically using I/O or Memory operation regions. Furthermore, a Plug <strong>and</strong> Play<br />

OS will automatically assign ownership of the I/O <strong>and</strong> Memory regions associated with these BARs<br />

to a device driver associated with the PCI device. An ACPI OS (which must also be a Plug <strong>and</strong> Play<br />

operating system) will not allow ASL to read <strong>and</strong> write regions that are owned by native device<br />

drivers.<br />

If a platform uses a PCI BAR Target operation region, an ACPI OS will not load a native device<br />

driver for the associated PCI function. For example, if any of the BARs in a PCI function are<br />

associated with a PCI BAR Target operation region, then the OS will assume that the PCI function is<br />

to be entirely under the control of the ACPI system firmware. No driver will be loaded. Thus, a PCI<br />

function can be used as a platform controller for some task (hot-plug PCI, <strong>and</strong> so on) that the ACPI<br />

system firmware performs.<br />

5.5.2.4.2.1 Declaring a PCI BAR Target Operation Region<br />

PCI BARs contain the base address of an I/O or Memory region that a PCI device’s control registers<br />

lie within. Each BAR implements a protocol for determining whether those control registers are<br />

within I/O or Memory space <strong>and</strong> how much address space the PCI device decodes. (See the PCI<br />

<strong>Specification</strong> for more details.)<br />

PCI BAR Target operation regions are declared by providing the offset of the BAR within the PCI<br />

device’s PCI configuration space. The BAR determines whether the actual access to the device<br />

occurs through an I/O or Memory cycle, not by the declaration of the operation region. The length of<br />

the region is similarly implied.<br />

In the term OperationRegion(PBAR, PciBarTarget, 0x10, 0x4), the offset is the offset of the<br />

BAR within the configuration space of the device. This would be an example of an operation region<br />

that uses the first BAR in the device.<br />

5.5.2.4.2.2 PCI Header Types <strong>and</strong> PCI BAR Target Operation Regions<br />

PCI BAR Target operation regions may only be declared in the scope of PCI devices that have a PCI<br />

Header Type of 0. PCI devices with other header types are bridges. The control of PCI bridges is<br />

beyond the scope of ASL.<br />

222 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!