From 11427914d498f36907963506ce2ace0e07143557 Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Fri, 17 Nov 2017 11:27:04 -0800 Subject: [PATCH] debug: Fix the XLEN command line check --- debug/targets.py | 15 ++++++++------- 1 file 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 -- 2.30.2