[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 09/14] xen/x86: split Dom0 build into PV and PVHv2
On Fri, Dec 09, 2016 at 09:07:16AM -0700, Jan Beulich wrote: > >>> On 30.11.16 at 17:49, <roger.pau@xxxxxxxxxx> wrote: > > --- a/docs/misc/xen-command-line.markdown > > +++ b/docs/misc/xen-command-line.markdown > > @@ -656,6 +656,23 @@ affinities to prefer but be not limited to the > > specified node(s). > > > > Pin dom0 vcpus to their respective pcpus > > > > +### dom0 > > +> `= List of [ hvm | shadow ]` > > + > > +> Sub-options: > > + > > +> `hvm` > > + > > +> Default: `false` > > + > > +Flag that makes a dom0 boot in PVHv2 mode. > > + > > +> `shadow` > > + > > +> Default: `false` > > + > > +Flag that makes a dom0 use shadow paging. > > Would you mind marking dom0_shadow deprecated at once? In fact > I wouldn't mind if it was removed from the documentation altogether, > the more that it still has no description at all. Sure, AFAICT it's just removing it from the documentation and a single usage in construct_dom0_pv (the one in compute_dom0_nr_pages needs to stay for PVHv2 Dom0). > > @@ -1655,6 +1653,28 @@ out: > > return rc; > > } > > > > +static int __init construct_dom0_hvm(struct domain *d, const module_t > > *image, > > + unsigned long image_headroom, > > + module_t *initrd, > > + void *(*bootstrap_map)(const module_t > > *), > > + char *cmdline) > > +{ > > + > > + printk("** Building a PVH Dom0 **\n"); > > Why again is it that you call the function "hvm" but mean "pvh"? This was to differentiate between the current "pvh" functions in this file that refer to PVHv1. I could name them pvhv2, but IMHO hvm seems clearer and shorter. > > --- a/xen/arch/x86/setup.c > > +++ b/xen/arch/x86/setup.c > > @@ -187,6 +187,35 @@ static void __init parse_acpi_param(char *s) > > } > > } > > > > +/* > > + * List of parameters that affect Dom0 creation: > > + * > > + * - hvm Create a PVHv2 Dom0. > > + * - shadow Use shadow paging for Dom0. > > + */ > > +static bool __initdata dom0_hvm; > > +static void __init parse_dom0_param(char *s) > > +{ > > + char *ss; > > + > > + do { > > + > > + ss = strchr(s, ','); > > + if ( ss ) > > + *ss = '\0'; > > + > > + if ( !strcmp(s, "hvm") ) > > + dom0_hvm = true; > > +#ifdef CONFIG_SHADOW_PAGING > > + else if ( !strcmp(s, "shadow") ) > > + opt_dom0_shadow = true; > > +#endif > > + > > + s = ss + 1; > > + } while ( ss ); > > +} > > +custom_param("dom0", parse_dom0_param); > > I continue to think that this should live in domain_build.c, and > dom0_hvm be the one off variable which needs to be global. After > all we intend to extend the "dom0=" quite a bit (presumably to > subsume everything which the various "dom0..." options now do), > and all that stuff lives there anyway. opt_dom0_shadow is also needed by setup.c in order to pass the right DOMCRF flags. I don't really mind putting it here or in setup.c, but ATM both options will need to be exported one way or another. > > --- a/xen/include/asm-x86/setup.h > > +++ b/xen/include/asm-x86/setup.h > > @@ -57,4 +57,10 @@ extern uint8_t kbd_shift_flags; > > extern unsigned long highmem_start; > > #endif > > > > +#ifdef CONFIG_SHADOW_PAGING > > +extern bool opt_dom0_shadow; > > +#else > > +#define opt_dom0_shadow 0 > > "false" please, to match up with "bool". Fixed, thanks. Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |