mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
gdbstub: Allow gdb_core_xml_file to be set at runtime
Currently the CPUClass:gdb_core_xml_file setting is a simple 'const char *' which the CPU class must set to a fixed string. Allow the CPU class to instead set a new method gdb_get_core_xml_file() which returns this string. This will allow Arm CPUs to use different XML files for AArch32 vs AArch64 without having to have an extra AArch64-specific class type purely to give somewhere to set cc->gdb_core_xml_file differently. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20250317142819.900029-3-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
56a9f0d4c4
commit
a1f728ecc9
2 changed files with 24 additions and 4 deletions
|
@ -131,6 +131,10 @@ struct SysemuCPUOps;
|
|||
* @gdb_num_core_regs: Number of core registers accessible to GDB or 0 to infer
|
||||
* from @gdb_core_xml_file.
|
||||
* @gdb_core_xml_file: File name for core registers GDB XML description.
|
||||
* @gdb_get_core_xml_file: Optional callback that returns the file name for
|
||||
* the core registers GDB XML description. The returned value is expected to
|
||||
* be a simple constant string: the caller will not g_free() it. If this
|
||||
* is NULL then @gdb_core_xml_file will be used instead.
|
||||
* @gdb_stop_before_watchpoint: Indicates whether GDB expects the CPU to stop
|
||||
* before the insn which triggers a watchpoint rather than after it.
|
||||
* @gdb_arch_name: Optional callback that returns the architecture name known
|
||||
|
@ -166,6 +170,7 @@ struct CPUClass {
|
|||
|
||||
const char *gdb_core_xml_file;
|
||||
const gchar * (*gdb_arch_name)(CPUState *cpu);
|
||||
const char * (*gdb_get_core_xml_file)(CPUState *cpu);
|
||||
|
||||
void (*disas_set_info)(CPUState *cpu, disassemble_info *info);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue