x86, boot: Support loading bzImage, boot_params and ramdisk above 4G
authorYinghai Lu <yinghai@kernel.org>
Tue, 29 Jan 2013 04:16:44 +0000 (20:16 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 30 Jan 2013 03:32:33 +0000 (19:32 -0800)
commitee92d815027a76ef92f3ec7b155b0c8aa345f239
treea5315ec33bba27ada3247e7e045912827f05a5e1
parent0e691cf824f76adefb4498fe39c300aba2c2575a
x86, boot: Support loading bzImage, boot_params and ramdisk above 4G

xloadflags bit 1 indicates that we can load the kernel and all data
structures above 4G; it is set if kernel is relocatable and 64bit.

bootloader will check if xloadflags bit 1 is set to decide if
it could load ramdisk and kernel high above 4G.

bootloader will fill value to ext_ramdisk_image/size for high 32bits
when it load ramdisk above 4G.
kernel use get_ramdisk_image/size to use ext_ramdisk_image/size to get
right positon for ramdisk.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Rob Landley <rob@landley.net>
Cc: Matt Fleming <matt.fleming@intel.com>
Cc: Gokul Caushik <caushik1@gmail.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Joe Millenbach <jmillenbach@gmail.com>
Link: http://lkml.kernel.org/r/1359058816-7615-26-git-send-email-yinghai@kernel.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/boot/compressed/cmdline.c
arch/x86/boot/header.S
arch/x86/kernel/head64.c
arch/x86/kernel/setup.c