aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2024-01-09 20:52:07 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2024-01-09 21:07:34 +0000
commit5cd08d9ecf52d37229f4888e38631cb91ce97eb9 (patch)
tree96f4b2b7a76aadf9598962292bcc23218a1f75fb
parent09fa78d438a7729f3fbe055d65f0fca4d05c0971 (diff)
downloadsrc-5cd08d9ecf52d37229f4888e38631cb91ce97eb9.tar.gz
src-5cd08d9ecf52d37229f4888e38631cb91ce97eb9.zip
apei: Mark ReadAckRegister resource as shareable
Work around vendors who use the same address for multiple ReadAckRegisters in their ACPI HEST table. This allows apei to attach cleanly on Ampere Altra servers. Note the issue is not specific to Ampere, I've run into it with at least one other vendor (whose server is not yet released). Sponsored by: Netflix Reviewed by: jhb
-rw-r--r--sys/dev/acpica/acpi_apei.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi_apei.c b/sys/dev/acpica/acpi_apei.c
index 6a3d9d10edd4..9cfd46c97430 100644
--- a/sys/dev/acpica/acpi_apei.c
+++ b/sys/dev/acpica/acpi_apei.c
@@ -711,7 +711,7 @@ apei_attach(device_t dev)
if (ge->v1.Header.Type == ACPI_HEST_TYPE_GENERIC_ERROR_V2) {
ge->res2_rid = rid++;
acpi_bus_alloc_gas(dev, &ge->res2_type, &ge->res2_rid,
- &ge->v2.ReadAckRegister, &ge->res2, 0);
+ &ge->v2.ReadAckRegister, &ge->res2, RF_SHAREABLE);
if (ge->res2 == NULL)
device_printf(dev, "Can't allocate ack resource.\n");
}