[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH qom-cpu v3 09/41] cpu: Change cpu_single_step() argu
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH qom-cpu v3 09/41] cpu: Change cpu_single_step() argument to CPUState |
Date: |
Wed, 10 Jul 2013 00:23:28 +0200 |
Use CPUState::env_ptr for now.
Needed for GdbState::c_cpu.
Signed-off-by: Andreas Färber <address@hidden>
---
exec.c | 4 ++--
gdbstub.c | 9 +++++----
include/exec/cpu-all.h | 6 ------
include/qom/cpu.h | 13 +++++++++++++
4 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/exec.c b/exec.c
index ae6eb24..4c9e921 100644
--- a/exec.c
+++ b/exec.c
@@ -585,10 +585,10 @@ void cpu_breakpoint_remove_all(CPUArchState *env, int
mask)
/* enable or disable single step mode. EXCP_DEBUG is returned by the
CPU loop after each instruction */
-void cpu_single_step(CPUArchState *env, int enabled)
+void cpu_single_step(CPUState *cpu, int enabled)
{
#if defined(TARGET_HAS_ICE)
- CPUState *cpu = ENV_GET_CPU(env);
+ CPUArchState *env = cpu->env_ptr;
if (cpu->singlestep_enabled != enabled) {
cpu->singlestep_enabled = enabled;
diff --git a/gdbstub.c b/gdbstub.c
index 6ddff91..8e23509 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -2154,7 +2154,7 @@ static int gdb_handle_packet(GDBState *s, const char
*line_buf)
s->c_cpu = env;
}
if (res == 's') {
- cpu_single_step(s->c_cpu, sstep_flags);
+ cpu_single_step(ENV_GET_CPU(s->c_cpu), sstep_flags);
}
s->signal = res_signal;
gdb_continue(s);
@@ -2182,7 +2182,7 @@ static int gdb_handle_packet(GDBState *s, const char
*line_buf)
addr = strtoull(p, (char **)&p, 16);
gdb_set_cpu_pc(s, addr);
}
- cpu_single_step(s->c_cpu, sstep_flags);
+ cpu_single_step(ENV_GET_CPU(s->c_cpu), sstep_flags);
gdb_continue(s);
return RS_IDLE;
case 'F':
@@ -2570,7 +2570,7 @@ send_packet:
put_packet(s, buf);
/* disable single step if it was enabled */
- cpu_single_step(env, 0);
+ cpu_single_step(cpu, 0);
}
#endif
@@ -2763,6 +2763,7 @@ gdb_queuesig (void)
int
gdb_handlesig(CPUArchState *env, int sig)
{
+ CPUState *cpu = ENV_GET_CPU(env);
GDBState *s;
char buf[256];
int n;
@@ -2773,7 +2774,7 @@ gdb_handlesig(CPUArchState *env, int sig)
}
/* disable single step if it was enabled */
- cpu_single_step(env, 0);
+ cpu_single_step(cpu, 0);
tb_flush(env);
if (sig != 0) {
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 6499cd0..1f3c002 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -428,12 +428,6 @@ int cpu_watchpoint_remove(CPUArchState *env, target_ulong
addr,
void cpu_watchpoint_remove_by_ref(CPUArchState *env, CPUWatchpoint
*watchpoint);
void cpu_watchpoint_remove_all(CPUArchState *env, int mask);
-#define SSTEP_ENABLE 0x1 /* Enable simulated HW single stepping */
-#define SSTEP_NOIRQ 0x2 /* Do not use IRQ while single stepping */
-#define SSTEP_NOTIMER 0x4 /* Do not Timers while single stepping */
-
-void cpu_single_step(CPUArchState *env, int enabled);
-
#if !defined(CONFIG_USER_ONLY)
/* Return the physical page corresponding to a virtual one. Use it
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 136482c..641be1c 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -496,6 +496,19 @@ void cpu_resume(CPUState *cpu);
*/
void qemu_init_vcpu(CPUState *cpu);
+#define SSTEP_ENABLE 0x1 /* Enable simulated HW single stepping */
+#define SSTEP_NOIRQ 0x2 /* Do not use IRQ while single stepping */
+#define SSTEP_NOTIMER 0x4 /* Do not Timers while single stepping */
+
+/**
+ * cpu_single_step:
+ * @cpu: CPU to the flags for.
+ * @enabled: Flags to enable.
+ *
+ * Enables or disables single-stepping for @cpu.
+ */
+void cpu_single_step(CPUState *cpu, int enabled);
+
#ifdef CONFIG_SOFTMMU
extern const struct VMStateDescription vmstate_cpu_common;
#else
--
1.8.1.4
- [Qemu-devel] [PATCH qom-cpu v3 00/41] QOM CPUState, part 11: GDB stub, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 04/41] target-moxie: Implement CPUClass::set_pc(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 01/41] cpu: Introduce vaddr type, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 03/41] target-m68k: Implement CPUClass::set_pc(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 05/41] target-unicore32: Implement CPUClass::set_pc(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 02/41] cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 08/41] gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 06/41] cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 10/41] kvm: Change kvm_{insert, remove}_breakpoint() argument to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 11/41] gdbstub: Change syscall callback argument to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 09/41] cpu: Change cpu_single_step() argument to CPUState,
Andreas Färber <=
- [Qemu-devel] [PATCH qom-cpu v3 13/41] gdbstub: Change gdb_{read, write}_register() argument to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 12/41] gdbstub: Change gdb_handlesig() argument to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 07/41] cpu: Move singlestep_enabled field from CPU_COMMON to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 16/41] cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 18/41] cpu: Move gdb_regs field from CPU_COMMON to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 19/41] gdbstub: Change gdb_register_coprocessor() argument to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 20/41] target-xtensa: Introduce XtensaCPU subclasses, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 17/41] gdbstub: Change GDBState::{c, g}_cpu and find_cpu() to CPUState, Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 22/41] gdbstub: Drop dead code in cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/09
- [Qemu-devel] [PATCH qom-cpu v3 15/41] exec: Change cpu_memory_rw_debug() argument to CPUState, Andreas Färber, 2013/07/09