genode/repos/os/src/drivers/acpi
2016-12-01 17:46:50 +01:00
..
spec/x86 Introduce 'spec' subdirectories to outline aspects 2015-09-16 13:58:50 +02:00
acpi.cc base: rename 'Volatile_object' to 'Reconstructible' 2016-12-01 17:46:50 +01:00
acpi.h acpi: transition to the new base API 2016-06-28 11:08:01 +02:00
main.cc Use default component stack size where appropriate 2016-11-30 13:38:06 +01:00
memory.h base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
README update report_rom configs to fix warning 2016-11-08 15:26:33 +01:00

This directory contains an implementation of a simple ACPI parser

Behavior
--------

This server should be used when using a kernel (like Fiasco.OC, Nova,
base_hw x86_64) that takes advantage of x86's APIC. The server traverses the
ACPI tables and reports the interrupt line of devices within the PCI config
space of GSIs found in the ACPI tables. The 'MADT' table is parsed by the
server as well, enabling clients to use the correct IRQ when
'Interrupt Override' structures are found within the table. All information
are reported to a report_rom service as "acpi" report. The report can be
consumed by any interested party, e.g. the platform driver. Please consult
the platform driver README for more details.

Usage
-----

!<start name="acpi_drv">
!  <resource name="RAM" quantum="2M"/>
!</start>
!
!<start name="report_rom">
!  <resource name="RAM" quantum="2M"/>
!  <provides>
!    <service name="ROM" />
!    <service name="Report" />
!  </provides>
!  <config>
!    <policy label="platform_drv -> acpi" report="acpi_drv -> acpi"/>
!  </config>
!</start>
!
!<start name="platform_drv">
!  ...