diff options
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/setup.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 060c68004be..16d99444cf6 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c @@ -935,6 +935,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. */ static int __init |