[PATCH 1/2] spec/build/riscv: Default all BSPs to medany cmodel

heshamelmatary at gmail.com heshamelmatary at gmail.com
Sun Dec 18 14:27:08 UTC 2022


From: Hesham Almatary <hesham.almatary at cl.cam.ac.uk>

Currently generic RISC-V BSPs (riscv/riscv) that start with rv* and not
rv*_medany will start at 0x70000000. This adds high maintenance overhead
and deviates from almost all other RISC-V-based OSes and baremetal programs
that start at 0x80000000. Further, testing now has to account for an extra
parameter (medany or not) that doubles the number of BSPs need to be
tested.

This commit defaults all BSPs to use medany code model to allow starting
all BSPs at 0x80000000. BSPs that require different code models and/or
start addresses are custom and need to add their own entries.

Updates #4775
---
 spec/build/bsps/riscv/riscv/abi.yml | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/spec/build/bsps/riscv/riscv/abi.yml b/spec/build/bsps/riscv/riscv/abi.yml
index 3ef8b0681d..f4eb6cc6d2 100644
--- a/spec/build/bsps/riscv/riscv/abi.yml
+++ b/spec/build/bsps/riscv/riscv/abi.yml
@@ -9,6 +9,7 @@ copyrights:
 default:
 - -march=rv32imac
 - -mabi=ilp32
+- -mcmodel=medany
 default-by-variant:
 - value:
   - -march=rv64imafdc
@@ -21,21 +22,17 @@ default-by-variant:
   - -mabi=lp64d
   - -mcmodel=medany
   variants:
-  - riscv/rv64imafdc_medany
-- value:
-  - -march=rv64imafdc
-  - -mabi=lp64d
-  variants:
   - riscv/rv64imafdc
 - value:
   - -march=rv64imafd
   - -mabi=lp64d
   - -mcmodel=medany
   variants:
-  - riscv/rv64imafd_medany
+  - riscv/rv64imafd
 - value:
   - -march=rv64imafd
   - -mabi=lp64d
+  - -mcmodel=medany
   variants:
   - riscv/rv64imafd
 - value:
@@ -43,11 +40,6 @@ default-by-variant:
   - -mabi=lp64
   - -mcmodel=medany
   variants:
-  - riscv/rv64imac_medany
-- value:
-  - -march=rv64imac
-  - -mabi=lp64
-  variants:
   - riscv/rv64imac
 - value: []
   variants:
@@ -55,26 +47,31 @@ default-by-variant:
 - value:
   - -march=rv32imafd
   - -mabi=ilp32d
+  - -mcmodel=medany
   variants:
   - riscv/rv32imafd
 - value:
   - -march=rv32imafc
   - -mabi=ilp32f
+  - -mcmodel=medany
   variants:
   - riscv/rv32imafc
 - value:
   - -march=rv32im
   - -mabi=ilp32
+  - -mcmodel=medany
   variants:
   - riscv/rv32im
 - value:
   - -march=rv32iac
   - -mabi=ilp32
+  - -mcmodel=medany
   variants:
   - riscv/rv32iac
 - value:
   - -march=rv32i
   - -mabi=ilp32
+  - -mcmodel=medany
   variants:
   - riscv/rv32i
 description: |
-- 
2.25.1



More information about the devel mailing list