genode/repos/os/src/drivers/acpi
Christian Helmuth 1c79c95868 acpi_drv: skip tables outside predefined region
With this fix, the driver no longer aborts on the Tigerlake notebook and
just skips the out-of-region ACPI table. Issue #4452 is not fixed by
this commit, but in this specific case the table is not used anyway.
2022-04-13 08:08:00 +02:00
..
spec/x86 os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
acpi.cc acpi_drv: skip tables outside predefined region 2022-04-13 08:08:00 +02:00
acpi.h os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
efi_system_table.h drivers/acpi: provide plain SMBIOS table as report 2019-08-13 12:02:03 +02:00
main.cc acpi_drv: report SMBIOS after ACPI info 2019-08-28 14:22:33 +02:00
memory.h acpi_drv: skip tables outside predefined region 2022-04-13 08:08:00 +02:00
README Increase RAM quota of ACPI driver to 4M 2019-08-13 12:02:03 +02:00
smbios_table_reporter.cc smbios.h: move to os/include/smbios 2019-11-19 14:54:12 +01:00
smbios_table_reporter.h drivers/acpi: provide plain SMBIOS table as report 2019-08-13 12:02:03 +02: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="4M"/>
!</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">
!  ...