gdbstub: Add members to identify registers to GDBFeature

These members will be used to help plugins to identify registers.
The added members in instances of GDBFeature dynamically generated by
CPUs will be filled in later changes.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20231213-gdb-v17-10-777047380591@daynix.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240227144335.1196131-15-alex.bennee@linaro.org>
This commit is contained in:
Akihiko Odaki 2024-02-27 14:43:20 +00:00 committed by Alex Bennée
parent f1a5287fc3
commit eb37086fb0
4 changed files with 26 additions and 7 deletions

View file

@ -50,7 +50,9 @@ for input in sys.argv[1:]:
sys.stderr.write(f'unexpected start tag: {element.tag}\n')
exit(1)
feature_name = element.attrib['name']
regnum = 0
regnames = []
regnums = []
tags = ['feature']
for event, element in events:
@ -67,6 +69,7 @@ for input in sys.argv[1:]:
if 'regnum' in element.attrib:
regnum = int(element.attrib['regnum'])
regnames.append(element.attrib['name'])
regnums.append(regnum)
regnum += 1
@ -85,6 +88,15 @@ for input in sys.argv[1:]:
writeliteral(8, bytes(os.path.basename(input), 'utf-8'))
sys.stdout.write(',\n')
writeliteral(8, read)
sys.stdout.write(f',\n {num_regs},\n }},\n')
sys.stdout.write(',\n')
writeliteral(8, bytes(feature_name, 'utf-8'))
sys.stdout.write(',\n (const char * const []) {\n')
for index, regname in enumerate(regnames):
sys.stdout.write(f' [{regnums[index] - base_reg}] =\n')
writeliteral(16, bytes(regname, 'utf-8'))
sys.stdout.write(',\n')
sys.stdout.write(f' }},\n {num_regs},\n }},\n')
sys.stdout.write(' { NULL }\n};\n')