summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorAlejandro Hernandez Samaniego <alejandro@enedino.org>2021-05-10 23:31:34 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-12 23:05:17 +0100
commit31fde82640bf0d185eab55d2cbaf663c9faae801 (patch)
tree3d2db3fbcb7373af619674fd4cf8534b1e7aa4bf /meta/classes
parent1b470a5fe7c74938cac7c83cd104ca25182af6cc (diff)
downloadopenembedded-core-31fde82640bf0d185eab55d2cbaf663c9faae801.tar.gz
baremetal-helloworld: Enable RISC-V 64 port
Add support for MACHINE=qemuriscv64. $ runqemu nographic KERNEL: [tmp/deploy/images/qemuriscv64/baremetal-helloworld-image-qemuriscv64.bin] MACHINE: [qemuriscv64] FSTYPE: [bin] runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-riscv64 Hello OpenEmbedded on RISC-V 64! Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/baremetal-image.bbclass14
1 files changed, 13 insertions, 1 deletions
diff --git a/meta/classes/baremetal-image.bbclass b/meta/classes/baremetal-image.bbclass
index b0f5e885b5..319b61c7cd 100644
--- a/meta/classes/baremetal-image.bbclass
+++ b/meta/classes/baremetal-image.bbclass
@@ -73,7 +73,19 @@ QB_DEFAULT_KERNEL ?= "${IMAGE_LINK_NAME}.bin"
QB_MEM ?= "-m 256"
QB_DEFAULT_FSTYPE ?= "bin"
QB_DTB ?= ""
-QB_OPT_APPEND = "-nographic"
+QB_OPT_APPEND_append = " -nographic"
+
+# RISC-V tunes set the BIOS, unset, and instruct QEMU to
+# ignore the BIOS and boot from -kernel
+QB_DEFAULT_BIOS_qemuriscv64 = ""
+QB_OPT_APPEND_append_qemuriscv64 = " -bios none"
+
+
+# Use the medium-any code model for the RISC-V 64 bit implementation,
+# since medlow can only access addresses below 0x80000000 and RAM
+# starts at 0x80000000 on RISC-V 64
+CFLAGS_append_qemuriscv64 = " -mcmodel=medany"
+
# This next part is necessary to trick the build system into thinking
# its building an image recipe so it generates the qemuboot.conf