There were two report of boot failure cased by trampoline placed into
a reserved memory region. It can happen on machines that don't report
EBDA correctly.
Fix the problem by re-validating the found address against the E820 table.
If the address is in a reserved area, find the next usable region below the
initial address.
Fixes:
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| cmdline.c | ||
| cpuflags.c | ||
| early_serial_console.c | ||
| eboot.c | ||
| eboot.h | ||
| efi_stub_32.S | ||
| efi_stub_64.S | ||
| efi_thunk_64.S | ||
| error.c | ||
| error.h | ||
| head_32.S | ||
| head_64.S | ||
| kaslr.c | ||
| kaslr_64.c | ||
| Makefile | ||
| mem_encrypt.S | ||
| misc.c | ||
| misc.h | ||
| mkpiggy.c | ||
| pgtable.h | ||
| pgtable_64.c | ||
| string.c | ||
| vmlinux.lds.S | ||