From b59e564aa0830f60214b9b5afb4f8543dd1bf2b0 Mon Sep 17 00:00:00 2001 From: Alejandro Vallejo Date: Thu, 25 Sep 2025 09:18:55 +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 --- 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 8ac4f9d0b4..f71de6c8c6 100644 --- a/tools/libacpi/mk_dsdt.c +++ b/tools/libacpi/mk_dsdt.c @@ -218,6 +218,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", @@ -264,10 +269,6 @@ int main(int argc, char **argv) pop_block(); pop_block(); - if (dm_version == QEMU_NONE) { - pop_block(); - return 0; - } /**** Processor end ****/