From: Megan Wachs Date: Fri, 17 Nov 2017 19:27:04 +0000 (-0800) Subject: debug: Fix the XLEN command line check X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=11427914d498f36907963506ce2ace0e07143557;p=riscv-tests.git debug: Fix the XLEN command line check --- diff --git a/debug/targets.py b/debug/targets.py index e92b593..1401f1d 100644 --- a/debug/targets.py +++ b/debug/targets.py @@ -153,9 +153,9 @@ def add_target_options(parser): help="The command to use to start the debug server (e.g. OpenOCD)") xlen_group = parser.add_mutually_exclusive_group() - xlen_group.add_argument("--32", action="store_const", const=32, dest="xlen", + xlen_group.add_argument("--32", action="store_const", const=32, dest="xlen", default=0, help="Force the target to be 32-bit.") - xlen_group.add_argument("--64", action="store_const", const=64, dest="xlen", + xlen_group.add_argument("--64", action="store_const", const=64, dest="xlen", default=0, help="Force the target to be 64-bit.") parser.add_argument("--isolate", action="store_true", @@ -180,10 +180,11 @@ def target(parsed): t = found[0](parsed.target, parsed) assert t.harts, "%s doesn't have any harts defined!" % t.name - for h in t.harts : - if (h.xlen == 0): - h.xlen = parsed.xlen - elif (h.xlen != parsed.xlen): - raise Exception("The target has an XLEN of %d, but the command line specified an XLEN of %d. They must match." % (h.xlen, parsed.xlen)) + if (parsed.xlen > 0): + for h in t.harts : + if (h.xlen == 0): + h.xlen = parsed.xlen + elif (h.xlen != parsed.xlen): + raise Exception("The target hart specified an XLEN of %d, but the command line specified an XLEN of %d. They must match." % (h.xlen, parsed.xlen)) return t