Skip to content

Commit 4a08bd7

Browse files
committed
Fix isa and mabi argument handling
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]>
1 parent 8e3a371 commit 4a08bd7

File tree

1 file changed

+30
-24
lines changed

1 file changed

+30
-24
lines changed

run.py

+30-24
Original file line numberDiff line numberDiff line change
@@ -934,44 +934,50 @@ def load_config(args, cwd):
934934
args.core_setting_dir = cwd + "/pygen/pygen_src/target/" + args.target
935935
else:
936936
args.core_setting_dir = cwd + "/target/" + args.target
937+
937938
if args.target == "rv32imc":
938-
args.mabi = "ilp32"
939-
args.isa = "rv32imc"
939+
mabi = "ilp32"
940+
isa = "rv32imc"
940941
elif args.target == "rv32imafdc":
941-
args.mabi = "ilp32"
942-
args.isa = "rv32imafdc"
942+
mabi = "ilp32"
943+
isa = "rv32imafdc"
943944
elif args.target == "rv32imc_sv32":
944-
args.mabi = "ilp32"
945-
args.isa = "rv32imc"
945+
mabi = "ilp32"
946+
isa = "rv32imc"
946947
elif args.target == "multi_harts":
947-
args.mabi = "ilp32"
948-
args.isa = "rv32gc"
948+
mabi = "ilp32"
949+
isa = "rv32gc"
949950
elif args.target == "rv32imcb":
950-
args.mabi = "ilp32"
951-
args.isa = "rv32imcb"
951+
mabi = "ilp32"
952+
isa = "rv32imcb"
952953
elif args.target == "rv32i":
953-
args.mabi = "ilp32"
954-
args.isa = "rv32i"
954+
mabi = "ilp32"
955+
isa = "rv32i"
955956
elif args.target == "rv64imc":
956-
args.mabi = "lp64"
957-
args.isa = "rv64imc"
957+
mabi = "lp64"
958+
isa = "rv64imc"
958959
elif args.target == "rv64imcb":
959-
args.mabi = "lp64"
960-
args.isa = "rv64imcb"
960+
mabi = "lp64"
961+
isa = "rv64imcb"
961962
elif args.target == "rv64gc":
962-
args.mabi = "lp64"
963-
args.isa = "rv64gc"
963+
mabi = "lp64"
964+
isa = "rv64gc"
964965
elif args.target == "rv64gcv":
965-
args.mabi = "lp64"
966-
args.isa = "rv64gcv"
966+
mabi = "lp64"
967+
isa = "rv64gcv"
967968
elif args.target == "ml":
968-
args.mabi = "lp64"
969-
args.isa = "rv64imc"
969+
mabi = "lp64"
970+
isa = "rv64imc"
970971
elif args.target == "rv64imafdc":
971-
args.mabi = "lp64"
972-
args.isa = "rv64imafdc"
972+
mabi = "lp64"
973+
isa = "rv64imafdc"
973974
else:
974975
sys.exit("Unsupported pre-defined target: {}".format(args.target))
976+
977+
if not args.mabi:
978+
args.mabi = mabi
979+
if not args.isa:
980+
args.isa = isa
975981
else:
976982
if re.match(".*gcc_compile.*", args.steps) or re.match(".*iss_sim.*",
977983
args.steps):

0 commit comments

Comments
 (0)