Message ID | 20240613172103.2987519-8-gustavo.romero@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Add MTE stubs for aarch64 user mode | expand |
Gustavo Romero <gustavo.romero@linaro.org> writes: > Make the gdb_first_attached_cpu and gdb_hextomem non-internal so they > are not confined to use only in gdbstub.c. so they can be used by architecture extensions to the gdbstub? we don't want everyone using these functions, or if we do maybe we should consider moving them to cutils? Otherwise: Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > > Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> > --- > gdbstub/internals.h | 2 -- > include/exec/gdbstub.h | 5 +++++ > include/gdbstub/commands.h | 6 ++++++ > 3 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/gdbstub/internals.h b/gdbstub/internals.h > index 34121dc61a..81875abf5f 100644 > --- a/gdbstub/internals.h > +++ b/gdbstub/internals.h > @@ -107,7 +107,6 @@ static inline int tohex(int v) > > void gdb_put_strbuf(void); > int gdb_put_packet_binary(const char *buf, int len, bool dump); > -void gdb_hextomem(GByteArray *mem, const char *buf, int len); > void gdb_memtohex(GString *buf, const uint8_t *mem, int len); > void gdb_memtox(GString *buf, const char *mem, int len); > void gdb_read_byte(uint8_t ch); > @@ -130,7 +129,6 @@ bool gdb_got_immediate_ack(void); > /* utility helpers */ > GDBProcess *gdb_get_process(uint32_t pid); > CPUState *gdb_get_first_cpu_in_process(GDBProcess *process); > -CPUState *gdb_first_attached_cpu(void); > void gdb_append_thread_id(CPUState *cpu, GString *buf); > int gdb_get_cpu_index(CPUState *cpu); > unsigned int gdb_get_max_cpus(void); /* both */ > diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h > index 1bd2c4ec2a..77e5ec9a5b 100644 > --- a/include/exec/gdbstub.h > +++ b/include/exec/gdbstub.h > @@ -135,4 +135,9 @@ void gdb_set_stop_cpu(CPUState *cpu); > /* in gdbstub-xml.c, generated by scripts/feature_to_c.py */ > extern const GDBFeature gdb_static_features[]; > > +/** > + * Return the first attached CPU > + */ > +CPUState *gdb_first_attached_cpu(void); > + > #endif /* GDBSTUB_H */ > diff --git a/include/gdbstub/commands.h b/include/gdbstub/commands.h > index 2204c3ddbe..914b6d7313 100644 > --- a/include/gdbstub/commands.h > +++ b/include/gdbstub/commands.h > @@ -93,4 +93,10 @@ void gdb_extend_set_table(GdbCmdParseEntry *table, int size); > */ > void gdb_extend_qsupported_features(char *qsupported_features); > > +/** > + * Convert a hex string to bytes. Conversion is done per byte, so 2 hex digits > + * are converted to 1 byte. Invalid hex digits are treated as 0 digits. > + */ > +void gdb_hextomem(GByteArray *mem, const char *buf, int len); > + > #endif /* GDBSTUB_COMMANDS_H */
diff --git a/gdbstub/internals.h b/gdbstub/internals.h index 34121dc61a..81875abf5f 100644 --- a/gdbstub/internals.h +++ b/gdbstub/internals.h @@ -107,7 +107,6 @@ static inline int tohex(int v) void gdb_put_strbuf(void); int gdb_put_packet_binary(const char *buf, int len, bool dump); -void gdb_hextomem(GByteArray *mem, const char *buf, int len); void gdb_memtohex(GString *buf, const uint8_t *mem, int len); void gdb_memtox(GString *buf, const char *mem, int len); void gdb_read_byte(uint8_t ch); @@ -130,7 +129,6 @@ bool gdb_got_immediate_ack(void); /* utility helpers */ GDBProcess *gdb_get_process(uint32_t pid); CPUState *gdb_get_first_cpu_in_process(GDBProcess *process); -CPUState *gdb_first_attached_cpu(void); void gdb_append_thread_id(CPUState *cpu, GString *buf); int gdb_get_cpu_index(CPUState *cpu); unsigned int gdb_get_max_cpus(void); /* both */ diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index 1bd2c4ec2a..77e5ec9a5b 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -135,4 +135,9 @@ void gdb_set_stop_cpu(CPUState *cpu); /* in gdbstub-xml.c, generated by scripts/feature_to_c.py */ extern const GDBFeature gdb_static_features[]; +/** + * Return the first attached CPU + */ +CPUState *gdb_first_attached_cpu(void); + #endif /* GDBSTUB_H */ diff --git a/include/gdbstub/commands.h b/include/gdbstub/commands.h index 2204c3ddbe..914b6d7313 100644 --- a/include/gdbstub/commands.h +++ b/include/gdbstub/commands.h @@ -93,4 +93,10 @@ void gdb_extend_set_table(GdbCmdParseEntry *table, int size); */ void gdb_extend_qsupported_features(char *qsupported_features); +/** + * Convert a hex string to bytes. Conversion is done per byte, so 2 hex digits + * are converted to 1 byte. Invalid hex digits are treated as 0 digits. + */ +void gdb_hextomem(GByteArray *mem, const char *buf, int len); + #endif /* GDBSTUB_COMMANDS_H */
Make the gdb_first_attached_cpu and gdb_hextomem non-internal so they are not confined to use only in gdbstub.c. Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> --- gdbstub/internals.h | 2 -- include/exec/gdbstub.h | 5 +++++ include/gdbstub/commands.h | 6 ++++++ 3 files changed, 11 insertions(+), 2 deletions(-)