X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=debug%2Fgdbserver.py;h=09938d3f1b049b4e44674be4aa901285c6fdff41;hb=4590b79bc7241f3fa2424f96b4c6666a864fb6a9;hp=eabf445065c13bcccb714cfe3eec64d70cee0e06;hpb=97f13c98e7306882f013ab2f6524e483ce1dcceb;p=riscv-tests.git diff --git a/debug/gdbserver.py b/debug/gdbserver.py index eabf445..09938d3 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -207,7 +207,7 @@ class MemTestBlock(GdbTest): self.gdb.command("dump ihex memory %s 0x%x 0x%x" % (b.name, self.hart.ram, self.hart.ram + self.length)) self.gdb.command("shell cat %s" % b.name) - for line in b: + for line in b.xreadlines(): record_type, address, line_data = ihex_parse(line) if record_type == 0: written_data = data[address:address+len(line_data)] @@ -814,6 +814,13 @@ class PrivTest(GdbTest): class PrivRw(PrivTest): def test(self): """Test reading/writing priv.""" + # Disable physical memory protection by allowing U mode access to all + # memory. + self.gdb.p("$pmpcfg0=0xf") # TOR, R, W, X + self.gdb.p("$pmpaddr0=0x%x" % ((self.hart.ram + self.hart.ram_size) >> 2)) + + # Leave the PC at _start, where the first 4 instructions should be + # legal in any mode. for privilege in range(4): self.gdb.p("$priv=%d" % privilege) self.gdb.stepi() @@ -862,9 +869,7 @@ def main(): global parsed # pylint: disable=global-statement parsed = parser.parse_args() target = targets.target(parsed) - - if parsed.xlen: - target.xlen = parsed.xlen + testlib.print_log_names = parsed.print_log_names module = sys.modules[__name__]