|
@@ -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.
|
|
* Callback for efi_memory_walk.
|
|
*/
|
|
*/
|