[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 41/44] x86/boot: add struct domain to struct boot_domain
Store a reference to the created domain in struct boot_domain. Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx> --- xen/arch/x86/include/asm/bootdomain.h | 3 +++ xen/arch/x86/setup.c | 15 +++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/xen/arch/x86/include/asm/bootdomain.h b/xen/arch/x86/include/asm/bootdomain.h index 00f7d9267965..2322c459e36a 100644 --- a/xen/arch/x86/include/asm/bootdomain.h +++ b/xen/arch/x86/include/asm/bootdomain.h @@ -10,6 +10,7 @@ #include <public/xen.h> +struct domain; struct boot_module; struct boot_domain { @@ -19,6 +20,8 @@ struct boot_domain { struct boot_module *kernel; struct boot_module *ramdisk; + + struct domain *d; }; #endif diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 2c1aa1475c4e..872d51310628 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -963,7 +963,6 @@ static struct domain *__init create_dom0(const struct boot_info *bi) }, }; struct boot_domain *bd = &bi->domains[0]; - struct domain *d; if ( opt_dom0_pvh ) { @@ -980,13 +979,13 @@ static struct domain *__init create_dom0(const struct boot_info *bi) /* Create initial domain. Not d0 for pvshim. */ bd->domid = get_initial_domain_id(); - d = domain_create(bd->domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged); - if ( IS_ERR(d) ) - panic("Error creating d%u: %ld\n", bd->domid, PTR_ERR(d)); + bd->d = domain_create(bd->domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged); + if ( IS_ERR(bd->d) ) + panic("Error creating d%u: %ld\n", bd->domid, PTR_ERR(bd->d)); - init_dom0_cpuid_policy(d); + init_dom0_cpuid_policy(bd->d); - if ( alloc_dom0_vcpu0(d) == NULL ) + if ( alloc_dom0_vcpu0(bd->d) == NULL ) panic("Error creating d%uv0\n", bd->domid); /* Grab the DOM0 command line. */ @@ -1029,7 +1028,7 @@ static struct domain *__init create_dom0(const struct boot_info *bi) write_cr4(read_cr4() & ~X86_CR4_SMAP); } - if ( construct_dom0(d, bd->kernel, bd->ramdisk, bd->cmdline) != 0 ) + if ( construct_dom0(bd->d, bd->kernel, bd->ramdisk, bd->cmdline) != 0 ) panic("Could not construct domain 0\n"); if ( cpu_has_smap ) @@ -1038,7 +1037,7 @@ static struct domain *__init create_dom0(const struct boot_info *bi) cr4_pv32_mask |= X86_CR4_SMAP; } - return d; + return bd->d; } /* How much of the directmap is prebuilt at compile time. */ -- 2.30.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |