mips/malta: load the initrd at the end of the low memory
Currently the malta board is loading the initrd just after the kernel. This doesn't work for kaslr enabled kernels, as the initrd ends-up being overwritten. Move the initrd at the end of the low memory, that should leave a sufficient gap for kaslr. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Tested-by: Yongbok Kim <yongbok.kim@imgtec.com> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
This commit is contained in:
parent
cab4888136
commit
9768e2abf7
|
@ -841,8 +841,9 @@ static int64_t load_kernel (void)
|
|||
if (loaderparams.initrd_filename) {
|
||||
initrd_size = get_image_size (loaderparams.initrd_filename);
|
||||
if (initrd_size > 0) {
|
||||
initrd_offset = (kernel_high + ~INITRD_PAGE_MASK) & INITRD_PAGE_MASK;
|
||||
if (initrd_offset + initrd_size > ram_size) {
|
||||
initrd_offset = (loaderparams.ram_low_size - initrd_size
|
||||
- ~INITRD_PAGE_MASK) & INITRD_PAGE_MASK;
|
||||
if (kernel_high >= initrd_offset) {
|
||||
fprintf(stderr,
|
||||
"qemu: memory too small for initial ram disk '%s'\n",
|
||||
loaderparams.initrd_filename);
|
||||
|
|
Loading…
Reference in a new issue