Browse Source
Test the SME2 register exposure over gdbstub, in the same way we already do for SME. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20251017153027.969016-4-peter.maydell@linaro.orgpull/307/head
2 changed files with 44 additions and 1 deletions
@ -0,0 +1,36 @@ |
|||||
|
# |
||||
|
# Copyright (C) 2025 Linaro Ltd. |
||||
|
# |
||||
|
# SPDX-License-Identifier: GPL-2.0-or-later |
||||
|
|
||||
|
# |
||||
|
# Test the SME2 registers are visible and changeable via gdbstub |
||||
|
# |
||||
|
# This is launched via tests/guest-debug/run-test.py |
||||
|
# |
||||
|
|
||||
|
import gdb |
||||
|
from test_gdbstub import main, report |
||||
|
|
||||
|
|
||||
|
def run_test(): |
||||
|
"""Test reads and writes of the SME2 registers""" |
||||
|
frame = gdb.selected_frame() |
||||
|
rname = "zt0" |
||||
|
zt0 = frame.read_register(rname) |
||||
|
report(True, "Reading %s" % rname) |
||||
|
|
||||
|
# Writing to the ZT0 register, byte by byte. |
||||
|
for i in range(0, 64): |
||||
|
cmd = "set $zt0[%d] = 0x01" % (i) |
||||
|
gdb.execute(cmd) |
||||
|
report(True, "%s" % cmd) |
||||
|
|
||||
|
# Reading from the ZT0 register, byte by byte. |
||||
|
for i in range(0, 64): |
||||
|
reg = "$zt0[%d]" % (i) |
||||
|
v = gdb.parse_and_eval(reg) |
||||
|
report(str(v.type) == "uint8_t", "size of %s" % (reg)) |
||||
|
report(v == 0x1, "%s is 0x%x" % (reg, 0x1)) |
||||
|
|
||||
|
main(run_test, expected_arch="aarch64") |
||||
Loading…
Reference in new issue