#4775 closed enhancement (fixed)

RISC-V: Default RV64 BSPs to medany

Reported by: Hesham Almatary Owned by: Hesham Almatary <hesham.almatary@…>
Priority: normal Milestone: 6.1
Component: arch/riscv Version: 6
Severity: normal Keywords:
Cc: Sebastian Huber, Joel Sherrill Blocked By:
Blocking:

Description (last modified by Hesham Almatary)

Currently generic RISC-V BSPs (riscv/riscv) that start with rv64 and not rv64_medany will start at 0x70000000. This adds high maintenance overhead and deviates from almost all other RISC-V-based OSes and baremetal program 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.

It would be ideal to reduce maintenance efforts by defaulting all RV64 BSPs to medany and make them start at 0x80000000 to run on both QEMU and Spike. Those that need other cmodels or start addresses could be customised (e.g., rv64imac would default to medany but rv64imac_medlow won't).

Attachments (1)

0001-Add-RTEMS-rv32-medany-support.patch (1.3 KB) - added by Hesham Almatary on 12/17/22 at 16:44:20.
gcc: Build medany rv32 multilibs

Download all attachments as: .zip

Change History (9)

Changed on 12/17/22 at 16:44:20 by Hesham Almatary

gcc: Build medany rv32 multilibs

comment:1 Changed on 12/17/22 at 21:36:18 by Chris Johns

Component: adminarch/riscv
Milestone: 6.1
Version: 6

I have assigned this ticket to 6. Please move if not for 6.1.

comment:2 Changed on 12/21/22 at 12:35:09 by Hesham Almatary

Description: modified (diff)
Summary: RISC-V: Default BSPs to medanyRISC-V: Default RV64 BSPs to medany

comment:3 Changed on 12/23/22 at 09:07:51 by Hesham Almatary <hesham.almatary@…>

In dd28005/rtems:

spec/build/riscv: Default rv64* BSPs to medany cmodel

Currently generic RISC-V BSPs (riscv/riscv) that start with rv64 and not
rv64*_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 RV64 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

comment:4 Changed on 12/23/22 at 09:07:54 by Hesham Almatary <hesham.almatary@…>

In a430dd4/rtems:

spec/build/riscv: Start all riscv/riscv BSPs at 0x80000000

To follow other RISC-V-based OSes conventions. Delete generic
BSPs that start at 0x70000000 as BSPs are now medany by default.

Updates #4775

comment:5 Changed on 01/09/23 at 18:11:06 by Hesham Almatary <hesham.almatary@…>

Owner: set to Hesham Almatary <hesham.almatary@…>
Resolution: fixed
Status: newclosed

In 6794f01/rtems-docs:

Docs: RISC-V Update rv64* BSPs to medany and 0x80000000 start address

Closes #4775

comment:6 Changed on 02/08/23 at 07:13:22 by Hesham Almatary <hesham.almatary@…>

In a735d42/rtems-tools:

RISC-V Default rv64* BSPs to medany and 0x80000000 start address

To run on both QEMU and Spike

Updates #4775

comment:7 Changed on 02/08/23 at 07:13:23 by Hesham Almatary <hesham.almatary@…>

In 7ee62e9/rtems-tools:

RISC-V: Test rv32i and rv32imafdc on QEMU

Updates #4775

comment:8 Changed on 03/02/23 at 13:51:34 by Sebastian Huber <sebastian.huber@…>

In 269562cf/rtems:

bsps/riscv: Use medany cmodel for 64-bit variants

Updates #4775.

Note: See TracTickets for help on using tickets.