mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-28 00:38:53 +00:00
29 lines
983 B
Diff
29 lines
983 B
Diff
diff --recursive -u ./clean/linux-4.9.80/arch/x86/realmode/init.c linux-4.9.80/arch/x86/realmode/init.c
|
|
--- ./clean/linux-4.9.80/arch/x86/realmode/init.c 2018-02-03 11:05:43.000000000 -0500
|
|
+++ linux-4.9.80/arch/x86/realmode/init.c 2018-02-07 15:51:28.538500435 -0500
|
|
@@ -35,8 +35,8 @@
|
|
/* Has to be under 1M so we can execute real-mode AP code. */
|
|
mem = memblock_find_in_range(0, 1<<20, size, PAGE_SIZE);
|
|
if (!mem) {
|
|
- pr_info("No sub-1M memory is available for the trampoline\n");
|
|
- return;
|
|
+ mem = 0x4000;
|
|
+ pr_info("No sub-1M memory is available for the trampoline, guessing %p\n", mem);
|
|
}
|
|
|
|
memblock_reserve(mem, size);
|
|
@@ -138,7 +138,12 @@
|
|
static int __init init_real_mode(void)
|
|
{
|
|
if (!real_mode_header)
|
|
- panic("Real mode trampoline was not allocated");
|
|
+ {
|
|
+ // ignore for now
|
|
+ //panic("Real mode trampoline was not allocated");
|
|
+ pr_warn("Real mode trampoline was not allocated");
|
|
+ return 0;
|
|
+ }
|
|
|
|
setup_real_mode();
|
|
set_real_mode_permissions();
|