diff options
author | Megan Wachs <megan@sifive.com> | 2017-11-17 13:43:33 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-17 13:43:33 -0800 |
commit | 3714cacfdd8f1a20f58e7e217e1d737cecdf5340 (patch) | |
tree | bd5231f4187b8c2a3280c47c7e6f857ff2ce3f42 | |
parent | 4590b79bc7241f3fa2424f96b4c6666a864fb6a9 (diff) | |
parent | 11427914d498f36907963506ce2ace0e07143557 (diff) | |
download | riscv-tests-3714cacfdd8f1a20f58e7e217e1d737cecdf5340.zip riscv-tests-3714cacfdd8f1a20f58e7e217e1d737cecdf5340.tar.gz riscv-tests-3714cacfdd8f1a20f58e7e217e1d737cecdf5340.tar.bz2 |
Merge pull request #102 from riscv/xlen_fix
debug: Fix the XLEN command line check
-rw-r--r-- | debug/targets.py | 15 |
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 |