Damien Zammit
2018-11-11 07:28:08 UTC
Hello,
This patch provides a translator for mounting x86 ACPI tables under a
path as read-only files. I believe it is needed so that other things
that depend on ACPI to find the base address such as Intel's IOMMU (DMAR
table), memory mapped PCI space (MCFG table) etc, can be discovered in
userspace. Otherwise, this functionality would need to be built into
gnumach which would be a burden to maintain.
The basic principle of this translator is that it searches for the ACPI
root table within the PnP Extended System Configuration Data (ESCD)
memory region that is sitting at address 0xE0000, then mmaps into it and
extracts the ACPI tables from other physical pointers.
The crux of my method is in acpi.c and the structure of tables is in acpi.h
Please provide feedback, and I can revise as necessary.
Cheers, Damien
This patch provides a translator for mounting x86 ACPI tables under a
path as read-only files. I believe it is needed so that other things
that depend on ACPI to find the base address such as Intel's IOMMU (DMAR
table), memory mapped PCI space (MCFG table) etc, can be discovered in
userspace. Otherwise, this functionality would need to be built into
gnumach which would be a burden to maintain.
The basic principle of this translator is that it searches for the ACPI
root table within the PnP Extended System Configuration Data (ESCD)
memory region that is sitting at address 0xE0000, then mmaps into it and
extracts the ACPI tables from other physical pointers.
The crux of my method is in acpi.c and the structure of tables is in acpi.h
Please provide feedback, and I can revise as necessary.
Cheers, Damien