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.

ACPI Software Programming Model<br />

The hardware register definition was exp<strong>and</strong>ed, in ACPI 2.0, to allow registers to exist in address<br />

spaces other than the System I/O address space. This is accomplished through the specification of an<br />

address space ID in the register definition (see Section 5.2.3.2, “Generic Address Structure,” for<br />

more information). When specifically directed by the CPU manufacturer, the system firmware<br />

may define an interface as functional fixed hardware by supplying a special address space identifier,<br />

FfixedHW (0x7F), in the address space ID field for register definitions. It is emphasized that<br />

functional fixed hardware definitions may be declared in the ACPI system firmware only as<br />

indicated by the CPU Manufacturer for specific interfaces as the use of functional fixed hardware<br />

requires specific coordination with the OS vendor.<br />

Only certain ACPI-defined interfaces may be implemented using functional fixed hardware <strong>and</strong> only<br />

when the interfaces are common across machine designs for example, systems sharing a common<br />

CPU architecture that does not support fixed hardware implementation of an ACPI-defined<br />

interface. OEMs are cautioned not to anticipate that functional fixed hardware support will be<br />

provided by OSPM differently on a system-by-system basis. The use of functional fixed hardware<br />

carries with it a reliance on OS specific software that must be considered. OEMs should consult OS<br />

vendors to ensure that specific functional fixed hardware interfaces are supported by specific<br />

operating systems.<br />

Note: FFH is permitted <strong>and</strong> applicable to both full <strong>and</strong> HW-reduced ACPI implementations.<br />

5.2.3.2 Generic Address Structure<br />

The Generic Address Structure (GAS) provides the platform with a robust means to describe register<br />

locations. This structure, described below (Table 5-26), is used to express register addresses within<br />

tables defined by ACPI .<br />

Table 5-26 Generic Address Structure (GAS)<br />

Field<br />

Address Space<br />

ID<br />

Register Bit<br />

Width<br />

Register Bit<br />

Offset<br />

Byte<br />

Length<br />

Byte<br />

Offset<br />

Description<br />

1 0 The address space where the data structure or register exists.<br />

Defined values are:<br />

0 System Memory<br />

1 System I/O<br />

2 PCI <strong>Configuration</strong> Space<br />

3 Embedded Controller<br />

4 SMBus<br />

5 to 0x09 Reserved<br />

0x0A<br />

Platform Communications Channel (PCC)<br />

0x0B to 0x7E Reserved<br />

0x7F<br />

Functional Fixed Hardware<br />

0x80 to 0xBF Reserved<br />

0xC0 to 0xFF OEM Defined<br />

1 1 The size in bits of the given register. When addressing a data<br />

structure, this field must be zero.<br />

1 2 The bit offset of the given register at the given address. When<br />

addressing a data structure, this field must be zero.<br />

Version 6.0 107

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

Saved successfully!

Ooh no, something went wrong!