self.gdb.command("target extended-remote localhost:%d" % self.server.port)
def access_test(self, size, data_type):
+ self.assertEqual(self.gdb.p("sizeof(%s)" % data_type),
+ size)
a = 0x86753095555aaaa & ((1<<(size*8))-1)
b = 0xdeadbeef12345678 & ((1<<(size*8))-1)
self.gdb.p("*((%s*)0x%x) = 0x%x" % (data_type, target.ram, a))
self.access_test(2, 'short')
def test_32(self):
- self.access_test(4, 'long')
+ self.access_test(4, 'int')
def test_64(self):
self.access_test(8, 'long long')
self.exit()
def test_hwbp_1(self):
+ if target.instruction_hardware_breakpoint_count < 1:
+ return
+
self.gdb.hbreak("rot13")
# The breakpoint should be hit exactly 2 times.
for i in range(2):
self.exit()
def test_hwbp_2(self):
+ if target.instruction_hardware_breakpoint_count < 2:
+ return
+
self.gdb.hbreak("main")
self.gdb.hbreak("rot13")
# We should hit 3 breakpoints.
xlen = 64
ram = 0x80010000
ram_size = 5 * 1024 * 1024
+ instruction_hardware_breakpoint_count = 0
def server(self):
return testlib.Spike(parsed.cmd, halted=True)
xlen = 32
ram = 0x80010000
ram_size = 5 * 1024 * 1024
+ instruction_hardware_breakpoint_count = 0
def server(self):
return testlib.Spike(parsed.cmd, halted=True, xlen=32)
xlen = 32
ram = 0x80000000
ram_size = 16 * 1024
+ instruction_hardware_breakpoint_count = 2
def server(self):
return testlib.Openocd(cmd=parsed.cmd,