gdbstub: move register helpers into standalone include
These inline helpers are all used by target specific code so move them out of the general header so we don't needlessly pollute the rest of the API with target specific stuff. Note we have to include cpu.h in semihosting as it was relying on a side effect before. Reviewed-by: Taylor Simpson <tsimpson@quicinc.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230302190846.2593720-21-alex.bennee@linaro.org> Message-Id: <20230303025805.625589-21-richard.henderson@linaro.org>
This commit is contained in:
parent
379b42e8b7
commit
4ea5fe997d
@ -110,92 +110,6 @@ void gdb_register_coprocessor(CPUState *cpu,
|
|||||||
gdb_get_reg_cb get_reg, gdb_set_reg_cb set_reg,
|
gdb_get_reg_cb get_reg, gdb_set_reg_cb set_reg,
|
||||||
int num_regs, const char *xml, int g_pos);
|
int num_regs, const char *xml, int g_pos);
|
||||||
|
|
||||||
#ifdef NEED_CPU_H
|
|
||||||
#include "cpu.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The GDB remote protocol transfers values in target byte order. As
|
|
||||||
* the gdbstub may be batching up several register values we always
|
|
||||||
* append to the array.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static inline int gdb_get_reg8(GByteArray *buf, uint8_t val)
|
|
||||||
{
|
|
||||||
g_byte_array_append(buf, &val, 1);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int gdb_get_reg16(GByteArray *buf, uint16_t val)
|
|
||||||
{
|
|
||||||
uint16_t to_word = tswap16(val);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_word, 2);
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int gdb_get_reg32(GByteArray *buf, uint32_t val)
|
|
||||||
{
|
|
||||||
uint32_t to_long = tswap32(val);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_long, 4);
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int gdb_get_reg64(GByteArray *buf, uint64_t val)
|
|
||||||
{
|
|
||||||
uint64_t to_quad = tswap64(val);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
|
||||||
return 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int gdb_get_reg128(GByteArray *buf, uint64_t val_hi,
|
|
||||||
uint64_t val_lo)
|
|
||||||
{
|
|
||||||
uint64_t to_quad;
|
|
||||||
#if TARGET_BIG_ENDIAN
|
|
||||||
to_quad = tswap64(val_hi);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
|
||||||
to_quad = tswap64(val_lo);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
|
||||||
#else
|
|
||||||
to_quad = tswap64(val_lo);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
|
||||||
to_quad = tswap64(val_hi);
|
|
||||||
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
|
||||||
#endif
|
|
||||||
return 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int gdb_get_zeroes(GByteArray *array, size_t len)
|
|
||||||
{
|
|
||||||
guint oldlen = array->len;
|
|
||||||
g_byte_array_set_size(array, oldlen + len);
|
|
||||||
memset(array->data + oldlen, 0, len);
|
|
||||||
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* gdb_get_reg_ptr: get pointer to start of last element
|
|
||||||
* @len: length of element
|
|
||||||
*
|
|
||||||
* This is a helper function to extract the pointer to the last
|
|
||||||
* element for additional processing. Some front-ends do additional
|
|
||||||
* dynamic swapping of the elements based on CPU state.
|
|
||||||
*/
|
|
||||||
static inline uint8_t * gdb_get_reg_ptr(GByteArray *buf, int len)
|
|
||||||
{
|
|
||||||
return buf->data + buf->len - len;
|
|
||||||
}
|
|
||||||
|
|
||||||
#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 /* NEED_CPU_H */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gdbserver_start: start the gdb server
|
* gdbserver_start: start the gdb server
|
||||||
* @port_or_device: connection spec for gdb
|
* @port_or_device: connection spec for gdb
|
||||||
|
103
include/gdbstub/helpers.h
Normal file
103
include/gdbstub/helpers.h
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
/*
|
||||||
|
* gdbstub helpers
|
||||||
|
*
|
||||||
|
* These are all used by the various frontends and have to be host
|
||||||
|
* aware to ensure things are store in target order.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2022 Linaro Ltd
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _GDBSTUB_HELPERS_H_
|
||||||
|
#define _GDBSTUB_HELPERS_H_
|
||||||
|
|
||||||
|
#ifdef NEED_CPU_H
|
||||||
|
#include "cpu.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The GDB remote protocol transfers values in target byte order. As
|
||||||
|
* the gdbstub may be batching up several register values we always
|
||||||
|
* append to the array.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline int gdb_get_reg8(GByteArray *buf, uint8_t val)
|
||||||
|
{
|
||||||
|
g_byte_array_append(buf, &val, 1);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int gdb_get_reg16(GByteArray *buf, uint16_t val)
|
||||||
|
{
|
||||||
|
uint16_t to_word = tswap16(val);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_word, 2);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int gdb_get_reg32(GByteArray *buf, uint32_t val)
|
||||||
|
{
|
||||||
|
uint32_t to_long = tswap32(val);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_long, 4);
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int gdb_get_reg64(GByteArray *buf, uint64_t val)
|
||||||
|
{
|
||||||
|
uint64_t to_quad = tswap64(val);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
||||||
|
return 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int gdb_get_reg128(GByteArray *buf, uint64_t val_hi,
|
||||||
|
uint64_t val_lo)
|
||||||
|
{
|
||||||
|
uint64_t to_quad;
|
||||||
|
#if TARGET_BIG_ENDIAN
|
||||||
|
to_quad = tswap64(val_hi);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
||||||
|
to_quad = tswap64(val_lo);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
||||||
|
#else
|
||||||
|
to_quad = tswap64(val_lo);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
||||||
|
to_quad = tswap64(val_hi);
|
||||||
|
g_byte_array_append(buf, (uint8_t *) &to_quad, 8);
|
||||||
|
#endif
|
||||||
|
return 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int gdb_get_zeroes(GByteArray *array, size_t len)
|
||||||
|
{
|
||||||
|
guint oldlen = array->len;
|
||||||
|
g_byte_array_set_size(array, oldlen + len);
|
||||||
|
memset(array->data + oldlen, 0, len);
|
||||||
|
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gdb_get_reg_ptr: get pointer to start of last element
|
||||||
|
* @len: length of element
|
||||||
|
*
|
||||||
|
* This is a helper function to extract the pointer to the last
|
||||||
|
* element for additional processing. Some front-ends do additional
|
||||||
|
* dynamic swapping of the elements based on CPU state.
|
||||||
|
*/
|
||||||
|
static inline uint8_t *gdb_get_reg_ptr(GByteArray *buf, int len)
|
||||||
|
{
|
||||||
|
return buf->data + buf->len - len;
|
||||||
|
}
|
||||||
|
|
||||||
|
#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
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "gdbstub helpers should only be included by target specific code"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _GDBSTUB_HELPERS_H_ */
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "cpu.h"
|
||||||
#include "semihosting/guestfd.h"
|
#include "semihosting/guestfd.h"
|
||||||
#include "semihosting/syscalls.h"
|
#include "semihosting/syscalls.h"
|
||||||
#include "semihosting/console.h"
|
#include "semihosting/console.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int alpha_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int alpha_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
#include "cpregs.h"
|
#include "cpregs.h"
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int aarch64_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int aarch64_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qemu/units.h"
|
#include "qemu/units.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "qemu/main-loop.h"
|
#include "qemu/main-loop.h"
|
||||||
#include "qemu/bitops.h"
|
#include "qemu/bitops.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int avr_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int avr_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int crisv10_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int crisv10_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int hppa_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int hppa_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "include/gdbstub/helpers.h"
|
||||||
|
|
||||||
#ifdef TARGET_X86_64
|
#ifdef TARGET_X86_64
|
||||||
static const int gpr_map[16] = {
|
static const int gpr_map[16] = {
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
#include "exec/ioport.h"
|
#include "exec/ioport.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/accel.h"
|
#include "qemu/accel.h"
|
||||||
#include "sysemu/whpx.h"
|
#include "sysemu/whpx.h"
|
||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
uint64_t read_fcc(CPULoongArchState *env)
|
uint64_t read_fcc(CPULoongArchState *env)
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int m68k_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int m68k_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "fpu/softfloat.h"
|
#include "fpu/softfloat.h"
|
||||||
#include "qemu/qemu-print.h"
|
#include "qemu/qemu-print.h"
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "semihosting/syscalls.h"
|
#include "semihosting/syscalls.h"
|
||||||
#include "semihosting/softmmu-uaccess.h"
|
#include "semihosting/softmmu-uaccess.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GDB expects SREGs in the following order:
|
* GDB expects SREGs in the following order:
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "fpu_helper.h"
|
#include "fpu_helper.h"
|
||||||
|
|
||||||
int mips_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int mips_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "semihosting/softmmu-uaccess.h"
|
#include "semihosting/softmmu-uaccess.h"
|
||||||
#include "semihosting/semihost.h"
|
#include "semihosting/semihost.h"
|
||||||
#include "semihosting/console.h"
|
#include "semihosting/console.h"
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/log.h"
|
#include "exec/log.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "hw/qdev-properties.h"
|
#include "hw/qdev-properties.h"
|
||||||
|
|
||||||
static void nios2_cpu_set_pc(CPUState *cs, vaddr value)
|
static void nios2_cpu_set_pc(CPUState *cs, vaddr value)
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "semihosting/syscalls.h"
|
#include "semihosting/syscalls.h"
|
||||||
#include "semihosting/softmmu-uaccess.h"
|
#include "semihosting/softmmu-uaccess.h"
|
||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int openrisc_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int openrisc_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "disas/dis-asm.h"
|
#include "disas/dis-asm.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "kvm_ppc.h"
|
#include "kvm_ppc.h"
|
||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
#include "sysemu/hw_accel.h"
|
#include "sysemu/hw_accel.h"
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
static int ppc_gdb_register_len_apple(int n)
|
static int ppc_gdb_register_len_apple(int n)
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
|
||||||
struct TypeSize {
|
struct TypeSize {
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
int rx_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
int rx_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
|
||||||
{
|
{
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "s390x-internal.h"
|
#include "s390x-internal.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/bitops.h"
|
#include "qemu/bitops.h"
|
||||||
#include "sysemu/hw_accel.h"
|
#include "sysemu/hw_accel.h"
|
||||||
#include "sysemu/tcg.h"
|
#include "sysemu/tcg.h"
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "s390x-internal.h"
|
#include "s390x-internal.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "hw/s390x/ioinst.h"
|
#include "hw/s390x/ioinst.h"
|
||||||
#include "hw/s390x/pv.h"
|
#include "hw/s390x/pv.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
/* Hint: Use "set architecture sh4" in GDB to see fpu registers */
|
/* Hint: Use "set architecture sh4" in GDB to see fpu registers */
|
||||||
/* FIXME: We should use XML for this. */
|
/* FIXME: We should use XML for this. */
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
#ifdef TARGET_ABI32
|
#ifdef TARGET_ABI32
|
||||||
#define gdb_get_rega(buf, val) gdb_get_reg32(buf, val)
|
#define gdb_get_rega(buf, val) gdb_get_reg32(buf, val)
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
|
||||||
|
|
||||||
#define LCX_REGNUM 32
|
#define LCX_REGNUM 32
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-dc233c/core-isa.h"
|
#include "core-dc233c/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-de212/core-isa.h"
|
#include "core-de212/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-de233_fpu/core-isa.h"
|
#include "core-de233_fpu/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-dsp3400/core-isa.h"
|
#include "core-dsp3400/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-fsf/core-isa.h"
|
#include "core-fsf/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-lx106/core-isa.h"
|
#include "core-lx106/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-sample_controller/core-isa.h"
|
#include "core-sample_controller/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-test_kc705_be/core-isa.h"
|
#include "core-test_kc705_be/core-isa.h"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-test_mmuhifi_c3/core-isa.h"
|
#include "core-test_mmuhifi_c3/core-isa.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/qemu-print.h"
|
#include "qemu/qemu-print.h"
|
||||||
|
@ -41,7 +41,7 @@ tar -xf "$OVERLAY" -O binutils/xtensa-modules.c | \
|
|||||||
cat <<EOF > "${TARGET}.c"
|
cat <<EOF > "${TARGET}.c"
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "gdbstub/helpers.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
|
|
||||||
#include "core-$NAME/core-isa.h"
|
#include "core-$NAME/core-isa.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user