aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-05-15 16:38:01 -0700
committerPalmer Dabbelt <palmer@dabbelt.com>2017-05-15 16:38:01 -0700
commit22576f7ccb3e82a66e212d602f8cc9aa0d156509 (patch)
tree8588c9e977c449c3636d9c44d50b77a452bd7b11
parentf23e837c57fba0de2412f1b459fc8e172ca5aa30 (diff)
downloadriscv-tests-22576f7ccb3e82a66e212d602f8cc9aa0d156509.zip
riscv-tests-22576f7ccb3e82a66e212d602f8cc9aa0d156509.tar.gz
riscv-tests-22576f7ccb3e82a66e212d602f8cc9aa0d156509.tar.bz2
Disable the tests that touch PRIV, it's not implemented yet
-rwxr-xr-xdebug/gdbserver.py125
1 files changed, 63 insertions, 62 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index 7967bbc..dbc37fc 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -615,68 +615,69 @@ class DownloadTest(GdbTest):
assertEqual(self.gdb.p("status"), self.crc)
os.unlink(self.download_c.name)
-class MprvTest(GdbTest):
- compile_args = ("programs/mprv.S", )
- def setup(self):
- self.gdb.load()
-
- def test(self):
- """Test that the debugger can access memory when MPRV is set."""
- self.gdb.c(wait=False)
- time.sleep(0.5)
- self.gdb.interrupt()
- output = self.gdb.command("p/x *(int*)(((char*)&data)-0x80000000)")
- assertIn("0xbead", output)
-
-class PrivTest(GdbTest):
- compile_args = ("programs/priv.S", )
- def setup(self):
- # pylint: disable=attribute-defined-outside-init
- self.gdb.load()
-
- misa = self.target.misa
- self.supported = set()
- if misa & (1<<20):
- self.supported.add(0)
- if misa & (1<<18):
- self.supported.add(1)
- if misa & (1<<7):
- self.supported.add(2)
- self.supported.add(3)
-
-class PrivRw(PrivTest):
- def test(self):
- """Test reading/writing priv."""
- for privilege in range(4):
- self.gdb.p("$priv=%d" % privilege)
- self.gdb.stepi()
- actual = self.gdb.p("$priv")
- assertIn(actual, self.supported)
- if privilege in self.supported:
- assertEqual(actual, privilege)
-
-class PrivChange(PrivTest):
- def test(self):
- """Test that the core's privilege level actually changes."""
-
- if 0 not in self.supported:
- return 'not_applicable'
-
- self.gdb.b("main")
- self.gdb.c()
-
- # Machine mode
- self.gdb.p("$priv=3")
- main_address = self.gdb.p("$pc")
- self.gdb.stepi()
- assertEqual("%x" % self.gdb.p("$pc"), "%x" % (main_address+4))
-
- # User mode
- self.gdb.p("$priv=0")
- self.gdb.stepi()
- # Should have taken an exception, so be nowhere near main.
- pc = self.gdb.p("$pc")
- assertTrue(pc < main_address or pc > main_address + 0x100)
+# FIXME: PRIV isn't implemented in the current OpenOCD
+#class MprvTest(GdbTest):
+# compile_args = ("programs/mprv.S", )
+# def setup(self):
+# self.gdb.load()
+#
+# def test(self):
+# """Test that the debugger can access memory when MPRV is set."""
+# self.gdb.c(wait=False)
+# time.sleep(0.5)
+# self.gdb.interrupt()
+# output = self.gdb.command("p/x *(int*)(((char*)&data)-0x80000000)")
+# assertIn("0xbead", output)
+#
+#class PrivTest(GdbTest):
+# compile_args = ("programs/priv.S", )
+# def setup(self):
+# # pylint: disable=attribute-defined-outside-init
+# self.gdb.load()
+#
+# misa = self.target.misa
+# self.supported = set()
+# if misa & (1<<20):
+# self.supported.add(0)
+# if misa & (1<<18):
+# self.supported.add(1)
+# if misa & (1<<7):
+# self.supported.add(2)
+# self.supported.add(3)
+#
+#class PrivRw(PrivTest):
+# def test(self):
+# """Test reading/writing priv."""
+# for privilege in range(4):
+# self.gdb.p("$priv=%d" % privilege)
+# self.gdb.stepi()
+# actual = self.gdb.p("$priv")
+# assertIn(actual, self.supported)
+# if privilege in self.supported:
+# assertEqual(actual, privilege)
+#
+#class PrivChange(PrivTest):
+# def test(self):
+# """Test that the core's privilege level actually changes."""
+#
+# if 0 not in self.supported:
+# return 'not_applicable'
+#
+# self.gdb.b("main")
+# self.gdb.c()
+#
+# # Machine mode
+# self.gdb.p("$priv=3")
+# main_address = self.gdb.p("$pc")
+# self.gdb.stepi()
+# assertEqual("%x" % self.gdb.p("$pc"), "%x" % (main_address+4))
+#
+# # User mode
+# self.gdb.p("$priv=0")
+# self.gdb.stepi()
+# # Should have taken an exception, so be nowhere near main.
+# pc = self.gdb.p("$pc")
+# assertTrue(pc < main_address or pc > main_address + 0x100)
parsed = None
def main():