From Jérôme Duval <jerome.duval@xxxxxxxxx>:
Jérôme Duval has uploaded this change for review. (
https://review.haiku-os.org/c/haiku/+/2740 ;)
Change subject: bios_ia32: continue on invalid ACPI RSDT/XSDT table checksum
......................................................................
bios_ia32: continue on invalid ACPI RSDT/XSDT table checksum
like ACPICA does by default. should help with #16055.
---
M src/system/boot/platform/bios_ia32/acpi.cpp
1 file changed, 7 insertions(+), 11 deletions(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/40/2740/1
diff --git a/src/system/boot/platform/bios_ia32/acpi.cpp
b/src/system/boot/platform/bios_ia32/acpi.cpp
index 3880962..c834e21 100644
--- a/src/system/boot/platform/bios_ia32/acpi.cpp
+++ b/src/system/boot/platform/bios_ia32/acpi.cpp
@@ -26,6 +26,7 @@
#else
# define TRACE(x) ;
#endif
+# define ERROR(x...) dprintf(x)
static struct scan_spots_struct acpi_scan_spots[] = {
{ 0x0, 0x400, 0x400 - 0x0 },
@@ -135,18 +136,13 @@
if (rsdt != NULL) {
if (acpi_validate_rsdt(rsdt) != B_OK) {
- TRACE(("acpi: rsdt failed checksum validation\n"));
- mmu_free(rsdt, length);
- return B_ERROR;
- } else {
- if (usingXsdt)
- sAcpiXsdt = rsdt;
- else
- sAcpiRsdt = rsdt;
- TRACE(("acpi: found valid %s at %p\n",
- usingXsdt ? ACPI_XSDT_SIGNATURE :
ACPI_RSDT_SIGNATURE,
- rsdt));
+ ERROR("acpi: %.4s failed checksum validation\n",
rsdt->signature);
}
+ if (usingXsdt)
+ sAcpiXsdt = rsdt;
+ else
+ sAcpiRsdt = rsdt;
+ TRACE(("acpi: found valid %.4s at %p\n", rsdt->signature,
rsdt));
} else
return B_ERROR;
--
To view, visit https://review.haiku-os.org/c/haiku/+/2740
To unsubscribe, or for help writing mail filters, visit
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I2379d99ecda93007b0dd316b3c94eb1a36ccd7e5
Gerrit-Change-Number: 2740
Gerrit-PatchSet: 1
Gerrit-Owner: Jérôme Duval <jerome.duval@xxxxxxxxx>
Gerrit-MessageType: newchange