riscv-software-src / riscof

BSD 3-Clause "New" or "Revised" License
63 stars 40 forks source link

ISA strings passed to compiler and to emulator #105

Open ved-rivos opened 7 months ago

ved-rivos commented 7 months ago

I face two issues:

  1. When multiple ISA string options are provided, the tool seems to always pick the first one in the list. Even if that option is not present in the isa.yaml. For instance if test has RVTEST_ISA("RV32IB,RV32IZbb,RV32IZbkb,RV32IZk,RV32IZkn,RV32IZks") and spike_isa.yaml ISA string is RV32IMCZicsr_Zifencei_Zba_Zbb_Zbs, the Makefile is produced with -march=rv32ib and not rv32izbb. Moving RV32IZbb up in the list changes this and now the tool will use -march=rv32izbb.
  2. The ISA string in spike_isa.yaml is not passed to spike on spike command line. The Makefile produced has - spike --isa=rv32imc - and none of the Z* options from the ISA string get passed to spike.