[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/3] x86/pv: Options to disable and/or compile out 32bit PV support
On 17.04.2020 17:50, Andrew Cooper wrote: > This is the start of some performance and security-hardening improvements, > based on the fact that 32bit PV guests are few and far between these days. > > Ring1 is full or architectural corner cases, such as counting as supervisor ... full of ... > --- a/docs/misc/xen-command-line.pandoc > +++ b/docs/misc/xen-command-line.pandoc > @@ -1694,7 +1694,17 @@ The following resources are available: > CDP, one COS will corespond two CBMs other than one with CAT, due to the > sum of CBMs is fixed, that means actual `cos_max` in use will > automatically > reduce to half when CDP is enabled. > - > + > +### pv > + = List of [ 32=<bool> ] > + > + Applicability: x86 > + > +Controls for aspects of PV guest support. > + > +* The `32` boolean controls whether 32bit PV guests can be created. It > + defaults to `true`, and is ignored when `CONFIG_PV32` is compiled out. Rather than ignoring in the way you do, how about ... > --- a/xen/arch/x86/pv/domain.c > +++ b/xen/arch/x86/pv/domain.c > @@ -16,6 +16,39 @@ > #include <asm/pv/domain.h> > #include <asm/shadow.h> > > +#ifdef CONFIG_PV32 > +int8_t __read_mostly opt_pv32 = -1; > +#endif > + > +static int parse_pv(const char *s) > +{ > + const char *ss; > + int val, rc = 0; > + > + do { > + ss = strchr(s, ','); > + if ( !ss ) > + ss = strchr(s, '\0'); > + > + if ( (val = parse_boolean("32", s, ss)) >= 0 ) > + { > +#ifdef CONFIG_PV32 > + opt_pv32 = val; > +#else > + printk(XENLOG_INFO > + "CONFIG_PV32 disabled - ignoring 'pv=32' setting\n"); > +#endif > + } ... moving the #ifdef ahead of the if(), and the #endif here (may want converting to "else if" with a placeholder if(0) for this purpose), with the separate printk() dropped? I'm in particular concerned that we may gain a large number of such printk()s over time, if we added them in such cases. See parse_iommu_param() for how I'd prefer things to look like in the long run. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |