aboutsummaryrefslogtreecommitdiff
path: root/include/gdbstub
diff options
context:
space:
mode:
authorGustavo Romero <gustavo.romero@linaro.org>2024-07-05 09:40:39 +0100
committerAlex Bennée <alex.bennee@linaro.org>2024-07-05 12:35:05 +0100
commit60f4ce8e2cb9afebc7f3e40062087b91b7243c36 (patch)
treeac115a0a700f1829dcf0834798be65ddd42753d3 /include/gdbstub
parent133f202b19d8332de8d433c627fe6354e2ecf889 (diff)
downloadqemu-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.h22
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 */