[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/dom0: Improve dom0= useability
commit 53a84f672df7eb183c857f028dfa80974bf61dd6 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Fri Dec 7 13:43:27 2018 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Mon Jan 21 18:11:34 2019 +0000 x86/dom0: Improve dom0= useability Having a pvh boolean isn't ideal. If we gain a 3rd virtulsation mode, what does `dom0=no-pvh` mean? Change the syntax to be "dom0 = pv | pvh" which offers an option to more obviously select PV mode. Hide both options behind the relevent CONFIG_* settings, and default to PVH mode when CONFIG_PV is compiled out. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Release-acked-by: Juergen Gross <jgross@xxxxxxxx> --- docs/misc/xen-command-line.pandoc | 16 +++++++++------- xen/arch/x86/dom0_build.c | 8 +++++--- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc index 7aaf922265..21d7b4a37f 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -637,21 +637,23 @@ trace feature is only enabled in debugging builds of Xen. Specify the bit width of the DMA heap. ### dom0 - = List of [ pvh=<bool>, shadow=<bool>, verbose=<bool> ] + = List of [ pv | pvh, shadow=<bool>, verbose=<bool> ] Applicability: x86 Controls for how dom0 is constructed on x86 systems. -* The `pvh` boolean controls whether dom0 is constructed as a PV or a PVH - guest. The default is PV. In addition, the following requirements must - be met: +* The `pv` and `pvh` options select the virtualisation mode of dom0. + + The `pv` option is only available when `CONFIG_PV` is compiled in. The + `pvh` option is only available when `CONFIG_HVM` is compiled in. When + both options are compiled in, the default is PV. + + In addition, the following requirements must be met: * The dom0 kernel selected by the boot loader must be capable of the selected mode. - * For a PV dom0, Xen must have been compiled with `CONFIG_PV` enabled. - * For a PVH dom0, Xen must have been compiled with `CONFIG_HVM` enabled, - and the hardware must have VT-x/SVM extensions available. + * For a PVH dom0, the hardware must have VT-x/SVM extensions available. * The `shadow` boolean is only applicable when dom0 is constructed as a PVH guest, and controls whether dom0 uses hardware assisted paging, or shadow diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c index 7f6ee7f005..2b4d9e9ea6 100644 --- a/xen/arch/x86/dom0_build.c +++ b/xen/arch/x86/dom0_build.c @@ -280,7 +280,7 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0) #ifdef CONFIG_SHADOW_PAGING bool __initdata opt_dom0_shadow; #endif -bool __initdata dom0_pvh; +bool __initdata dom0_pvh = !IS_ENABLED(CONFIG_PV); bool __initdata dom0_verbose; static int __init parse_dom0_param(const char *s) @@ -295,8 +295,10 @@ static int __init parse_dom0_param(const char *s) if ( !ss ) ss = strchr(s, '\0'); - if ( (val = parse_boolean("pvh", s, ss)) >= 0 ) - dom0_pvh = val; + if ( IS_ENABLED(CONFIG_PV) && !cmdline_strcmp(s, "pv") ) + dom0_pvh = false; + else if ( IS_ENABLED(CONFIG_HVM) && !cmdline_strcmp(s, "pvh") ) + dom0_pvh = true; #ifdef CONFIG_SHADOW_PAGING else if ( (val = parse_boolean("shadow", s, ss)) >= 0 ) opt_dom0_shadow = val; -- generated by git-patchbot for /home/xen/git/xen.git#staging _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |