• Frederik Haxel's avatar
    riscv: Allow disabling of BUILTIN_DTB for XIP · 6c4a2f63
    Frederik Haxel authored
    This enables, among other things, testing with the QEMU virt machine.
    
    To build an XIP kernel for the QEMU virt machine, configure the
    the kernel as desired and apply the following configuration
    ```
    CONFIG_NONPORTABLE=y
    CONFIG_XIP_KERNEL=y
    CONFIG_XIP_PHYS_ADDR=0x20000000
    CONFIG_PHYS_RAM_BASE=0x80200000
    CONFIG_BUILTIN_DTB=n
    ```
    
    Since the QEMU virt flash memory expects a 32 MB file, the built image
    must be padded. For example, with
    `truncate -s 32M arch/riscv/boot/xipImage`
    
    The kernel can be started using the following command in QEMU (v8+)
    ```
    qemu-system-riscv64 -M virt,pflash0=pflash0 \
     -blockdev node-name=pflash0,driver=file,read-only=on,\
    filename=arch/riscv/boot/xipImage <optional parameters>
    ```
    Signed-off-by: default avatarFrederik Haxel <haxel@fzi.de>
    Link: https://lore.kernel.org/r/20231212130116.848530-4-haxel@fzi.deSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    6c4a2f63
head.S 9.41 KB