File 68d4ecdf-libacpi-drop-CPU-hotplug-and-GPE-handling.patch of Package xen.41885
# Commit b59e564aa0830f60214b9b5afb4f8543dd1bf2b0
# Date 2025-09-25 09:18:55 +0200
# Author Alejandro Vallejo <alejandro.garciavallejo@amd.com>
# Committer Jan Beulich <jbeulich@suse.com>
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 <alejandro.garciavallejo@amd.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
--- 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 ****/