Skip to content

Commit

Permalink
Fix isa and mabi argument handling
Browse files Browse the repository at this point in the history
When no target (and neither custom target) was specified, it defaulted to rv32imc
which overrode any isa and mabi supplied as arguments. This prevented setting any
custom isa and mabi from the command line. New behavior is to only override these
if they aren't set by the user explicitly (values specified with --isa and --mabi
options override --target).

Signed-off-by: Krzysztof Obłonczek <[email protected]>
  • Loading branch information
koblonczek authored and wkkuna committed Feb 7, 2025
1 parent fb6181b commit 5b2042a
Showing 1 changed file with 30 additions and 24 deletions.
54 changes: 30 additions & 24 deletions run.py
Original file line number Diff line number Diff line change
Expand Up @@ -949,44 +949,50 @@ def load_config(args, cwd):
args.core_setting_dir = cwd + "/pygen/pygen_src/target/" + args.target
else:
args.core_setting_dir = cwd + "/target/" + args.target

if args.target == "rv32imc":
args.mabi = "ilp32"
args.isa = "rv32imc_zicsr_zifencei"
mabi = "ilp32"
isa = "rv32imc_zicsr_zifencei"
elif args.target == "rv32imafdc":
args.mabi = "ilp32"
args.isa = "rv32imafdc_zicsr_zifencei"
mabi = "ilp32"
isa = "rv32imafdc_zicsr_zifencei"
elif args.target == "rv32imc_sv32":
args.mabi = "ilp32"
args.isa = "rv32imc_zicsr_zifencei"
mabi = "ilp32"
isa = "rv32imc_zicsr_zifencei"
elif args.target == "multi_harts":
args.mabi = "ilp32"
args.isa = "rv32gc_zicsr_zifencei"
mabi = "ilp32"
isa = "rv32gc_zicsr_zifencei"
elif args.target == "rv32imcb":
args.mabi = "ilp32"
args.isa = "rv32imcb_zicsr_zifencei"
mabi = "ilp32"
isa = "rv32imcb_zicsr_zifencei"
elif args.target == "rv32i":
args.mabi = "ilp32"
args.isa = "rv32i_zicsr_zifencei"
mabi = "ilp32"
isa = "rv32i_zicsr_zifencei"
elif args.target == "rv64imc":
args.mabi = "lp64"
args.isa = "rv64imc_zicsr_zifencei"
mabi = "lp64"
isa = "rv64imc_zicsr_zifencei"
elif args.target == "rv64imcb":
args.mabi = "lp64"
args.isa = "rv64imcb_zicsr_zifencei"
mabi = "lp64"
isa = "rv64imcb_zicsr_zifencei"
elif args.target == "rv64gc":
args.mabi = "lp64"
args.isa = "rv64gc_zicsr_zifencei"
mabi = "lp64"
isa = "rv64gc_zicsr_zifencei"
elif args.target == "rv64gcv":
args.mabi = "lp64"
args.isa = "rv64gcv_zicsr_zifencei"
mabi = "lp64"
isa = "rv64gcv_zicsr_zifencei"
elif args.target == "ml":
args.mabi = "lp64"
args.isa = "rv64imc_zicsr_zifencei"
mabi = "lp64"
isa = "rv64imc_zicsr_zifencei"
elif args.target == "rv64imafdc":
args.mabi = "lp64"
args.isa = "rv64imafdc_zicsr_zifencei"
mabi = "lp64"
isa = "rv64imafdc_zicsr_zifencei"
else:
sys.exit("Unsupported pre-defined target: {}".format(args.target))

if not args.mabi:
args.mabi = mabi
if not args.isa:
args.isa = isa
else:
if re.match(".*gcc_compile.*", args.steps) or re.match(".*iss_sim.*",
args.steps):
Expand Down

0 comments on commit 5b2042a

Please sign in to comment.