32-bit kernel does not boot on QEMU 5.1.0 'virt'

Bin Meng bmeng.cn at gmail.com
Wed Dec 16 01:53:28 EST 2020


Hi Atish,

A 32-bit kernel built from kernel 5.10 tag does not boot on QEMU 5.1.0 'virt'.

git bisect shows that the following commit breaks the 32-bit boot:

1bd14a66ee5200d6a24419cbd2e0a0fccd4da36f is the first bad commit
commit 1bd14a66ee5200d6a24419cbd2e0a0fccd4da36f
Author: Atish Patra <atish.patra at wdc.com>
Date:   Wed Oct 7 14:51:59 2020 -0700

    RISC-V: Remove any memblock representing unusable memory area

    RISC-V limits the physical memory size by -PAGE_OFFSET. Any memory beyond
    that size from DRAM start is unusable. Just remove any memblock pointing
    to those memory region without worrying about computing the maximum size.

    Signed-off-by: Atish Patra <atish.patra at wdc.com>
    Reviewed-by: Mike Rapoport <rppt at linux.ibm.com>
    Signed-off-by: Palmer Dabbelt <palmerdabbelt at google.com>

:040000 040000 7c73868aed798c5ce33d6e75124903f716c445cf
1070db6e44e80c08fe6537e70f9beea5cde23154 M        arch

Reverting this commit solves the problem. Would you please take a look?

Note QEMU 5.1.0 must be used to reproduce the problem. The latest QEMU
has switched to fw_dynamic OpenSBI binary and seems to have a problem
too.

Regards,
Bin



More information about the linux-riscv mailing list