diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h index 0a6ff93229..45ff7db1e8 100644 --- a/tools/libxc/include/xenctrl.h +++ b/tools/libxc/include/xenctrl.h @@ -1798,6 +1798,13 @@ int xc_cpuid_set(xc_interface *xch, const unsigned int *input, const char **config, char **config_transformed); + +/* + * Make adjustments to the CPUID settings for a domain. + * + * Either pass a full new @featureset (and @nr_features), or adjust individual + * features (@pae). + */ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, const uint32_t *featureset, diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c index 5ced6d18b9..f045b03223 100644 --- a/tools/libxc/xc_cpuid_x86.c +++ b/tools/libxc/xc_cpuid_x86.c @@ -532,6 +532,11 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, cpuid_featureset_to_policy(feat, p); } + else + { + if ( di.hvm ) + p->basic.pae = pae; + } if ( !di.hvm ) { @@ -615,8 +620,6 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, break; } - p->basic.pae = pae; - /* * These settings are necessary to cause earlier HVM_PARAM_NESTEDHVM / * XEN_DOMCTL_disable_migrate settings to be reflected correctly in