The patch titled x86: add a bootparameter to reserve high linear address space has been added to the -mm tree. Its filename is x86-add-a-bootparameter-to-reserve-high-linear-address-space.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: x86: add a bootparameter to reserve high linear address space From: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx> Add a boot parameter to reserve high linear address space for hypervisors. This is necessary to allow dynamically loaded hypervisor modules, which might not happen until userspace is already running, and also provides a useful tool to benchmark the performance impact of reduced lowmem address space. Signed-off-by: Zachary Amsden <zach@xxxxxxxxxx> Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/kernel-parameters.txt | 5 +++++ arch/i386/kernel/setup.c | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff -puN arch/i386/kernel/setup.c~x86-add-a-bootparameter-to-reserve-high-linear-address-space arch/i386/kernel/setup.c --- a/arch/i386/kernel/setup.c~x86-add-a-bootparameter-to-reserve-high-linear-address-space +++ a/arch/i386/kernel/setup.c @@ -162,6 +162,12 @@ static char command_line[COMMAND_LINE_SI unsigned char __initdata boot_params[PARAM_SIZE]; +static int __init setup_reservetop(char *s) +{ + return 1; +} +__setup("reservetop", setup_reservetop); + static struct resource data_resource = { .name = "Kernel data", .start = 0, @@ -916,6 +922,19 @@ static void __init parse_cmdline_early ( else if (!memcmp(from, "vmalloc=", 8)) __VMALLOC_RESERVE = memparse(from+8, &from); + /* + * reservetop=size reserves a hole at the top of the kernel + * address space which a hypervisor can load into later. + * Needed for dynamically loaded hypervisors, so relocating + * the fixmap can be done before paging initialization. + * This hole must be a multiple of 4M. + */ + else if (!memcmp(from, "reservetop=", 11)) { + unsigned long reserve = memparse(from+11, &from); + reserve &= ~0x3fffff; + reserve_top_address(reserve); + } + next_char: c = *(from++); if (!c) diff -puN Documentation/kernel-parameters.txt~x86-add-a-bootparameter-to-reserve-high-linear-address-space Documentation/kernel-parameters.txt --- a/Documentation/kernel-parameters.txt~x86-add-a-bootparameter-to-reserve-high-linear-address-space +++ a/Documentation/kernel-parameters.txt @@ -1357,6 +1357,11 @@ running once the system is up. reserve= [KNL,BUGS] Force the kernel to ignore some iomem area + reservetop= [IA-32] + Format: nn[KMG] + Reserves a hole at the top of the kernel virtual + address space. + resume= [SWSUSP] Specify the partition device for software suspend _ Patches currently in -mm which might be from jeremy@xxxxxxxxxxxxx are x86-remove-locally-defined-ldt-structure-in-favour-of-standard-type.patch x86-implement-always-locked-bit-ops-for-memory-shared-with-an-smp-hypervisor.patch x86-allow-a-kernel-to-not-be-in-ring-0.patch x86-replace-sensitive-instructions-with-macros.patch x86-roll-all-the-cpuid-asm-into-one-__cpuid-call.patch x86-make-__fixaddr_top-variable-to-allow-it-to-make-space-for-a-hypervisor.patch x86-add-a-bootparameter-to-reserve-high-linear-address-space.patch x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html