Skip to content

Commit 6f8e566

Browse files
committed
workflows: Update RISCV toolchain & add 'Z' ext
Some of the 'I' ext instructions were once moved to separate Zicsr and Zifencei extensions. For newer toolchains the 'Z' extensions need to be explicitly requested in '-march'. Signed-off-by: Wiktoria Kuna <[email protected]>
1 parent 2479408 commit 6f8e566

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

.github/workflows/run-tests.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,14 @@ jobs:
119119
- uses: actions/checkout@v4
120120

121121
- name: Install dependencies
122-
run: sudo apt-get -qqy update && sudo apt-get -qqy install gcc-riscv64-unknown-elf device-tree-compiler
122+
run: sudo apt-get -qqy update && sudo apt-get -qqy install device-tree-compiler
123+
124+
- name: Install cross-compiler
125+
shell: bash
126+
run: |
127+
echo "deb http://archive.ubuntu.com/ubuntu/ noble main universe" | sudo tee -a /etc/apt/sources.list > /dev/null
128+
sudo apt -qqy update && sudo apt -qqy --no-install-recommends install gcc-riscv64-unknown-elf
129+
riscv64-unknown-elf-gcc --version
123130
124131
- name: Setup python
125132
# python dependencies cannot be properly downloaded with new versions of python

run.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,7 @@ def parse_args(cwd):
827827
command is not specified")
828828
parser.add_argument("--isa", type=str, default="",
829829
help="RISC-V ISA subset")
830-
parser.add_argument("--priv", type=str, default="",
830+
parser.add_argument("--priv", type=str, default="m",
831831
help="RISC-V privilege modes enabled in simulation [su]")
832832
parser.add_argument("-m", "--mabi", type=str, default="",
833833
help="mabi used for compilation", dest="mabi")
@@ -951,40 +951,40 @@ def load_config(args, cwd):
951951
args.core_setting_dir = cwd + "/target/" + args.target
952952
if args.target == "rv32imc":
953953
args.mabi = "ilp32"
954-
args.isa = "rv32imc"
954+
args.isa = "rv32imc_zicsr_zifencei"
955955
elif args.target == "rv32imafdc":
956956
args.mabi = "ilp32"
957-
args.isa = "rv32imafdc"
957+
args.isa = "rv32imafdc_zicsr_zifencei"
958958
elif args.target == "rv32imc_sv32":
959959
args.mabi = "ilp32"
960-
args.isa = "rv32imc"
960+
args.isa = "rv32imc_zicsr_zifencei"
961961
elif args.target == "multi_harts":
962962
args.mabi = "ilp32"
963-
args.isa = "rv32gc"
963+
args.isa = "rv32gc_zicsr_zifencei"
964964
elif args.target == "rv32imcb":
965965
args.mabi = "ilp32"
966-
args.isa = "rv32imcb"
966+
args.isa = "rv32imcb_zicsr_zifencei"
967967
elif args.target == "rv32i":
968968
args.mabi = "ilp32"
969-
args.isa = "rv32i"
969+
args.isa = "rv32i_zicsr_zifencei"
970970
elif args.target == "rv64imc":
971971
args.mabi = "lp64"
972-
args.isa = "rv64imc"
972+
args.isa = "rv64imc_zicsr_zifencei"
973973
elif args.target == "rv64imcb":
974974
args.mabi = "lp64"
975-
args.isa = "rv64imcb"
975+
args.isa = "rv64imcb_zicsr_zifencei"
976976
elif args.target == "rv64gc":
977977
args.mabi = "lp64"
978-
args.isa = "rv64gc"
978+
args.isa = "rv64gc_zicsr_zifencei"
979979
elif args.target == "rv64gcv":
980980
args.mabi = "lp64"
981-
args.isa = "rv64gcv"
981+
args.isa = "rv64gcv_zicsr_zifencei"
982982
elif args.target == "ml":
983983
args.mabi = "lp64"
984-
args.isa = "rv64imc"
984+
args.isa = "rv64imc_zicsr_zifencei"
985985
elif args.target == "rv64imafdc":
986986
args.mabi = "lp64"
987-
args.isa = "rv64imafdc"
987+
args.isa = "rv64imafdc_zicsr_zifencei"
988988
else:
989989
sys.exit("Unsupported pre-defined target: {}".format(args.target))
990990
else:

0 commit comments

Comments
 (0)