qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Alexander Graf" <agraf@suse.de>,
	"open list:X86" <kvm@vger.kernel.org>,
	"Gleb Natapov" <gleb@redhat.com>,
	"Marcelo Tosatti" <mtosatti@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Luiz Capitulino" <lcapitulino@redhat.com>,
	"open list:PowerPC" <qemu-ppc@nongnu.org>,
	"Andreas Färber" <afaerber@suse.de>,
	"Richard Henderson" <rth@twiddle.net>
Subject: [Qemu-devel] [PATCH qom-cpu 02/59] kvm: Change cpu_synchronize_state() argument to CPUState
Date: Sun,  9 Jun 2013 21:12:29 +0200	[thread overview]
Message-ID: <1370805206-26574-3-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1370805206-26574-1-git-send-email-afaerber@suse.de>

Change Monitor::mon_cpu to CPUState as well.
In cpu_sychronize_all_states() use qemu_for_each_cpu() now.
In dump_init() use cpu_synchronize_all_states().

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 cpus.c                  | 13 +++++++------
 gdbstub.c               |  8 ++++----
 hw/i386/kvm/apic.c      |  2 +-
 hw/i386/kvmvapic.c      |  4 ++--
 hw/misc/vmport.c        |  2 +-
 hw/ppc/ppce500_spin.c   |  2 +-
 include/sysemu/kvm.h    |  4 ++--
 monitor.c               |  6 +++---
 target-i386/helper.c    |  4 ++--
 target-i386/kvm.c       |  2 +-
 target-ppc/mmu-hash64.c |  2 +-
 target-ppc/translate.c  |  2 +-
 target-s390x/kvm.c      |  9 +++++----
 13 files changed, 31 insertions(+), 29 deletions(-)

diff --git a/cpus.c b/cpus.c
index c232265..8ff66c3 100644
--- a/cpus.c
+++ b/cpus.c
@@ -405,13 +405,14 @@ void hw_error(const char *fmt, ...)
     abort();
 }
 
-void cpu_synchronize_all_states(void)
+static void cpu_synchronize_one_state(CPUState *cpu, void *data)
 {
-    CPUArchState *cpu;
+    cpu_synchronize_state(cpu);
+}
 
-    for (cpu = first_cpu; cpu; cpu = cpu->next_cpu) {
-        cpu_synchronize_state(cpu);
-    }
+void cpu_synchronize_all_states(void)
+{
+    qemu_for_each_cpu(cpu_synchronize_one_state, NULL);
 }
 
 void cpu_synchronize_all_post_reset(void)
@@ -1219,7 +1220,7 @@ CpuInfoList *qmp_query_cpus(Error **errp)
         CPUState *cpu = ENV_GET_CPU(env);
         CpuInfoList *info;
 
-        cpu_synchronize_state(env);
+        cpu_synchronize_state(cpu);
 
         info = g_malloc0(sizeof(*info));
         info->value = g_malloc0(sizeof(*info->value));
diff --git a/gdbstub.c b/gdbstub.c
index 90e54cb..fb6c6a5 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -2030,7 +2030,7 @@ static void gdb_breakpoint_remove_all(void)
 
 static void gdb_set_cpu_pc(GDBState *s, target_ulong pc)
 {
-    cpu_synchronize_state(s->c_cpu);
+    cpu_synchronize_state(ENV_GET_CPU(s->c_cpu));
 #if defined(TARGET_I386)
     s->c_cpu->eip = pc;
 #elif defined (TARGET_PPC)
@@ -2229,7 +2229,7 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
         }
         break;
     case 'g':
-        cpu_synchronize_state(s->g_cpu);
+        cpu_synchronize_state(ENV_GET_CPU(s->g_cpu));
         env = s->g_cpu;
         len = 0;
         for (addr = 0; addr < num_g_regs; addr++) {
@@ -2240,7 +2240,7 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
         put_packet(s, buf);
         break;
     case 'G':
-        cpu_synchronize_state(s->g_cpu);
+        cpu_synchronize_state(ENV_GET_CPU(s->g_cpu));
         env = s->g_cpu;
         registers = mem_buf;
         len = strlen(p) / 2;
@@ -2408,7 +2408,7 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
             env = find_cpu(thread);
             if (env != NULL) {
                 CPUState *cpu = ENV_GET_CPU(env);
-                cpu_synchronize_state(env);
+                cpu_synchronize_state(cpu);
                 len = snprintf((char *)mem_buf, sizeof(mem_buf),
                                "CPU#%d [%s]", cpu->cpu_index,
                                cpu->halted ? "halted " : "running");
diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c
index 8f80425..bd0bdd8 100644
--- a/hw/i386/kvm/apic.c
+++ b/hw/i386/kvm/apic.c
@@ -129,7 +129,7 @@ static void do_inject_external_nmi(void *data)
     uint32_t lvt;
     int ret;
 
-    cpu_synchronize_state(&s->cpu->env);
+    cpu_synchronize_state(cpu);
 
     lvt = s->lvt[APIC_LVT_LINT1];
     if (!(lvt & APIC_LVT_MASKED) && ((lvt >> 8) & 7) == APIC_DM_NMI) {
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index 655483b..f93629f 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -456,7 +456,7 @@ void vapic_report_tpr_access(DeviceState *dev, CPUState *cs, target_ulong ip,
     X86CPU *cpu = X86_CPU(cs);
     CPUX86State *env = &cpu->env;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(cs);
 
     if (evaluate_tpr_instruction(s, env, &ip, access) < 0) {
         if (s->state == VAPIC_ACTIVE) {
@@ -627,7 +627,7 @@ static void vapic_write(void *opaque, hwaddr addr, uint64_t data,
     hwaddr rom_paddr;
     VAPICROMState *s = opaque;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(CPU(x86_env_get_cpu(env)));
 
     /*
      * The VAPIC supports two PIO-based hypercalls, both via port 0x7E.
diff --git a/hw/misc/vmport.c b/hw/misc/vmport.c
index c146129..7026481 100644
--- a/hw/misc/vmport.c
+++ b/hw/misc/vmport.c
@@ -66,7 +66,7 @@ static uint64_t vmport_ioport_read(void *opaque, hwaddr addr,
     unsigned char command;
     uint32_t eax;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(CPU(x86_env_get_cpu(env)));
 
     eax = env->regs[R_EAX];
     if (eax != VMPORT_MAGIC)
diff --git a/hw/ppc/ppce500_spin.c b/hw/ppc/ppce500_spin.c
index 1290d37..ea65414 100644
--- a/hw/ppc/ppce500_spin.c
+++ b/hw/ppc/ppce500_spin.c
@@ -98,7 +98,7 @@ static void spin_kick(void *data)
     hwaddr map_size = 64 * 1024 * 1024;
     hwaddr map_start;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(cpu);
     stl_p(&curspin->pir, env->spr[SPR_PIR]);
     env->nip = ldq_p(&curspin->addr) & (map_size - 1);
     env->gpr[3] = ldq_p(&curspin->r3);
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 3e1db28..06da2b3 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -263,10 +263,10 @@ void kvm_cpu_synchronize_state(CPUState *cpu);
 
 /* generic hooks - to be moved/refactored once there are more users */
 
-static inline void cpu_synchronize_state(CPUArchState *env)
+static inline void cpu_synchronize_state(CPUState *cpu)
 {
     if (kvm_enabled()) {
-        kvm_cpu_synchronize_state(ENV_GET_CPU(env));
+        kvm_cpu_synchronize_state(cpu);
     }
 }
 
diff --git a/monitor.c b/monitor.c
index 017411f..6e22d15 100644
--- a/monitor.c
+++ b/monitor.c
@@ -191,7 +191,7 @@ struct Monitor {
     QString *outbuf;
     ReadLineState *rs;
     MonitorControl *mc;
-    CPUArchState *mon_cpu;
+    CPUState *mon_cpu;
     BlockDriverCompletionFunc *password_completion_cb;
     void *password_opaque;
     QError *error;
@@ -900,7 +900,7 @@ int monitor_set_cpu(int cpu_index)
     if (cpu == NULL) {
         return -1;
     }
-    cur_mon->mon_cpu = cpu->env_ptr;
+    cur_mon->mon_cpu = cpu;
     return 0;
 }
 
@@ -910,7 +910,7 @@ static CPUArchState *mon_get_cpu(void)
         monitor_set_cpu(0);
     }
     cpu_synchronize_state(cur_mon->mon_cpu);
-    return cur_mon->mon_cpu;
+    return cur_mon->mon_cpu->env_ptr;
 }
 
 int monitor_get_cpu_index(void)
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 158710a..803945d 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -187,7 +187,7 @@ void cpu_dump_state(CPUX86State *env, FILE *f, fprintf_function cpu_fprintf,
     char cc_op_name[32];
     static const char *seg_name[6] = { "ES", "CS", "SS", "DS", "FS", "GS" };
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(cs);
 
     eflags = cpu_compute_eflags(env);
 #ifdef TARGET_X86_64
@@ -1116,7 +1116,7 @@ static void do_inject_x86_mce(void *data)
     CPUState *cpu = CPU(params->cpu);
     uint64_t *banks = cenv->mce_banks + 4 * params->bank;
 
-    cpu_synchronize_state(cenv);
+    cpu_synchronize_state(cpu);
 
     /*
      * If there is an MCE exception being processed, ignore this SRAO MCE
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 0b0adfd..39f4fbb 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -2079,7 +2079,7 @@ static int kvm_handle_debug(X86CPU *cpu,
         ret = EXCP_DEBUG;
     }
     if (ret == 0) {
-        cpu_synchronize_state(env);
+        cpu_synchronize_state(CPU(cpu));
         assert(env->exception_injected == -1);
 
         /* pass to guest */
diff --git a/target-ppc/mmu-hash64.c b/target-ppc/mmu-hash64.c
index 43ccf45..5c67ec3 100644
--- a/target-ppc/mmu-hash64.c
+++ b/target-ppc/mmu-hash64.c
@@ -78,7 +78,7 @@ void dump_slb(FILE *f, fprintf_function cpu_fprintf, CPUPPCState *env)
     int i;
     uint64_t slbe, slbv;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(CPU(ppc_env_get_cpu(env)));
 
     cpu_fprintf(f, "SLB\tESID\t\t\tVSID\n");
     for (i = 0; i < env->slb_nr; i++) {
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 4590c6f..076cdac 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -9534,7 +9534,7 @@ void cpu_dump_state (CPUPPCState *env, FILE *f, fprintf_function cpu_fprintf,
 
     int i;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(CPU(ppc_env_get_cpu(env)));
 
     cpu_fprintf(f, "NIP " TARGET_FMT_lx "   LR " TARGET_FMT_lx " CTR "
                 TARGET_FMT_lx " XER " TARGET_FMT_lx "\n",
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index 862fb12..167dd7d 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -450,7 +450,7 @@ static int kvm_sclp_service_call(S390CPU *cpu, struct kvm_run *run,
     uint64_t code;
     int r = 0;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(CPU(cpu));
     sccb = env->regs[ipbh0 & 0xf];
     code = env->regs[(ipbh0 & 0xf0) >> 4];
 
@@ -656,16 +656,17 @@ static int s390_store_status(CPUS390XState *env, uint32_t parameter)
 
 static int s390_cpu_initial_reset(S390CPU *cpu)
 {
+    CPUState *cs = CPU(cpu);
     CPUS390XState *env = &cpu->env;
     int i;
 
     s390_del_running_cpu(cpu);
-    if (kvm_vcpu_ioctl(CPU(cpu), KVM_S390_INITIAL_RESET, NULL) < 0) {
+    if (kvm_vcpu_ioctl(cs, KVM_S390_INITIAL_RESET, NULL) < 0) {
         perror("cannot init reset vcpu");
     }
 
     /* Manually zero out all registers */
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(cs);
     for (i = 0; i < 16; i++) {
         env->regs[i] = 0;
     }
@@ -685,7 +686,7 @@ static int handle_sigp(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
     S390CPU *target_cpu;
     CPUS390XState *target_env;
 
-    cpu_synchronize_state(env);
+    cpu_synchronize_state(CPU(cpu));
 
     /* get order code */
     order_code = run->s390_sieic.ipb >> 28;
-- 
1.8.1.4

  parent reply	other threads:[~2013-06-09 19:13 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-09 19:12 [Qemu-devel] [PATCH qom-cpu 00/59] QOM CPUState, part 10: CPU loops Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 01/59] kvm: Change kvm_cpu_synchronize_state() argument to CPUState Andreas Färber
2013-06-10  1:58   ` li guang
2013-06-09 19:12 ` Andreas Färber [this message]
2013-06-10  2:00   ` [Qemu-devel] [PATCH qom-cpu 02/59] kvm: Change cpu_synchronize_state() " li guang
2013-06-10 23:23     ` Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 03/59] cpus: Simplify cpu_synchronize_all_post_reset() Andreas Färber
2013-06-10  2:04   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 04/59] cpus: Simplify cpu_synchronize_all_post_init() Andreas Färber
2013-06-10  2:04   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 05/59] cpus: Simplify pause_all_vcpus() Andreas Färber
2013-06-10  2:14   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 06/59] cpus: Simplify resume_all_vcpus() Andreas Färber
2013-06-10  2:14   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 07/59] cpus: Simplify set_numa_modes() Andreas Färber
2013-06-10  2:15   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 08/59] cpus: Simplify qmp_inject_nmi() Andreas Färber
2013-06-10  2:19   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 09/59] cpus: Simplify hw_error() Andreas Färber
2013-06-10  2:19   ` li guang
2013-06-10 21:48   ` Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 10/59] cpus: Simplify qemu_tcg_wait_io_event() and qemu_tcg_cpu_thread_fn() Andreas Färber
2013-06-10  2:20   ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 11/59] monitor: Simplify do_inject_mce() Andreas Färber
2013-06-10  2:47   ` li guang
2013-06-10 17:14   ` Luiz Capitulino
2013-06-10 22:15     ` Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 12/59] gdbstub: Simplify find_cpu() Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 13/59] cpu: Change cpu_exit() argument to CPUState Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 14/59] cpus: Change cpu_thread_is_idle() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 15/59] cpus: Change qemu_kvm_wait_io_event() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 16/59] kvm: Change kvm_set_signal_mask() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 17/59] cpus: Change qemu_kvm_init_cpu_signals() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 18/59] cpu: Turn cpu_dump_{state, statistics}() into CPUState hooks Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 19/59] kvm: Change kvm_handle_internal_error() argument to CPUState Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 20/59] kvm: Change kvm_cpu_exec() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 21/59] gdbstub: Set gdb_set_stop_cpu() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 22/59] cpus: Change cpu_handle_guest_debug() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 23/59] cpus: Change qemu_kvm_start_vcpu() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 24/59] cpus: Change qemu_dummy_start_vcpu() " Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 25/59] cpu: Change qemu_init_vcpu() " Andreas Färber
2013-06-11  2:39   ` li guang
2013-06-16  8:27     ` Andreas Färber
2013-06-16 16:35       ` Andreas Färber
2013-06-18  2:23         ` li guang
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 26/59] hwaddr: Make hwaddr type usable beyond softmmu Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 27/59] cpu: Turn cpu_unassigned_access() into a CPUState hook Andreas Färber
2013-06-10 22:05   ` Andreas Färber
2013-06-11 11:51     ` Stefano Stabellini
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 28/59] cpu: Replace cpu_single_env with CPUState cpu_single_cpu Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 29/59] cputlb: Simplify cpu_tlb_reset_dirty_all() Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 30/59] exec: Simplify tcg_commit() Andreas Färber
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 31/59] monitor: Simplify do_info_numa() Andreas Färber
2013-06-10  7:20   ` Markus Armbruster
2013-06-10 21:23     ` Andreas Färber
2013-06-11  7:41       ` Markus Armbruster
2013-06-16 16:41         ` Andreas Färber
2013-06-16 20:31           ` Michael S. Tsirkin
2013-06-09 19:12 ` [Qemu-devel] [PATCH qom-cpu 32/59] kvm: Simplify kvm_{insert, remove, remove_all}_breakpoint[s]() Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 33/59] kvm: Simplify kvm_remove_all_breakpoints() further Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 34/59] kvm: Change kvm_remove_all_breakpoints() argument to CPUState Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 35/59] linux-user: Simplify start_exclusive() Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 36/59] linux-user/elfload: Abstract fill_note_info() with qemu_for_each_cpu() Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 37/59] target-i386: Abstract cpu_x86_inject_mce() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 38/59] translate-all: Abstract tb_flush() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 39/59] translate-all: Abstract tb_phys_invalidate() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 40/59] target-ppc: Abstract helper_msgsnd() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 41/59] target-mips: Abstract helper_dvpe() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 42/59] target-mips: Abstract helper_evpe() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 43/59] kvmclock: Abstract kvmclock_vm_state_change() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 44/59] kvmvapic: Abstract vapic_enable_tpr_reporting() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 45/59] pc: Abstract pic_irq_request() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 46/59] ppc: Abstract ppce500_set_mpic_proxy() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 47/59] spapr: Abstract spapr_fix_cpu_dt() " Andreas Färber
2013-06-11  2:43   ` David Gibson
2013-06-11 10:12     ` Andreas Färber
2013-06-12 14:28       ` Alexey Kardashevskiy
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 48/59] cpus: Abstract all_cpu_threads_idle() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 49/59] cpus: Abstract all_vcpus_paused() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 50/59] cpus: Abstract qmp_query_cpus() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 51/59] exec: Abstract qemu_get_cpu() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 52/59] gdbstub: Abstract gdb_breakpoint_{insert, remove}() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 53/59] gdbstub: Abstract gdb_breakpoint_remove_all() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 54/59] spapr: Abstract spapr_create_fdt_skel() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 55/59] spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu() Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 56/59] spapr_rtas: Abstract rtas_start_cpu() " Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 57/59] cpu: Make first_cpu and next_cpu CPUState (WIP) Andreas Färber
2013-06-09 20:08   ` Andreas Färber
2013-06-09 21:13   ` Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 58/59] linux-user: Change thread_env to CPUState Andreas Färber
2013-06-09 19:13 ` [Qemu-devel] [PATCH qom-cpu 59/59] bsd-user: " Andreas Färber
2013-06-10 14:17 ` [Qemu-devel] [PATCH qom-cpu 00/59] QOM CPUState, part 10: CPU loops Stefano Stabellini
2013-06-10 14:47   ` Andreas Färber
2013-06-10 15:36     ` Stefano Stabellini
2013-06-13  0:12 ` Andreas Färber

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=1370805206-26574-3-git-send-email-afaerber@suse.de \
    --to=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=armbru@redhat.com \
    --cc=gleb@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lcapitulino@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=rth@twiddle.net \
    /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).