summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/riscv
diff options
context:
space:
mode:
Diffstat (limited to 'meta/conf/machine/include/riscv')
-rw-r--r--meta/conf/machine/include/riscv/arch-riscv.inc14
-rw-r--r--meta/conf/machine/include/riscv/qemuriscv.inc13
-rw-r--r--meta/conf/machine/include/riscv/tune-riscv.inc44
3 files changed, 42 insertions, 29 deletions
diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc
index eae2b88778..230a266563 100644
--- a/meta/conf/machine/include/riscv/arch-riscv.inc
+++ b/meta/conf/machine/include/riscv/arch-riscv.inc
@@ -2,12 +2,14 @@
2 2
3DEFAULTTUNE ?= "riscv64" 3DEFAULTTUNE ?= "riscv64"
4 4
5TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" 5TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
6TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 6TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
7TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}" 7TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}"
8TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}" 8TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}"
9
10TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nc', ' -march=rv64imafd', ' ', d)}"
9 11
10# Fix: ld: unrecognized option '--hash-style=sysv' 12# Fix: ld: unrecognized option '--hash-style=sysv'
11LINKER_HASH_STYLE_libc-newlib = "" 13LINKER_HASH_STYLE:libc-newlib = ""
12# Fix: ld: unrecognized option '--hash-style=gnu' 14# Fix: ld: unrecognized option '--hash-style=gnu'
13LINKER_HASH_STYLE_libc-baremetal = "" 15LINKER_HASH_STYLE:libc-baremetal = ""
diff --git a/meta/conf/machine/include/riscv/qemuriscv.inc b/meta/conf/machine/include/riscv/qemuriscv.inc
index 47d7e9b174..d01d988eee 100644
--- a/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -3,14 +3,13 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
3require conf/machine/include/qemu.inc 3require conf/machine/include/qemu.inc
4require conf/machine/include/riscv/tune-riscv.inc 4require conf/machine/include/riscv/tune-riscv.inc
5 5
6MACHINE_FEATURES = "screen keyboard ext2 ext3 serial" 6MACHINE_FEATURES += "keyboard ext2 ext3 serial"
7 7
8KERNEL_IMAGETYPE = "Image" 8KERNEL_IMAGETYPE = "Image"
9KERNEL_IMAGETYPES += "uImage" 9KERNEL_IMAGETYPES += "uImage"
10KEEPUIMAGE = "no" 10KEEPUIMAGE = "no"
11 11
12SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0" 12SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
13SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
14 13
15IMAGE_FSTYPES += "ext4 wic.qcow2" 14IMAGE_FSTYPES += "ext4 wic.qcow2"
16 15
@@ -22,10 +21,11 @@ EXTRA_IMAGEDEPENDS += "opensbi"
22RISCV_SBI_PLAT ?= "generic" 21RISCV_SBI_PLAT ?= "generic"
23RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin" 22RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
24 23
25UBOOT_ENTRYPOINT_riscv32 = "0x80400000" 24UBOOT_ENTRYPOINT:riscv32 = "0x80400000"
26UBOOT_ENTRYPOINT_riscv64 = "0x80200000" 25UBOOT_ENTRYPOINT:riscv64 = "0x80200000"
27 26
28# qemuboot options 27# qemuboot options
28QB_SMP ?= "-smp 4"
29QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" 29QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
30QB_MACHINE = "-machine virt" 30QB_MACHINE = "-machine virt"
31QB_DEFAULT_BIOS = "fw_jump.elf" 31QB_DEFAULT_BIOS = "fw_jump.elf"
@@ -33,4 +33,7 @@ QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
33QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" 33QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
34QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" 34QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
35QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" 35QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
36QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" 36QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
37QB_GRAPHICS = "-device bochs-display"
38QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
39QB_OPT_APPEND:riscv32 = "-device virtio-tablet-pci -device virtio-keyboard-pci"
diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc
index 028548bf56..804712077e 100644
--- a/meta/conf/machine/include/riscv/tune-riscv.inc
+++ b/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -6,28 +6,36 @@ TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations"
6TUNEVALID[riscv64nf] = "Enable 64-bit RISC-V optimizations no floating point" 6TUNEVALID[riscv64nf] = "Enable 64-bit RISC-V optimizations no floating point"
7TUNEVALID[riscv32nf] = "Enable 32-bit RISC-V optimizations no floating point" 7TUNEVALID[riscv32nf] = "Enable 32-bit RISC-V optimizations no floating point"
8 8
9TUNEVALID[riscv64nc] = "Enable 64-bit RISC-V optimizations without compressed instructions"
10
9TUNEVALID[bigendian] = "Big endian mode" 11TUNEVALID[bigendian] = "Big endian mode"
10 12
11AVAILTUNES += "riscv64 riscv32 riscv64nf riscv32nf" 13AVAILTUNES += "riscv64 riscv32 riscv64nc riscv64nf riscv32nf"
12 14
13# Default 15# Default
14TUNE_FEATURES_tune-riscv64 = "riscv64" 16TUNE_FEATURES:tune-riscv64 = "riscv64"
15TUNE_ARCH_tune-riscv64 = "riscv64" 17TUNE_ARCH:tune-riscv64 = "riscv64"
16TUNE_PKGARCH_tune-riscv64 = "riscv64" 18TUNE_PKGARCH:tune-riscv64 = "riscv64"
17PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64" 19PACKAGE_EXTRA_ARCHS:tune-riscv64 = "riscv64"
18 20
19TUNE_FEATURES_tune-riscv32 = "riscv32" 21TUNE_FEATURES:tune-riscv32 = "riscv32"
20TUNE_ARCH_tune-riscv32 = "riscv32" 22TUNE_ARCH:tune-riscv32 = "riscv32"
21TUNE_PKGARCH_tune-riscv32 = "riscv32" 23TUNE_PKGARCH:tune-riscv32 = "riscv32"
22PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32" 24PACKAGE_EXTRA_ARCHS:tune-riscv32 = "riscv32"
23 25
24# No float 26# No float
25TUNE_FEATURES_tune-riscv64nf = "${TUNE_FEATURES_tune-riscv64} riscv64nf" 27TUNE_FEATURES:tune-riscv64nf = "${TUNE_FEATURES:tune-riscv64} riscv64nf"
26TUNE_ARCH_tune-riscv64nf = "riscv64" 28TUNE_ARCH:tune-riscv64nf = "riscv64"
27TUNE_PKGARCH_tune-riscv64nf = "riscv64nf" 29TUNE_PKGARCH:tune-riscv64nf = "riscv64nf"
28PACKAGE_EXTRA_ARCHS_tune-riscv64nf = "riscv64nf" 30PACKAGE_EXTRA_ARCHS:tune-riscv64nf = "riscv64nf"
29 31
30TUNE_FEATURES_tune-riscv32nf = "${TUNE_FEATURES_tune-riscv32} riscv32nf" 32TUNE_FEATURES:tune-riscv32nf = "${TUNE_FEATURES:tune-riscv32} riscv32nf"
31TUNE_ARCH_tune-riscv32nf = "riscv32" 33TUNE_ARCH:tune-riscv32nf = "riscv32"
32TUNE_PKGARCH_tune-riscv32nf = "riscv32nf" 34TUNE_PKGARCH:tune-riscv32nf = "riscv32nf"
33PACKAGE_EXTRA_ARCHS_tune-riscv32nf = "riscv32nf" 35PACKAGE_EXTRA_ARCHS:tune-riscv32nf = "riscv32nf"
36
37# no compressed
38TUNE_FEATURES:tune-riscv64nc = "${TUNE_FEATURES:tune-riscv64} riscv64nc"
39TUNE_ARCH:tune-riscv64nc = "riscv64"
40TUNE_PKGARCH:tune-riscv64nc = "riscv64nc"
41PACKAGE_EXTRA_ARCHS:tune-riscv64nc = "riscv64nc"