From: Igor Mammedov <imammedo@redhat.com> To: "Andreas Färber" <afaerber@suse.de> Cc: Alexander Graf <agraf@suse.de>, "open list:X86" <kvm@vger.kernel.org>, Gleb Natapov <gleb@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>, "open list:PowerPC" <qemu-ppc@nongnu.org>, Richard Henderson <rth@twiddle.net> Subject: Re: [PATCH qom-cpu v2 02/29] kvm: Change cpu_synchronize_state() argument to CPUState Date: Tue, 18 Jun 2013 11:39:56 +0200 [thread overview] Message-ID: <20130618113956.466c8800@thinkpad> (raw) In-Reply-To: <1371398269-6213-3-git-send-email-afaerber@suse.de> On Sun, 16 Jun 2013 17:57:22 +0200 Andreas Färber <afaerber@suse.de> wrote: > Change Monitor::mon_cpu to CPUState as well. > In cpu_synchronize_all_states() use qemu_for_each_cpu() now. > > Reviewed-by: liguang <lig.fnst@cn.fujitsu.com> > Signed-off-by: Andreas Färber <afaerber@suse.de> > --- > cpus.c | 8 ++++---- > 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, 28 insertions(+), 27 deletions(-) > > diff --git a/cpus.c b/cpus.c > index c232265..3260f09 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -407,10 +407,10 @@ void hw_error(const char *fmt, ...) > > void cpu_synchronize_all_states(void) > { > - CPUArchState *cpu; > + CPUArchState *env; > > - for (cpu = first_cpu; cpu; cpu = cpu->next_cpu) { > - cpu_synchronize_state(cpu); > + for (env = first_cpu; env; env = env->next_cpu) { > + cpu_synchronize_state(ENV_GET_CPU(env)); > } > } > > @@ -1219,7 +1219,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 94c78ce..bbae06d 100644 > --- a/gdbstub.c > +++ b/gdbstub.c > @@ -2033,7 +2033,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) > @@ -2232,7 +2232,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++) { > @@ -2243,7 +2243,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; > @@ -2411,7 +2411,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))); why not use ENV_GET_CPU() here and in several other places below to make it uniform? > > /* > * The VAPIC supports two PIO-based hypercalls, both via port 0x7E. > diff --git a/hw/misc/vmport.c b/hw/misc/vmport.c > index 57b71f5..8363dfd 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 70ae8f5..19c297d 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 4d9ac4a..e7b3049 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 > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Regards, Igor
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mammedov <imammedo@redhat.com> To: "Andreas Färber" <afaerber@suse.de> Cc: Alexander Graf <agraf@suse.de>, "open list:X86" <kvm@vger.kernel.org>, Gleb Natapov <gleb@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>, "open list:PowerPC" <qemu-ppc@nongnu.org>, Richard Henderson <rth@twiddle.net> Subject: Re: [Qemu-devel] [PATCH qom-cpu v2 02/29] kvm: Change cpu_synchronize_state() argument to CPUState Date: Tue, 18 Jun 2013 11:39:56 +0200 [thread overview] Message-ID: <20130618113956.466c8800@thinkpad> (raw) In-Reply-To: <1371398269-6213-3-git-send-email-afaerber@suse.de> On Sun, 16 Jun 2013 17:57:22 +0200 Andreas Färber <afaerber@suse.de> wrote: > Change Monitor::mon_cpu to CPUState as well. > In cpu_synchronize_all_states() use qemu_for_each_cpu() now. > > Reviewed-by: liguang <lig.fnst@cn.fujitsu.com> > Signed-off-by: Andreas Färber <afaerber@suse.de> > --- > cpus.c | 8 ++++---- > 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, 28 insertions(+), 27 deletions(-) > > diff --git a/cpus.c b/cpus.c > index c232265..3260f09 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -407,10 +407,10 @@ void hw_error(const char *fmt, ...) > > void cpu_synchronize_all_states(void) > { > - CPUArchState *cpu; > + CPUArchState *env; > > - for (cpu = first_cpu; cpu; cpu = cpu->next_cpu) { > - cpu_synchronize_state(cpu); > + for (env = first_cpu; env; env = env->next_cpu) { > + cpu_synchronize_state(ENV_GET_CPU(env)); > } > } > > @@ -1219,7 +1219,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 94c78ce..bbae06d 100644 > --- a/gdbstub.c > +++ b/gdbstub.c > @@ -2033,7 +2033,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) > @@ -2232,7 +2232,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++) { > @@ -2243,7 +2243,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; > @@ -2411,7 +2411,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))); why not use ENV_GET_CPU() here and in several other places below to make it uniform? > > /* > * The VAPIC supports two PIO-based hypercalls, both via port 0x7E. > diff --git a/hw/misc/vmport.c b/hw/misc/vmport.c > index 57b71f5..8363dfd 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 70ae8f5..19c297d 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 4d9ac4a..e7b3049 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 > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Regards, Igor
next prev parent reply other threads:[~2013-06-18 9:39 UTC|newest] Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-06-16 15:57 [Qemu-devel] [PATCH qom-cpu v2 00/29] QOM CPUState, part 10: CPU loops Andreas Färber 2013-06-16 15:57 ` [PATCH qom-cpu v2 01/29] kvm: Change kvm_cpu_synchronize_state() argument to CPUState Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 19:48 ` Richard Henderson [not found] ` <51BF360E.8090402@redhat.com> 2013-06-18 16:36 ` Andreas Färber 2013-06-18 16:36 ` [Qemu-devel] " Andreas Färber 2013-06-16 15:57 ` [PATCH qom-cpu v2 02/29] kvm: Change cpu_synchronize_state() " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 19:46 ` Richard Henderson 2013-06-17 20:58 ` Andreas Färber 2013-06-17 21:02 ` Richard Henderson 2013-06-17 21:09 ` Andreas Färber 2013-06-18 9:39 ` Igor Mammedov [this message] 2013-06-18 9:39 ` Igor Mammedov 2013-06-21 10:25 ` Andreas Färber 2013-06-21 10:25 ` [Qemu-devel] " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 03/29] gdbstub: Simplify find_cpu() Andreas Färber 2013-06-17 19:54 ` Richard Henderson 2013-06-19 17:30 ` Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 04/29] cpu: Change cpu_exit() argument to CPUState Andreas Färber 2013-06-17 19:59 ` Richard Henderson 2013-06-17 21:00 ` Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 05/29] cpus: Change cpu_thread_is_idle() " Andreas Färber 2013-06-17 20:00 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 06/29] cpus: Change qemu_kvm_wait_io_event() " Andreas Färber 2013-06-17 20:02 ` Richard Henderson 2013-06-16 15:57 ` [PATCH qom-cpu v2 07/29] kvm: Change kvm_set_signal_mask() " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 16:15 ` Paolo Bonzini 2013-06-17 16:15 ` [Qemu-devel] " Paolo Bonzini 2013-06-17 20:03 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 08/29] cpus: Change qemu_kvm_init_cpu_signals() " Andreas Färber 2013-06-17 20:04 ` Richard Henderson 2013-06-16 15:57 ` [PATCH qom-cpu v2 09/29] cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 09/29] cpu: Turn cpu_dump_{state, statistics}() " Andreas Färber 2013-06-17 20:12 ` Richard Henderson 2013-06-16 15:57 ` [PATCH qom-cpu v2 10/29] kvm: Change kvm_handle_internal_error() argument to CPUState Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 16:16 ` Paolo Bonzini 2013-06-17 16:16 ` [Qemu-devel] " Paolo Bonzini 2013-06-17 20:13 ` Richard Henderson 2013-06-17 20:13 ` [Qemu-devel] " Richard Henderson 2013-06-16 15:57 ` [PATCH qom-cpu v2 11/29] kvm: Change kvm_cpu_exec() " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 16:17 ` Paolo Bonzini 2013-06-17 16:17 ` [Qemu-devel] " Paolo Bonzini 2013-06-17 20:14 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 12/29] gdbstub: Set gdb_set_stop_cpu() " Andreas Färber 2013-06-17 20:15 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 13/29] cpus: Change cpu_handle_guest_debug() " Andreas Färber 2013-06-17 20:17 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 14/29] cpus: Change qemu_kvm_start_vcpu() " Andreas Färber 2013-06-17 20:18 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 15/29] cpus: Change qemu_dummy_start_vcpu() " Andreas Färber 2013-06-17 20:19 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 16/29] cpu: Change qemu_init_vcpu() " Andreas Färber 2013-06-17 20:23 ` Richard Henderson 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 17/29] hwaddr: Make hwaddr type usable beyond softmmu Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 18/29] cpu: Turn cpu_unassigned_access() into a CPUState hook Andreas Färber 2013-06-17 20:34 ` Richard Henderson 2013-06-21 10:31 ` Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 19/29] cpu: Replace cpu_single_env with CPUState cpu_single_cpu Andreas Färber 2013-06-16 20:49 ` Blue Swirl 2013-06-18 16:52 ` Andreas Färber 2013-06-19 12:59 ` Paolo Bonzini 2013-06-17 20:40 ` Richard Henderson 2013-06-21 10:32 ` Andreas Färber 2013-07-15 14:56 ` Paolo Bonzini 2013-07-15 15:20 ` Andreas Färber 2013-07-15 15:29 ` Paolo Bonzini 2013-07-18 10:25 ` Andreas Färber 2013-06-16 15:57 ` [PATCH qom-cpu v2 20/29] kvm: Change kvm_remove_all_breakpoints() argument to CPUState Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 16:17 ` Paolo Bonzini 2013-06-17 16:17 ` [Qemu-devel] " Paolo Bonzini 2013-06-27 15:58 ` Andreas Färber 2013-06-17 20:41 ` Richard Henderson 2013-06-16 15:57 ` [PATCH qom-cpu v2 21/29] cpu: Make first_cpu and next_cpu CPUState Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] " Andreas Färber 2013-06-17 16:20 ` Paolo Bonzini 2013-06-17 16:20 ` [Qemu-devel] " Paolo Bonzini 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 22/29] linux-user: Change thread_env to CPUState Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 23/29] bsd-user: " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 24/29] cpu: Drop qemu_for_each_cpu() Andreas Färber 2013-06-16 20:26 ` Michael S. Tsirkin 2013-06-16 20:30 ` Peter Maydell 2013-06-16 20:36 ` Michael S. Tsirkin 2013-06-16 20:41 ` Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 25/29] cpu: Move CPU_INTERRUPT_* to qom/cpu.h Andreas Färber 2013-06-17 20:59 ` Richard Henderson 2013-06-17 21:13 ` Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 26/29] intc/sh_intc: Build sh_intc only once Andreas Färber 2013-06-17 21:08 ` Richard Henderson 2013-06-17 21:17 ` Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 27/29] intc/arm_gic: Build arm_gic " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 28/29] intc/openpic: Build openpic " Andreas Färber 2013-06-16 15:57 ` [Qemu-devel] [PATCH qom-cpu v2 29/29] timer/arm_mptimer: Build arm_mptimer " Andreas Färber 2013-06-26 14:20 ` [Qemu-devel] [PATCH qom-cpu v2 00/29] QOM CPUState, part 10: CPU loops 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=20130618113956.466c8800@thinkpad \ --to=imammedo@redhat.com \ --cc=afaerber@suse.de \ --cc=agraf@suse.de \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.