summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlistair Francis <alistair.francis@wdc.com>2019-12-19 13:24:10 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-12-30 23:39:10 +0000
commitcedd94f0c58e64f9d7d0cd540baf3f4fe5748489 (patch)
tree2d4e5509575e937b8939b3c7a8f88bcb459d657e
parent4600ba62f1afd09ac10e138f11ac129d928810e5 (diff)
downloadpoky-cedd94f0c58e64f9d7d0cd540baf3f4fe5748489.tar.gz
tune-riscv: Add support for no float
(From OE-Core rev: 5263b2ebc57fe289d64c74bfb10da39ed7c98828) Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/machine/include/riscv/arch-riscv.inc3
-rw-r--r--meta/conf/machine/include/riscv/tune-riscv.inc16
2 files changed, 17 insertions, 2 deletions
diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc
index 8ed9874389..e3dbef7fe3 100644
--- a/meta/conf/machine/include/riscv/arch-riscv.inc
+++ b/meta/conf/machine/include/riscv/arch-riscv.inc
@@ -4,7 +4,8 @@ DEFAULTTUNE ?= "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 .= "" 7TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}"
8TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}"
8 9
9# QEMU usermode fails with invalid instruction error (For riscv32) 10# QEMU usermode fails with invalid instruction error (For riscv32)
10MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32', ' qemu-usermode', '', d)}" 11MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc
index 25d0463492..741eeb34db 100644
--- a/meta/conf/machine/include/riscv/tune-riscv.inc
+++ b/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -3,10 +3,14 @@ require conf/machine/include/riscv/arch-riscv.inc
3TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations" 3TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations"
4TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations" 4TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations"
5 5
6TUNEVALID[riscv64nf] = "Enable 64-bit RISC-V optimizations no floating point"
7TUNEVALID[riscv32nf] = "Enable 32-bit RISC-V optimizations no floating point"
8
6TUNEVALID[bigendian] = "Big endian mode" 9TUNEVALID[bigendian] = "Big endian mode"
7 10
8AVAILTUNES += "riscv64 riscv32" 11AVAILTUNES += "riscv64 riscv32 riscv64nf riscv32nf"
9 12
13# Default
10TUNE_FEATURES_tune-riscv64 = "riscv64" 14TUNE_FEATURES_tune-riscv64 = "riscv64"
11TUNE_ARCH_tune-riscv64 = "riscv64" 15TUNE_ARCH_tune-riscv64 = "riscv64"
12TUNE_PKGARCH_tune-riscv64 = "riscv64" 16TUNE_PKGARCH_tune-riscv64 = "riscv64"
@@ -17,3 +21,13 @@ TUNE_ARCH_tune-riscv32 = "riscv32"
17TUNE_PKGARCH_tune-riscv32 = "riscv32" 21TUNE_PKGARCH_tune-riscv32 = "riscv32"
18PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32" 22PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32"
19 23
24# No float
25TUNE_FEATURES_tune-riscv64nf = "${TUNE_FEATURES_tune-riscv64} riscv64nf"
26TUNE_ARCH_tune-riscv64nf = "riscv64"
27TUNE_PKGARCH_tune-riscv64nf = "riscv64"
28PACKAGE_EXTRA_ARCHS_tune-riscv64nf = "riscv64nf"
29
30TUNE_FEATURES_tune-riscv32nf = "${TUNE_FEATURES_tune-riscv32} riscv32nf"
31TUNE_ARCH_tune-riscv32nf = "riscv32"
32TUNE_PKGARCH_tune-riscv32nf = "riscv32"
33PACKAGE_EXTRA_ARCHS_tune-riscv32nf = "riscv32nf"