27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

The private interface allows OSPM to communicate with the embedded controller without the<br />

additional software overhead associated with using the Global Lock. Several common system<br />

configurations can provide the additional embedded controller interfaces:<br />

• Non-shared embedded controller. This will be the most common case where there is no need for<br />

the system management h<strong>and</strong>ler to communicate with the embedded controller when the system<br />

transitions to ACPI mode. OSPM processes all normal types of system management events, <strong>and</strong><br />

the system management h<strong>and</strong>ler does not need to take any actions.<br />

• Integrated keyboard controller <strong>and</strong> embedded controller. This provides three host interfaces as<br />

described earlier by including the st<strong>and</strong>ard keyboard controller in an existing component (chip<br />

set, I/O controller) <strong>and</strong> adding a discrete, st<strong>and</strong>ard embedded controller with two interfaces for<br />

system management activities.<br />

• St<strong>and</strong>ard keyboard controller <strong>and</strong> embedded controller. This provides three host interfaces by<br />

providing a keyboard controller as a distinct component, <strong>and</strong> two host interfaces are provided in<br />

the embedded controller for system management activities.<br />

• Two embedded controllers. This provides up to four host interfaces by using two embedded<br />

controllers; one controller for system management activities providing up to two host interfaces,<br />

<strong>and</strong> one controller for keyboard controller functions providing up to two host interfaces.<br />

• Embedded controller <strong>and</strong> no keyboard controller. Future platforms might provide keyboard<br />

functionality through an entirely different mechanism, which would allow for two host<br />

interfaces in an embedded controller for system management activities.<br />

To h<strong>and</strong>le the general embedded controller interface (as opposed to a dedicated interface) model, a<br />

method is available to make the embedded controller a shareable resource between multiple tasks<br />

running under the operating system’s control <strong>and</strong> the system management interrupt h<strong>and</strong>ler. This<br />

method, as described in this section, requires several changes:<br />

• Additional external hardware<br />

• Embedded controller firmware changes<br />

• System management interrupt h<strong>and</strong>ler firmware changes<br />

• Operating software changes<br />

Access to the shared embedded controller interface requires additional software to arbitrate between<br />

the operating system’s use of the interface <strong>and</strong> the system management h<strong>and</strong>ler’s use of the<br />

interface. This is done using the Global Lock as described in Section 5.2.10.1, “Global Lock", but is<br />

not supported on HW-reduced ACPI platforms.<br />

This interface sharing protocol also requires embedded controller firmware changes, in order to<br />

ensure that collisions do not occur at the interface. A collision could occur if a byte is placed in the<br />

system output buffer <strong>and</strong> an interrupt is then generated. There is a small window of time when the<br />

incorrect recipient could receive the data. This problem is resolved by ensuring that the firmware in<br />

the embedded controller does not place any data in the output buffer until it is requested by OSPM or<br />

the system management h<strong>and</strong>ler.<br />

More detailed algorithms <strong>and</strong> descriptions are provided in the following sections.<br />

638 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!