]> xenbits.xensource.com Git - xen.git/commitdiff
x86/PVH: expose OEMx ACPI tables to Dom0
authorJan Beulich <jbeulich@suse.com>
Thu, 27 Mar 2025 14:25:39 +0000 (15:25 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 27 Mar 2025 14:25:39 +0000 (15:25 +0100)
What they contain we don't know, but we can't sensibly hide them. On my
Skylake system OEM1 (with a description of "INTEL  CPU EIST") is what
contains all the _PCT, _PPC, and _PSS methods, i.e. about everything
needed for cpufreq. (_PSD interestingly are in an SSDT there.)

Further OEM2 there has a description of "INTEL  CPU  HWP", while OEM4
has "INTEL  CPU  CST". Pretty clearly all three need exposing for
cpufreq and cpuidle to work.

Fixes: 8b1a5268daf0 ("pvh/dom0: whitelist PVH Dom0 ACPI tables")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
master commit: 6378909b41c40187a79df1d38ca4791b34393d67
master date: 2025-03-26 12:32:03 +0100

xen/arch/x86/hvm/dom0_build.c

index 2a1bbd6929807600b080ce0bedd01be61345085e..fe8eca28f0c2bbd0fb1161325121629ab09fdda7 100644 (file)
@@ -892,12 +892,20 @@ static bool __init pvh_acpi_table_allowed(const char *sig,
             return true;
         else
         {
+    skip:
             printk("Skipping table %.4s in non-ACPI non-reserved region\n",
                    sig);
             return false;
         }
     }
 
+    if ( !strncmp(sig, "OEM", 3) )
+    {
+        if ( acpi_memory_banned(address, size) )
+            goto skip;
+        return true;
+    }
+
     return false;
 }