summaryrefslogtreecommitdiff
path: root/platform/template
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2019-02-08 10:17:01 +0300
committerAnup Patel <anup@brainfault.org>2019-02-12 13:25:15 +0300
commitc5467fce469f0a5da868f1c9f90f9e4e549cb660 (patch)
tree12c4f51bc71fa844d55bfda460ea0692094337ef /platform/template
parent84169e2e691183594d0ba3b2acd85024c65b7370 (diff)
downloadopensbi-c5467fce469f0a5da868f1c9f90f9e4e549cb660.tar.xz
Makefile: Set ABI, ISA and Code Model in top-level make
This patch introduces following optional PLATFORM options: PLATFORM_RISCV_XLEN -> RISC-V register width PLATFORM_RISCV_ABI -> RISC-V GCC ABI PLATFORM_RISCV_ISA -> RISC-V GCC ISA string PLATFORM_RISCV_CODE_MODEL -> RISC-V GCC Code Model If the above options are not provided by platform config.mk or by command-line parameters then: 1. PLATFORM_RISCV_XLEN will be determined using toolchain capability 2. PLATFORM_RISCV_ABI, PLATFORM_RISCV_ISA, and PLATFORM_RISCV_CODE_MODEL is set to value best suited for generic libsbi.a As a result of these optional PLATFORM options, the platform-cflags-y and platform-asflags-y is further simplified for platform config.mk. Signed-off-by: Anup Patel <anup.patel@wdc.com>
Diffstat (limited to 'platform/template')
-rw-r--r--platform/template/config.mk20
1 files changed, 12 insertions, 8 deletions
diff --git a/platform/template/config.mk b/platform/template/config.mk
index 3c85af7..65ea135 100644
--- a/platform/template/config.mk
+++ b/platform/template/config.mk
@@ -8,20 +8,24 @@
platform-cppflags-y =
# C Compiler and assembler flags.
-# For a 64 bits platform, this will likely be:
-# -mabi=lp64 -march=rv64imafdc -mcmodel=medany
-# For a 32 bits platform, this will likely be:
-# -mabi=lp32 -march=rv32imafdc -mcmodel=medlow
-# You can also use the Makefile variable OPENSBI_CC_XLEN for the xlen
-# See the QEMU virt machine for an example of this
-platform-cflags-y = -mabi=lp64 -march=rv64imafdc -mcmodel=medany
-platform-asflags-y = -mabi=lp64 -march=rv64imafdc -mcmodel=medany
+platform-cflags-y =
+platform-asflags-y =
# Linker flags: additional libraries and object files that the platform
# code needs can be added here
platform-ldflags-y =
#
+# Platform RISC-V XLEN, ABI, ISA and Code Model configuration.
+# These are optional parameters but platforms can optionaly provide it.
+# Some of these are guessed based on GCC compiler capabilities
+#
+# PLATFORM_RISCV_XLEN = 64
+# PLATFORM_RISCV_ABI = lp64
+# PLATFORM_RISCV_ISA = rv64imafdc
+# PLATFORM_RISCV_CODE_MODEL = medany
+
+#
# OpenSBI implements generic drivers for some common generic hardware. The
# drivers currently available are the RISC-V Platform Level Interrupt
# Controller (PLIC), RISC-V Core Local Interrupt controller (CLINT) and a UART