[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [V12 PATCH 4/4] dom0: add opt_dom0pvh to setup.c
Finally last patch in the series to enable creation of pvh dom0. A pvh dom0 is created by adding dom0pvh to grub xen command line. Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> --- docs/misc/pvh-readme.txt | 2 ++ docs/misc/xen-command-line.markdown | 7 +++++++ xen/arch/x86/setup.c | 11 +++++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/misc/pvh-readme.txt b/docs/misc/pvh-readme.txt index 9fea137..c5b3de4 100644 --- a/docs/misc/pvh-readme.txt +++ b/docs/misc/pvh-readme.txt @@ -37,6 +37,8 @@ supported. Phase I patches are broken into three parts: - tools changes for creating a PVH guest - boot of 64bit dom0 in PVH mode. +To boot 64bit dom0 in PVH mode, add dom0pvh to grub xen command line. + Following fixme's exist in the code: - arch/x86/time.c: support more tsc modes. diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown index 7dc938b..d248c62 100644 --- a/docs/misc/xen-command-line.markdown +++ b/docs/misc/xen-command-line.markdown @@ -494,6 +494,13 @@ Practices](http://wiki.xen.org/wiki/Xen_Best_Practices#Xen_dom0_dedicated_memory Pin dom0 vcpus to their respective pcpus +### dom0pvh +> `= <boolean>` + +> Default: `false` + +Flag that makes a 64bit dom0 boot in PVH mode. No 32bit support at present. + ### e820-mtrr-clip > `= <boolean>` diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 2e30701..373e236 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -61,6 +61,10 @@ integer_param("maxcpus", max_cpus); static bool_t __initdata disable_smep; invbool_param("smep", disable_smep); +/* Boot dom0 in pvh mode */ +static bool_t __initdata opt_dom0pvh; +boolean_param("dom0pvh", opt_dom0pvh); + /* **** Linux config option: propagated to domain0. */ /* "acpi=off": Sisables both ACPI table parsing and interpreter. */ /* "acpi=force": Override the disable blacklist. */ @@ -541,7 +545,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) { char *memmap_type = NULL; char *cmdline, *kextra, *loader; - unsigned int initrdidx; + unsigned int initrdidx, domcr_flags = DOMCRF_s3_integrity; multiboot_info_t *mbi = __va(mbi_p); module_t *mod = (module_t *)__va(mbi->mods_addr); unsigned long nr_pages, raw_max_page, modules_headroom, *module_map; @@ -1338,8 +1342,11 @@ void __init noreturn __start_xen(unsigned long mbi_p) if ( !tboot_protect_mem_regions() ) panic("Could not protect TXT memory regions"); + if ( opt_dom0pvh ) + domcr_flags |= DOMCRF_pvh | DOMCRF_hap; + /* Create initial domain 0. */ - dom0 = domain_create(0, DOMCRF_s3_integrity, 0); + dom0 = domain_create(0, domcr_flags, 0); if ( IS_ERR(dom0) || (alloc_dom0_vcpu0(dom0) == NULL) ) panic("Error creating domain 0"); -- 1.8.3.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |