From 030b9ade00a374e233a67bd4040d974c8294956e Mon Sep 17 00:00:00 2001 From: Alejandro Vallejo Date: Tue, 21 Oct 2025 15:26:35 +0200 Subject: [PATCH] libacpi: Remove CPU hotplug and GPE handling from PVH DSDTs PVH guests have no DM, so this causes the guest to fetch the online CPU bitmap from an unbacked 0xaf00 PIO port when executing the GPE handler. Seeing how ACPI CPU hotplug is the only event delivered via GPE, remove the GPE handler in addition to anything ACPI CPU hotplug related. This shrinks PVH's DSDT substantially and prevents spuriously executing a large amount of AML with no purpose at all. Fixes: 062975dc9441("acpi: PVH guests need _E02 method") Signed-off-by: Alejandro Vallejo Reviewed-by: Jan Beulich master commit: b59e564aa0830f60214b9b5afb4f8543dd1bf2b0 master date: 2025-09-25 09:18:55 +0200 --- tools/libacpi/mk_dsdt.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c index 34f6753f61..0b1818d4e8 100644 --- a/tools/libacpi/mk_dsdt.c +++ b/tools/libacpi/mk_dsdt.c @@ -237,6 +237,11 @@ int main(int argc, char **argv) pop_block(); /**** Processor end ****/ #else + if (dm_version == QEMU_NONE) { + pop_block(); + pop_block(); + return 0; + } /* Operation Region 'PRST': bitmask of online CPUs. */ stmt("OperationRegion", "PRST, SystemIO, %#x, %d", @@ -285,10 +290,6 @@ int main(int argc, char **argv) pop_block(); pop_block(); - if (dm_version == QEMU_NONE) { - pop_block(); - return 0; - } /**** Processor end ****/