[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/3] x86/boot: Refactor pvh_load_kernel() to have an initrd_len local
The expression get more complicated when ->mod_end isn't being abused as a size field. Introduce and use a initrd_len local variable. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> CC: Daniel Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx> CC: Christopher Clark <christopher.w.clark@xxxxxxxxx> --- xen/arch/x86/hvm/dom0_build.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c index ac71d43a6b3f..b0cb96c3bc76 100644 --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -650,6 +650,7 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image, { void *image_start = image_base + image_headroom; unsigned long image_len = image->mod_end; + unsigned long initrd_len = initrd ? initrd->mod_end : 0; struct elf_binary elf; struct elf_dom_parms parms; paddr_t last_addr; @@ -710,7 +711,7 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image, * simplify it. */ last_addr = find_memory(d, &elf, sizeof(start_info) + - (initrd ? ROUNDUP(initrd->mod_end, PAGE_SIZE) + + (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) + sizeof(mod) : 0) + (cmdline ? ROUNDUP(strlen(cmdline) + 1, @@ -725,7 +726,7 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image, if ( initrd != NULL ) { rc = hvm_copy_to_guest_phys(last_addr, mfn_to_virt(initrd->mod_start), - initrd->mod_end, v); + initrd_len, v); if ( rc ) { printk("Unable to copy initrd to guest\n"); @@ -733,8 +734,8 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image, } mod.paddr = last_addr; - mod.size = initrd->mod_end; - last_addr += ROUNDUP(initrd->mod_end, elf_64bit(&elf) ? 8 : 4); + mod.size = initrd_len; + last_addr += ROUNDUP(initrd_len, elf_64bit(&elf) ? 8 : 4); if ( initrd->string ) { char *str = __va(initrd->string); -- 2.30.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |