#15196: Patch ACPI/DSDT on the fly and allow fixed DSDT.aml to be sideloaded
--------------------------+------------------------------
Reporter: probono | Owner: tqh
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Drivers/ACPI | Version: R1/Development
Keywords: | Blocked By:
Blocking: | Has a Patch: 0
Platform: x86-64 |
--------------------------+------------------------------
Some machines suffer from severe performance degradation due to buggy
ACPI.
Haiku Boot could
* Patch ACPI/DSDT on the fly
* Allow a manually created, fixed `DSDT.aml` to be sideloaded (for cases
in which the automatic patching is not sufficient)
The Clover bootloader, for example, has this functionality:
* SMBIOS will be corrected to standard 2.6
* ACPI will be corrected to standard 4.0
* Custom DSDT will be loaded from booted partition or from EFI folder
* DSDT patching on the fly by fixes and by patterns
* ACPI tables loading (SSDT-xx, APIC, BOOT, SLIC, SLIT, SRAT, UEFI...)
References
*
https://github.com/RehabMan/Clover/blob/286561fa45bac94412890ac66e2e5283540779aa/CloverPackage/package/Resources/templates/Description.html#L35
*
https://github.com/RehabMan/Clover/blob/043a62caaa6b24fa9330ef13139f68ec6856a311/CloverEFI/OsxAcpiPlatformDxe/AcpiPlatform.c
(Intel Sample ACPI Platform Driver modified to load and install patched
DSDT.aml)
*
https://github.com/RehabMan/Clover/blob/master/rEFIt_UEFI/Platform/AcpiPatcher.c
*
https://github.com/RehabMan/Clover/blob/286561fa45bac94412890ac66e2e5283540779aa/rEFIt_UEFI/Platform/FixBiosDsdt.c
--
Ticket URL: <https://dev.haiku-os.org/ticket/15196>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.