[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] tools/libxc: Reduce feature handling complexity in xc_cpuid_apply_policy()
Tools ping? ~Andrew On 03/03/2020 18:23, Andrew Cooper wrote: > 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 muliple > 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@xxxxxxxxxx> > --- > CC: Jan Beulich <JBeulich@xxxxxxxx> > CC: Wei Liu <wl@xxxxxxx> > CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> > CC: Ian Jackson <Ian.Jackson@xxxxxxxxxx> > --- > tools/libxc/include/xenctrl.h | 6 ++++++ > tools/libxc/xc_cpuid_x86.c | 7 +++++-- > 2 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h > index fc6e57a1a0..8d13a7e20b 100644 > --- a/tools/libxc/include/xenctrl.h > +++ b/tools/libxc/include/xenctrl.h > @@ -1798,6 +1798,12 @@ 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |