[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC qom-cpu 00/41] QOM CPUState, part 11: GDB stub
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH RFC qom-cpu 00/41] QOM CPUState, part 11: GDB stub |
Date: |
Sat, 29 Jun 2013 22:01:16 +0200 |
Hello,
This series cleans up gdbstub by changing all its internal CPU state to CPUState
and by moving most target-specific code into the target directories.
It depends on part 10 and starts with a follow-up, consolidating reset logging.
Support for m68k, moxie and unicore32 to set the PC via gdbstub is added.
Lightweight subclasses for XtensaCPU are introduced, keeping the XtensaConfig
mechanisms, to stop xtensa from deviating at gdbstub level wrt register count.
I'm wondering whether there would be interest in adding a "program-counter"
dynamic property to the CPU, given that a setter has been factored out here?
Available for testing at:
git://github.com/afaerber/qemu-cpu.git qom-cpu-11.v1
https://github.com/afaerber/qemu-cpu/commits/qom-cpu-11.v1
Regards,
Andreas
Cc: Anthony Liguori <address@hidden>
Cc: Blue Swirl <address@hidden>
Cc: Aurélien Jarno <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Jan Kiszka <address@hidden> (gdbstub)
Cc: Anthony Green <address@hidden> (moxie)
Cc: Guan Xuetao <address@hidden> (unicore32)
Cc: Max Filippov <address@hidden> (xtensa)
Andreas Färber (41):
log: Change log_cpu_state[_mask]() argument to CPUState
cpu: Move reset logging to CPUState
gdbstub: Change GDBState::query_cpu to CPUState
cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc()
target-m68k: Implement CPUClass::set_pc()
target-moxie: Implement CPUClass::set_pc()
target-unicore32: Implement CPUClass::set_pc()
cpu: Introduce CPUClass::synchronize_from_tb() to drop
cpu_pc_from_tb()
gdbstub: Replace two find_cpu() with qemu_get_cpu()
target-alpha: Change gen_intermediate_code_internal() argument to
AlphaCPU
target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
target-cris: Change gen_intermediate_code_internal() argument to
CRISCPU
target-i386: Change gen_intermediate_code_internal() argument to
X86CPU
target-lm32: Change gen_intermediate_code_internal() argument to
LM32CPU
target-m68k: Change gen_intermediate_code_internal() argument to
M68kCPU
target-microblaze: Change gen_intermediate_code_internal() argument
types
target-mips: Change gen_intermediate_code_internal() argument to
MIPSCPU
target-ppc: Change gen_intermediate_code_internal() argument to
PowerPCCPU
target-s390x: Change gen_intermediate_code_internal() argument to
S390CPU
target-sh4: Change gen_intermediate_code_internal() argument to
SuperHCPU
target-sparc: Change gen_intermediate_code_internal() argument to
SPARCCPU
target-unicore32: Change gen_intermediate_code_internal() signature
target-xtensa: Change gen_intermediate_code_internal() arg to
XtensaCPU
target-alpha: Change DisasContext::env to CPUState
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style
cpu: Change cpu_single_step() argument to CPUState
kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState
gdbstub: Change syscall callback argument to CPUState
gdbstub: Change gdb_handlesig() argument to CPUState
gdbstub: Change GDBState::c_cpu to CPUState
gdbstub: Change gdb_{read,write}_register() argument to CPUState
cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook
exec: Change cpu_memory_rw_debug() argument to CPUState
cpu: Introduce CPUClass::memory_rw_debug() for
target_memory_rw_debug()
gdbstub: Change GDBState::g_cpu to CPUState
cpu: Move gdb_regs field from CPU_COMMON to CPUState
gdbstub: Change gdb_register_coprocessor() argument to CPUState
target-xtensa: Introduce XtensaCPU subclasses
gdbstub: Move num_g_regs to CPUState and NUM_CORE_REGS to CPUClass
cpu: Introduce CPUClass::gdb_{read,write}_register()
bsd-user/main.c | 10 +-
cpu-exec.c | 16 +-
cpus.c | 6 +-
disas.c | 4 +-
exec.c | 38 +-
gdbstub.c | 1590 ++++-----------------------------------
hw/i386/kvmvapic.c | 78 +-
hw/xtensa/pic_cpu.c | 47 +-
include/exec/cpu-all.h | 14 +-
include/exec/cpu-defs.h | 3 -
include/exec/exec-all.h | 3 -
include/exec/gdbstub.h | 45 +-
include/exec/softmmu-semi.h | 18 +-
include/qemu/log.h | 26 +-
include/qemu/typedefs.h | 3 +
include/qom/cpu.h | 95 ++-
include/sysemu/kvm.h | 4 +-
kvm-all.c | 12 +-
kvm-stub.c | 4 +-
linux-user/main.c | 40 +-
linux-user/signal.c | 3 +-
monitor.c | 2 +-
qom/cpu.c | 30 +
target-alpha/Makefile.objs | 1 +
target-alpha/cpu-qom.h | 3 +
target-alpha/cpu.c | 18 +-
target-alpha/cpu.h | 5 -
target-alpha/gdbstub.c | 93 +++
target-alpha/helper.c | 5 +-
target-alpha/translate.c | 25 +-
target-arm/Makefile.objs | 1 +
target-arm/arm-semi.c | 10 +-
target-arm/cpu-qom.h | 5 +
target-arm/cpu.c | 21 +-
target-arm/cpu.h | 5 -
target-arm/gdbstub.c | 102 +++
target-arm/helper.c | 15 +-
target-arm/translate.c | 16 +-
target-cris/Makefile.objs | 1 +
target-cris/cpu-qom.h | 6 +
target-cris/cpu.c | 24 +-
target-cris/cpu.h | 4 -
target-cris/gdbstub.c | 130 ++++
target-cris/helper.c | 7 +-
target-cris/translate.c | 16 +-
target-i386/Makefile.objs | 1 +
target-i386/cpu-qom.h | 5 +
target-i386/cpu.c | 28 +-
target-i386/cpu.h | 5 -
target-i386/gdbstub.c | 231 ++++++
target-i386/helper.c | 12 +-
target-i386/kvm.c | 20 +-
target-i386/seg_helper.c | 5 +-
target-i386/smm_helper.c | 6 +-
target-i386/translate.c | 14 +-
target-lm32/Makefile.objs | 1 +
target-lm32/cpu-qom.h | 3 +
target-lm32/cpu.c | 21 +-
target-lm32/cpu.h | 5 -
target-lm32/gdbstub.c | 92 +++
target-lm32/helper.c | 10 +-
target-lm32/translate.c | 16 +-
target-m68k/Makefile.objs | 1 +
target-m68k/cpu-qom.h | 3 +
target-m68k/cpu.c | 19 +-
target-m68k/cpu.h | 5 -
target-m68k/gdbstub.c | 75 ++
target-m68k/helper.c | 5 +-
target-m68k/m68k-semi.c | 5 +-
target-m68k/translate.c | 16 +-
target-microblaze/Makefile.objs | 1 +
target-microblaze/cpu-qom.h | 3 +
target-microblaze/cpu.c | 21 +-
target-microblaze/cpu.h | 5 -
target-microblaze/gdbstub.c | 56 ++
target-microblaze/helper.c | 16 +-
target-microblaze/translate.c | 19 +-
target-mips/Makefile.objs | 1 +
target-mips/cpu-qom.h | 3 +
target-mips/cpu.c | 39 +-
target-mips/cpu.h | 7 -
target-mips/gdbstub.c | 154 ++++
target-mips/helper.c | 9 +-
target-mips/translate.c | 20 +-
target-moxie/cpu.c | 18 +-
target-moxie/cpu.h | 6 +-
target-moxie/helper.c | 11 +-
target-moxie/translate.c | 5 +-
target-openrisc/Makefile.objs | 1 +
target-openrisc/cpu.c | 21 +-
target-openrisc/cpu.h | 8 +-
target-openrisc/gdbstub.c | 86 +++
target-openrisc/mmu.c | 5 +-
target-openrisc/translate.c | 9 +-
target-ppc/Makefile.objs | 1 +
target-ppc/cpu-qom.h | 3 +
target-ppc/cpu.h | 5 -
target-ppc/gdbstub.c | 131 ++++
target-ppc/mmu-hash32.c | 2 +-
target-ppc/mmu-hash64.c | 2 +-
target-ppc/mmu_helper.c | 6 +-
target-ppc/translate.c | 17 +-
target-ppc/translate_init.c | 32 +-
target-s390x/Makefile.objs | 1 +
target-s390x/cpu-qom.h | 3 +
target-s390x/cpu.c | 19 +-
target-s390x/cpu.h | 5 -
target-s390x/gdbstub.c | 88 +++
target-s390x/helper.c | 5 +-
target-s390x/translate.c | 14 +-
target-sh4/Makefile.objs | 1 +
target-sh4/cpu-qom.h | 3 +
target-sh4/cpu.c | 28 +-
target-sh4/cpu.h | 6 -
target-sh4/gdbstub.c | 146 ++++
target-sh4/helper.c | 7 +-
target-sh4/translate.c | 17 +-
target-sparc/Makefile.objs | 1 +
target-sparc/cpu-qom.h | 3 +
target-sparc/cpu.c | 39 +-
target-sparc/cpu.h | 11 +-
target-sparc/gdbstub.c | 208 +++++
target-sparc/int32_helper.c | 2 +-
target-sparc/int64_helper.c | 2 +-
target-sparc/mmu_helper.c | 22 +-
target-sparc/translate.c | 13 +-
target-unicore32/cpu-qom.h | 1 +
target-unicore32/cpu.c | 11 +
target-unicore32/cpu.h | 5 -
target-unicore32/softmmu.c | 7 +-
target-unicore32/translate.c | 16 +-
target-xtensa/Makefile.objs | 1 +
target-xtensa/cpu-qom.h | 6 +
target-xtensa/cpu.c | 46 +-
target-xtensa/cpu.h | 27 +-
target-xtensa/gdbstub.c | 111 +++
target-xtensa/helper.c | 108 ++-
target-xtensa/op_helper.c | 121 ++-
target-xtensa/translate.c | 29 +-
target-xtensa/xtensa-semi.c | 14 +-
140 files changed, 2965 insertions(+), 2113 deletions(-)
create mode 100644 target-alpha/gdbstub.c
create mode 100644 target-arm/gdbstub.c
create mode 100644 target-cris/gdbstub.c
create mode 100644 target-i386/gdbstub.c
create mode 100644 target-lm32/gdbstub.c
create mode 100644 target-m68k/gdbstub.c
create mode 100644 target-microblaze/gdbstub.c
create mode 100644 target-mips/gdbstub.c
create mode 100644 target-openrisc/gdbstub.c
create mode 100644 target-ppc/gdbstub.c
create mode 100644 target-s390x/gdbstub.c
create mode 100644 target-sh4/gdbstub.c
create mode 100644 target-sparc/gdbstub.c
create mode 100644 target-xtensa/gdbstub.c
--
1.8.1.4
- [Qemu-devel] [PATCH RFC qom-cpu 00/41] QOM CPUState, part 11: GDB stub,
Andreas Färber <=
- [Qemu-devel] [PATCH RFC qom-cpu 03/41] gdbstub: Change GDBState::query_cpu to CPUState, Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 01/41] log: Change log_cpu_state[_mask]() argument to CPUState, Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 02/41] cpu: Move reset logging to CPUState, Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 05/41] target-m68k: Implement CPUClass::set_pc(), Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 06/41] target-moxie: Implement CPUClass::set_pc(), Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 07/41] target-unicore32: Implement CPUClass::set_pc(), Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 04/41] cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc(), Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 09/41] gdbstub: Replace two find_cpu() with qemu_get_cpu(), Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 10/41] target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU, Andreas Färber, 2013/06/29
- [Qemu-devel] [PATCH RFC qom-cpu 11/41] target-arm: Change gen_intermediate_code_internal() argument to ARMCPU, Andreas Färber, 2013/06/29