genode/repos/os/src/drivers/acpi
Christian Helmuth 37b2aaa051 Equalize RAM quantum in acpi_drv configs
While the managed drivers already used 4M, interactive and nic failed on
hardware with larger ACPI tables.
2019-01-30 13:54:54 +01:00
..
spec/x86 Introduce 'spec' subdirectories to outline aspects 2015-09-16 13:58:50 +02:00
acpi.cc platform_drv: skip assign device if iommu missing 2018-05-30 13:36:18 +02:00
acpi.h os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
main.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
memory.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
README Equalize RAM quantum in acpi_drv configs 2019-01-30 13:54:54 +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="3M"/>
!</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">
!  ...