aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debug/targets.py15
1 files changed, 8 insertions, 7 deletions
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