]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
gdbstub: Expose gdb_write_register function to consumers of gdbstub
authorRowan Hart <rowanbhart@gmail.com>
Fri, 27 Jun 2025 11:25:01 +0000 (12:25 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Wed, 2 Jul 2025 09:09:48 +0000 (10:09 +0100)
This patch exposes the gdb_write_register function from
gdbstub/gdbstub.c via the exec/gdbstub.h header file to support use in
plugins to write register contents.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Julian Ganz <neither@nut.email>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Rowan Hart <rowanbhart@gmail.com>
Message-ID: <20250624175351.440780-2-rowanbhart@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20250627112512.1880708-6-alex.bennee@linaro.org>

gdbstub/gdbstub.c
include/exec/gdbstub.h

index def0b7e87765c2fc28a234ba353d9cdbe56c60f1..dd5fb5667ccd3bd4a303fb3f1b442f230cb44ffb 100644 (file)
@@ -535,7 +535,7 @@ int gdb_read_register(CPUState *cpu, GByteArray *buf, int reg)
     return 0;
 }
 
-static int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg)
+int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg)
 {
     GDBRegisterState *r;
 
index 0675b0b646dfc4e674def3e7a94433d611f5ec55..a16c0051ce0a98389e78016e02232d5f2254a4ad 100644 (file)
@@ -124,6 +124,20 @@ const GDBFeature *gdb_find_static_feature(const char *xmlname);
  */
 int gdb_read_register(CPUState *cpu, GByteArray *buf, int reg);
 
+/**
+ * gdb_write_register() - Write a register associated with a CPU.
+ * @cpu: The CPU associated with the register.
+ * @buf: The buffer that the register contents will be set to.
+ * @reg: The register's number returned by gdb_find_feature_register().
+ *
+ * The size of @buf must be at least the size of the register being
+ * written.
+ *
+ * Return: The number of written bytes, or 0 if an error occurred (for
+ * example, an unknown register was provided).
+ */
+int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg);
+
 /**
  * typedef GDBRegDesc - a register description from gdbstub
  */