Commit 9768e2ab authored by Aurelien Jarno's avatar Aurelien Jarno Committed by Yongbok Kim
Browse files

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: default avatarAurelien Jarno <aurelien@aurel32.net>
Tested-by: default avatarYongbok Kim <yongbok.kim@imgtec.com>
Signed-off-by: default avatarYongbok Kim <yongbok.kim@imgtec.com>
parent cab48881
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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);