diff options
author | Gustavo Romero <gustavo.romero@linaro.org> | 2024-07-05 09:40:39 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-07-05 12:35:05 +0100 |
commit | 60f4ce8e2cb9afebc7f3e40062087b91b7243c36 (patch) | |
tree | ac115a0a700f1829dcf0834798be65ddd42753d3 /include/gdbstub | |
parent | 133f202b19d8332de8d433c627fe6354e2ecf889 (diff) | |
download | qemu-60f4ce8e2cb9afebc7f3e40062087b91b7243c36.zip qemu-60f4ce8e2cb9afebc7f3e40062087b91b7243c36.tar.gz qemu-60f4ce8e2cb9afebc7f3e40062087b91b7243c36.tar.bz2 |
gdbstub: Add support for target-specific stubs
Currently, it's not possible to have stubs specific to a given target,
even though there are GDB features which are target-specific, like, for
instance, memory tagging.
This commit introduces gdb_extend_qsupported_features,
gdb_extend_query_table, and gdb_extend_set_table functions as interfaces
to extend the qSupported string, the query handler table, and the set
handler table, allowing target-specific stub implementations.
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240628050850.536447-4-gustavo.romero@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240705084047.857176-33-alex.bennee@linaro.org>
Diffstat (limited to 'include/gdbstub')
-rw-r--r-- | include/gdbstub/commands.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/gdbstub/commands.h b/include/gdbstub/commands.h index 6392574..306dfde 100644 --- a/include/gdbstub/commands.h +++ b/include/gdbstub/commands.h @@ -69,4 +69,26 @@ typedef struct GdbCmdParseEntry { */ int gdb_put_packet(const char *buf); +/** + * gdb_extend_query_table() - Extend query table. + * @table: The table with the additional query packet handlers. + * @size: The number of handlers to be added. + */ +void gdb_extend_query_table(GdbCmdParseEntry *table, int size); + +/** + * gdb_extend_set_table() - Extend set table. + * @table: The table with the additional set packet handlers. + * @size: The number of handlers to be added. + */ +void gdb_extend_set_table(GdbCmdParseEntry *table, int size); + +/** + * gdb_extend_qsupported_features() - Extend the qSupported features string. + * @qsupported_features: The additional qSupported feature(s) string. The string + * should start with a semicolon and, if there are more than one feature, the + * features should be separate by a semiocolon. + */ +void gdb_extend_qsupported_features(char *qsupported_features); + #endif /* GDBSTUB_COMMANDS_H */ |