mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions
This avoids polluting the global namespace with a non-prefixed macro and makes it obvious in the call sites that we return. Semi-automatic conversion using, e.g., sed -i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target-*/gdbstub.c followed by manual tweaking for sparc's GET_REGA() and Coding Style. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Acked-by: Max Filippov <jcmvbkbc@gmail.com> (for xtensa) Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
25d8ac0e31
commit
986a299893
16 changed files with 177 additions and 164 deletions
|
@ -39,6 +39,43 @@ static inline int cpu_index(CPUState *cpu)
|
|||
#endif
|
||||
}
|
||||
|
||||
/* The GDB remote protocol transfers values in target byte order. This means
|
||||
* we can use the raw memory access routines to access the value buffer.
|
||||
* Conveniently, these also handle the case where the buffer is mis-aligned.
|
||||
*/
|
||||
|
||||
static inline int gdb_get_reg8(uint8_t *mem_buf, uint8_t val)
|
||||
{
|
||||
stb_p(mem_buf, val);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline int gdb_get_reg16(uint8_t *mem_buf, uint16_t val)
|
||||
{
|
||||
stw_p(mem_buf, val);
|
||||
return 2;
|
||||
}
|
||||
|
||||
static inline int gdb_get_reg32(uint8_t *mem_buf, uint32_t val)
|
||||
{
|
||||
stl_p(mem_buf, val);
|
||||
return 4;
|
||||
}
|
||||
|
||||
static inline int gdb_get_reg64(uint8_t *mem_buf, uint64_t val)
|
||||
{
|
||||
stq_p(mem_buf, val);
|
||||
return 8;
|
||||
}
|
||||
|
||||
#if TARGET_LONG_BITS == 64
|
||||
#define gdb_get_regl(buf, val) gdb_get_reg64(buf, val)
|
||||
#define ldtul_p(addr) ldq_p(addr)
|
||||
#else
|
||||
#define gdb_get_regl(buf, val) gdb_get_reg32(buf, val)
|
||||
#define ldtul_p(addr) ldl_p(addr)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue