qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: jan.kiszka@web.de, "Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PATCH RFC qom-cpu 27/41] cpu: Change cpu_single_step() argument to CPUState
Date: Sat, 29 Jun 2013 22:01:43 +0200	[thread overview]
Message-ID: <1372536117-28167-28-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1372536117-28167-1-git-send-email-afaerber@suse.de>

Use CPUState::env_ptr for now.

Needed for GdbState::c_cpu.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 exec.c                 | 4 ++--
 gdbstub.c              | 9 +++++----
 include/exec/cpu-all.h | 6 ------
 include/qom/cpu.h      | 6 ++++++
 4 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/exec.c b/exec.c
index f2d848c..56a1d84 100644
--- a/exec.c
+++ b/exec.c
@@ -581,10 +581,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 ede5cb1..17da380 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -2153,7 +2153,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);
@@ -2181,7 +2181,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':
@@ -2568,7 +2568,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
 
@@ -2761,6 +2761,7 @@ gdb_queuesig (void)
 int
 gdb_handlesig(CPUArchState *env, int sig)
 {
+    CPUState *cpu = ENV_GET_CPU(env);
     GDBState *s;
     char buf[256];
     int n;
@@ -2771,7 +2772,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 a02b142..cd10b1d 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -482,6 +482,12 @@ 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 */
+
+void cpu_single_step(CPUState *cpu, int enabled);
+
 #ifdef CONFIG_SOFTMMU
 extern const struct VMStateDescription vmstate_cpu_common;
 #else
-- 
1.8.1.4

  parent reply	other threads:[~2013-06-29 20:02 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-29 20:01 [Qemu-devel] [PATCH RFC qom-cpu 00/41] QOM CPUState, part 11: GDB stub Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 01/41] log: Change log_cpu_state[_mask]() argument to CPUState Andreas Färber
2013-07-01 17:03   ` Richard Henderson
2013-07-01 17:21     ` Andreas Färber
2013-07-01 20:22       ` Richard Henderson
2013-07-02  1:26   ` Andreas Färber
2013-07-02 21:17     ` Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 02/41] cpu: Move reset logging " Andreas Färber
2013-07-01 17:04   ` Richard Henderson
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 03/41] gdbstub: Change GDBState::query_cpu " Andreas Färber
2013-07-01 17:05   ` Richard Henderson
2013-07-02 22:11     ` Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 04/41] cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc() Andreas Färber
2013-07-01 17:09   ` Richard Henderson
2013-07-01 17:25     ` Andreas Färber
2013-07-01 19:03       ` Richard Henderson
2013-07-01 19:41         ` Peter Maydell
2013-07-01 20:20           ` Richard Henderson
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 05/41] target-m68k: Implement CPUClass::set_pc() Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 06/41] target-moxie: " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 07/41] target-unicore32: " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 08/41] cpu: Introduce CPUClass::synchronize_from_tb() to drop cpu_pc_from_tb() Andreas Färber
2013-07-01 17:13   ` Richard Henderson
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 09/41] gdbstub: Replace two find_cpu() with qemu_get_cpu() Andreas Färber
2013-07-01 17:14   ` Richard Henderson
2013-07-06  0:42     ` Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 10/41] target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU Andreas Färber
2013-07-01 17:15   ` Richard Henderson
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 11/41] target-arm: Change gen_intermediate_code_internal() argument to ARMCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 12/41] target-cris: Change gen_intermediate_code_internal() argument to CRISCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 13/41] target-i386: Change gen_intermediate_code_internal() argument to X86CPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 14/41] target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 15/41] target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 16/41] target-microblaze: Change gen_intermediate_code_internal() argument types Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 17/41] target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 18/41] target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 19/41] target-s390x: Change gen_intermediate_code_internal() argument to S390CPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 20/41] target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 21/41] target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 22/41] target-unicore32: Change gen_intermediate_code_internal() signature Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 23/41] target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU Andreas Färber
2013-07-01 17:16   ` Richard Henderson
2013-07-01 17:51     ` Andreas Färber
2013-07-01 18:03       ` Richard Henderson
2013-07-01 21:46         ` Andreas Färber
2013-07-02 21:13     ` Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 24/41] target-alpha: Change DisasContext::env to CPUState Andreas Färber
2013-07-01 17:18   ` Richard Henderson
2013-07-01 17:23   ` Richard Henderson
2013-07-01 17:42     ` Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 25/41] cpu: Move singlestep_enabled field from CPU_COMMON " Andreas Färber
2013-07-01 17:27   ` Richard Henderson
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 26/41] gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style Andreas Färber
2013-06-29 20:01 ` Andreas Färber [this message]
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 28/41] kvm: Change kvm_{insert, remove}_breakpoint() argument to CPUState Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 29/41] gdbstub: Change syscall callback " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 30/41] gdbstub: Change gdb_handlesig() " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 31/41] gdbstub: Change GDBState::c_cpu " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 32/41] gdbstub: Change gdb_{read, write}_register() argument " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 33/41] cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook Andreas Färber
2013-07-06 20:19   ` Andreas Färber
2013-07-06 22:42     ` Max Filippov
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 34/41] exec: Change cpu_memory_rw_debug() argument to CPUState Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 35/41] cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug() Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 36/41] gdbstub: Change GDBState::g_cpu to CPUState Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 37/41] cpu: Move gdb_regs field from CPU_COMMON " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 38/41] gdbstub: Change gdb_register_coprocessor() argument " Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 39/41] target-xtensa: Introduce XtensaCPU subclasses Andreas Färber
2013-07-06 12:55   ` Andreas Färber
2013-07-06 18:01     ` Max Filippov
2013-07-06 18:39       ` Max Filippov
2013-07-06 19:12         ` Andreas Färber
2013-07-06 19:54           ` Max Filippov
2013-07-07 18:51             ` Andreas Färber
2013-07-06 18:45       ` Andreas Färber
2013-07-06 19:41         ` Max Filippov
2013-07-06 19:45       ` Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 40/41] gdbstub: Move num_g_regs to CPUState and NUM_CORE_REGS to CPUClass Andreas Färber
2013-06-29 20:01 ` [Qemu-devel] [PATCH RFC qom-cpu 41/41] cpu: Introduce CPUClass::gdb_{read, write}_register() Andreas Färber
2013-07-01 18:07   ` Richard Henderson
2013-07-06 19:18     ` Andreas Färber
2013-06-30 12:23 ` [Qemu-devel] [PATCH RFC qom-cpu 00/41] QOM CPUState, part 11: GDB stub Michael Walle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1372536117-28167-28-git-send-email-afaerber@suse.de \
    --to=afaerber@suse.de \
    --cc=jan.kiszka@web.de \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).