Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 461a9aff authored by Zachary Amsden's avatar Zachary Amsden Committed by Linus Torvalds
Browse files

[PATCH] x86: add a bootparameter to reserve high linear address space



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: default avatarZachary Amsden <zach@vmware.com>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 052e7994
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1363,6 +1363,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

+18 −0
Original line number Diff line number Diff line
@@ -934,6 +934,24 @@ static void __init parse_cmdline_early (char ** cmdline_p)
	}
}

/*
 * 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.
 */
static int __init parse_reservetop(char *arg)
{
	unsigned long address;

	if (!arg)
		return -EINVAL;

	address = memparse(arg, &arg);
	reserve_top_address(address);
	return 0;
}
early_param("reservetop", parse_reservetop);

/*
 * Callback for efi_memory_walk.
 */