summaryrefslogtreecommitdiff
path: root/payloads
diff options
context:
space:
mode:
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>2018-12-12 01:08:24 +0100
committerPatrick Rudolph <siro@das-labor.org>2019-08-08 13:03:59 +0000
commit3a4511eb6cb395b86f425bd6a8474ab35c554531 (patch)
treeee1f8a37cb9e516cc28629cd0f2279842f9d6f6d /payloads
parent2a20d13c3935f826a71c635d07dd142bfd84d9dd (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/Kconfig6
-rw-r--r--payloads/external/LinuxBoot/Kconfig15
-rw-r--r--payloads/external/LinuxBoot/Kconfig.name2
-rw-r--r--payloads/external/linux/Kconfig.name2
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