[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v9 1/6] x86/boot: convert domain construction to use boot info
On 2024-11-15 08:11, Daniel P. Smith wrote: With all the components used to construct dom0 encapsulated in struct boot_info and struct boot_module, it is no longer necessary to pass all them as parameters down the domain construction call chain. Change the parameter list to pass the struct boot_info instance and the struct domain reference. Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c index 3dd913bdb029..d1bdf1b14601 100644 --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -1300,16 +1301,26 @@ static void __hwdom_init pvh_setup_mmcfg(struct domain *d) } }-int __init dom0_construct_pvh(struct domain *d, const module_t *image,- unsigned long image_headroom, - module_t *initrd, - const char *cmdline) +int __init dom0_construct_pvh(struct boot_info *bi, struct domain *d) { paddr_t entry, start_info; + struct boot_module *image; + struct boot_module *initrd = NULL; + unsigned int idx; int rc;printk(XENLOG_INFO "*** Building a PVH Dom%d ***\n", d->domain_id); + idx = first_boot_module_index(bi, BOOTMOD_KERNEL);+ if ( idx >= bi->nr_modules ) What do you think about introducing a new define: #define BOOTMOD_NOT_FOUND (MAX_NR_BOOTMODS + 1) For first_boot_module_index() to return. And then: if ( idx == BOOTMOD_NOT_FOUND ) ? Otherwise it looks good to me, and Andrew's suggestions are good as well. Regards, Jason + panic("Missing kernel boot module for %pd construction\n", d); + + image = &bi->mods[idx]; + + idx = first_boot_module_index(bi, BOOTMOD_RAMDISK); + if ( idx < bi->nr_modules ) + initrd = &bi->mods[idx]; + if ( is_hardware_domain(d) ) { /* @@ -1347,8 +1358,7 @@ int __init dom0_construct_pvh(struct domain *d, const module_t *image,
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |