On Thu, Jan 03, 2013 at 04:48:32PM -0800, Yinghai Lu wrote: > There are several places to find ramdisk information early for reserving > and relocating. > > Use functions to make code more readable and consistent. > > Later will add ext_ramdisk_image/size in those functions to support > loading ramdisk above 4g. > > Signed-off-by: Yinghai Lu <ying...@kernel.org> > --- > arch/x86/kernel/setup.c | 29 +++++++++++++++++++++-------- > 1 file changed, 21 insertions(+), 8 deletions(-) > > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c > index 1b8a8cc..644a123 100644 > --- a/arch/x86/kernel/setup.c > +++ b/arch/x86/kernel/setup.c > @@ -294,12 +294,25 @@ static void __init reserve_brk(void) > > #ifdef CONFIG_BLK_DEV_INITRD > > +static u64 __init get_ramdisk_image(void) > +{ > + u64 ramdisk_image = boot_params.hdr.ramdisk_image; > + > + return ramdisk_image;
just do return (u64)boot_params.hdr.ramdisk_image; > +} > +static u64 __init get_ramdisk_size(void) > +{ > + u64 ramdisk_size = boot_params.hdr.ramdisk_size; ditto. > + > + return ramdisk_size; > +} > + > #define MAX_MAP_CHUNK (NR_FIX_BTMAPS << PAGE_SHIFT) > static void __init relocate_initrd(void) > { > /* Assume only end is not page aligned */ > - u64 ramdisk_image = boot_params.hdr.ramdisk_image; > - u64 ramdisk_size = boot_params.hdr.ramdisk_size; > + u64 ramdisk_image = get_ramdisk_image(); > + u64 ramdisk_size = get_ramdisk_size(); > u64 area_size = PAGE_ALIGN(ramdisk_size); > u64 ramdisk_here; > unsigned long slop, clen, mapaddr; > @@ -338,8 +351,8 @@ static void __init relocate_initrd(void) > ramdisk_size -= clen; > } > > - ramdisk_image = boot_params.hdr.ramdisk_image; > - ramdisk_size = boot_params.hdr.ramdisk_size; > + ramdisk_image = get_ramdisk_image(); > + ramdisk_size = get_ramdisk_size(); > printk(KERN_INFO "Move RAMDISK from [mem %#010llx-%#010llx] to" > " [mem %#010llx-%#010llx]\n", > ramdisk_image, ramdisk_image + ramdisk_size - 1, > @@ -363,8 +376,8 @@ static u64 __init get_mem_size(unsigned long limit_pfn) > static void __init early_reserve_initrd(void) > { > /* Assume only end is not page aligned */ > - u64 ramdisk_image = boot_params.hdr.ramdisk_image; > - u64 ramdisk_size = boot_params.hdr.ramdisk_size; > + u64 ramdisk_image = get_ramdisk_image(); > + u64 ramdisk_size = get_ramdisk_size(); > u64 ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size); > > if (!boot_params.hdr.type_of_loader || > @@ -376,8 +389,8 @@ static void __init early_reserve_initrd(void) > static void __init reserve_initrd(void) > { > /* Assume only end is not page aligned */ > - u64 ramdisk_image = boot_params.hdr.ramdisk_image; > - u64 ramdisk_size = boot_params.hdr.ramdisk_size; > + u64 ramdisk_image = get_ramdisk_image(); > + u64 ramdisk_size = get_ramdisk_size(); > u64 ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size); > u64 mapped_size; > > -- > 1.7.10.4 > > -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/