[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] tools/libxc: Fix HVM_PARAM_PAE_ENABLED handling in xc_cpuid_apply_policy()
Despite as suggested in c/s 685e922d6f3, not all HVM_PARAMs are handled in the same way. HVM_PARAM_PAE_ENABLED is a toolstack-only value, and the xc_cpuid_apply_policy() used to be the only consumer. Reinstate the old behaviour (mad as it is) to avoid regressions. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Wei Liu <wl@xxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxx> Spotted while trying to come up with a less mad behaviour, and wondering where the consumer had disappaered to. This needs backporting to 4.13. I was tempted to not fix it for the general security betterness of the world (disabling PAE disables NX and 64bit), and while I could probably get away with it, it would a little rude to do so. --- tools/libxc/xc_cpuid_x86.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c index 519d6d8bd0..2540aa1e1c 100644 --- a/tools/libxc/xc_cpuid_x86.c +++ b/tools/libxc/xc_cpuid_x86.c @@ -579,6 +579,8 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, } else { + uint64_t val; + /* * Topology for HVM guests is entirely controlled by Xen. For now, we * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT. @@ -633,6 +635,16 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, } /* + * HVM_PARAM_PAE_ENABLED is a parameter to this function, stashed in + * Xen. Nothing else has ever taken notice of the value. + */ + rc = xc_hvm_param_get(xch, domid, HVM_PARAM_PAE_ENABLED, &val); + if ( rc ) + goto out; + + p->basic.pae = val; + + /* * These settings are necessary to cause earlier HVM_PARAM_NESTEDHVM / * XEN_DOMCTL_disable_migrate settings to be reflected correctly in * CPUID. Xen will discard these bits if configuration hasn't been -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |