qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]