diff options
author | Jonathan Neuschäfer <j.neuschaefer@gmx.net> | 2018-12-12 01:08:24 +0100 |
---|---|---|
committer | Patrick Rudolph <siro@das-labor.org> | 2019-08-08 13:03:59 +0000 |
commit | 3a4511eb6cb395b86f425bd6a8474ab35c554531 (patch) | |
tree | ee1f8a37cb9e516cc28629cd0f2279842f9d6f6d /payloads | |
parent | 2a20d13c3935f826a71c635d07dd142bfd84d9dd (diff) |
arch/riscv: Enable FIT support
Tested on qemu-riscv.
Depends on OpenSBI integration and proper memory detection in qemu.
Boots into Linux until initrd should be loaded.
Tested on SiFive/unleashed:
Boots into Linux until earlycon terminates.
Change-Id: I5ebc6cc2cc9e328f36d70fba13555386bb8c29d6
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/30292
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'payloads')
-rw-r--r-- | payloads/Kconfig | 6 | ||||
-rw-r--r-- | payloads/external/LinuxBoot/Kconfig | 15 | ||||
-rw-r--r-- | payloads/external/LinuxBoot/Kconfig.name | 2 | ||||
-rw-r--r-- | payloads/external/linux/Kconfig.name | 2 |
4 files changed, 16 insertions, 9 deletions
diff --git a/payloads/Kconfig b/payloads/Kconfig index d0f8a44080..46cfaf5ad0 100644 --- a/payloads/Kconfig +++ b/payloads/Kconfig @@ -30,7 +30,7 @@ config PAYLOAD_ELF config PAYLOAD_FIT bool "A FIT payload" - depends on ARCH_ARM64 + depends on ARCH_ARM64 || ARCH_RISCV select PAYLOAD_FIT_SUPPORT help Select this option if you have a payload image (a FIT file) which @@ -99,8 +99,8 @@ config PAYLOAD_IS_FLAT_BINARY config PAYLOAD_FIT_SUPPORT bool "FIT support" default n - default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64) - depends on ARCH_ARM64 + default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV) + depends on ARCH_ARM64 || ARCH_RISCV select FLATTENED_DEVICE_TREE help Select this option if your payload is of type FIT. diff --git a/payloads/external/LinuxBoot/Kconfig b/payloads/external/LinuxBoot/Kconfig index 84af49ccc0..a91288bca7 100644 --- a/payloads/external/LinuxBoot/Kconfig +++ b/payloads/external/LinuxBoot/Kconfig @@ -39,6 +39,13 @@ config LINUXBOOT_ARM64 help AARCH64 kernel and initramfs +config LINUXBOOT_RISCV + bool "RISC-V" + depends on ARCH_RISCV + select PAYLOAD_FIT_SUPPORT + help + RISC-V kernel and initramfs + endchoice comment "Linux kernel" @@ -126,7 +133,7 @@ config LINUXBOOT_KERNEL_CONFIGFILE choice prompt "Kernel binary format" default LINUXBOOT_KERNEL_BZIMAGE if LINUXBOOT_X86 || LINUXBOOT_X86_64 - default LINUXBOOT_KERNEL_UIMAGE if LINUXBOOT_ARM64 + default LINUXBOOT_KERNEL_UIMAGE if LINUXBOOT_ARM64 || LINUXBOOT_RISCV config LINUXBOOT_KERNEL_BZIMAGE bool "bzImage" @@ -134,14 +141,14 @@ config LINUXBOOT_KERNEL_BZIMAGE config LINUXBOOT_KERNEL_UIMAGE bool "uImage" - depends on LINUXBOOT_ARM64 + depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV endchoice config LINUXBOOT_DTB_FILE string "Compiled devicetree file" - depends on LINUXBOOT_ARM64 + depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV default "" endif #LINUXBOOT_COMPILE_KERNEL @@ -154,7 +161,7 @@ config LINUX_COMMAND_LINE config PAYLOAD_FILE default "payloads/external/LinuxBoot/linuxboot/bzImage" if LINUXBOOT_COMPILE_KERNEL && ( LINUXBOOT_X86 || LINUXBOOT_X86_64 ) - default "payloads/external/LinuxBoot/linuxboot/uImage" if LINUXBOOT_COMPILE_KERNEL && LINUXBOOT_ARM64 + default "payloads/external/LinuxBoot/linuxboot/uImage" if LINUXBOOT_COMPILE_KERNEL && (LINUXBOOT_ARM64 || LINUXBOOT_RISCV) default LINUXBOOT_KERNEL_PATH if !LINUXBOOT_COMPILE_KERNEL comment "Linux initramfs" diff --git a/payloads/external/LinuxBoot/Kconfig.name b/payloads/external/LinuxBoot/Kconfig.name index 18438c7861..c59a8bcee9 100644 --- a/payloads/external/LinuxBoot/Kconfig.name +++ b/payloads/external/LinuxBoot/Kconfig.name @@ -14,7 +14,7 @@ config PAYLOAD_LINUXBOOT bool "LinuxBoot" - depends on ARCH_X86 || ARCH_ARM64 + depends on ARCH_X86 || ARCH_ARM64 || ARCH_RISCV help Select this option if you want to build a coreboot image with a LinuxBoot payload. If you don't know what this is diff --git a/payloads/external/linux/Kconfig.name b/payloads/external/linux/Kconfig.name index 63621d88c7..493eb982ef 100644 --- a/payloads/external/linux/Kconfig.name +++ b/payloads/external/linux/Kconfig.name @@ -1,6 +1,6 @@ config PAYLOAD_LINUX bool "A Linux payload" - depends on ARCH_X86 || ARCH_ARM + depends on ARCH_X86 || ARCH_ARM || ARCH_RISCV help Select this option if you have a Linux bzImage which coreboot should run as soon as the basic hardware initialization |