tools/libxc: Reduce feature handling complexity in xc_cpuid_apply_policy()

xc_cpuid_apply_policy() is gaining extra parameters to untangle CPUID
complexity in Xen.  While an improvement in general, it does have the
unfortunate side effect of duplicating some settings across multiple
parameters.

Rearrange the logic to only consider 'pae' if no explicit featureset is
provided.  This reduces the complexity for callers who have already provided a
pae setting in the featureset.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Paul Durrant <pdurrant@amzn.com>
Acked-by: Wei Liu <wl@xen.org>
This commit is contained in:
Andrew Cooper committed 2020-05-13 20:33:42 +01:00
1 parent 61be48dc02
commit d8a6a8b36d
2 files changed
+12 -2

No files matched your search

+7
View File
@@ -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,
+5 -2
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.