qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU
@ 2012-04-02 17:09 Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 1/4] target-s390x: QOM'ify CPU Andreas Färber
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Andreas Färber @ 2012-04-02 17:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Christian Borntraeger, Andreas Färber, Alexander Graf

Hello,

This series breaks down my S/390 QOM'ification patch from the qom-cpu-others.v1
RFC series into better digestable pieces and reorders it next.
s390x ignores any user-specified -cpu argument, thus needs only one CPU type.

I've tested both TCG by running SLES installation and briefly KVM on SLES.

Christian, could you please verify this doesn't break your test cases
and add your Tested-by?

Available from:
git://github.com/afaerber/qemu-cpu.git qom-cpu-s390.v2
https://github.com/afaerber/qemu-cpu/commits/qom-cpu-s390.v2

Regards,
Andreas

Cc: Alexander Graf <agraf@suse.de>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>

v1 -> v2:
* Split off from qom-cpu-others series.
* Rebased onto qemu.git, no longer depends on target-sh4 wrt Makefile.target.
* Fix LGPLv2.1 license notice, s/Library/Lesser/g (bug in German GNU web page).
* Split out reset, initfn and opaque change into their own patches.
* Drop an unneeded #include, update argument/variable naming to avoid "klass".

Andreas Färber (4):
  target-s390x: QOM'ify CPU
  target-s390x: QOM'ify CPU reset
  target-s390x: QOM'ify CPU init
  target-s390x: Update s390x_{tod,cpu}_timer to use S390CPU

 Makefile.target        |    1 +
 target-s390x/cpu-qom.h |   71 +++++++++++++++++++++++++++++++++++
 target-s390x/cpu.c     |   96 ++++++++++++++++++++++++++++++++++++++++++++++++
 target-s390x/cpu.h     |    5 ++
 target-s390x/helper.c  |   41 +++++---------------
 5 files changed, 184 insertions(+), 30 deletions(-)
 create mode 100644 target-s390x/cpu-qom.h
 create mode 100644 target-s390x/cpu.c

-- 
1.7.7

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 1/4] target-s390x: QOM'ify CPU
  2012-04-02 17:09 [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Andreas Färber
@ 2012-04-02 17:09 ` Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 2/4] target-s390x: QOM'ify CPU reset Andreas Färber
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2012-04-02 17:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Christian Borntraeger, Andreas Färber, Alexander Graf

Embed CPUS390XState as first member of S390CPU.
Since -cpu is being ignored, make TYPE_S390_CPU non-abstract.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 Makefile.target        |    1 +
 target-s390x/cpu-qom.h |   71 ++++++++++++++++++++++++++++++++++++++++++++++++
 target-s390x/cpu.c     |   60 ++++++++++++++++++++++++++++++++++++++++
 target-s390x/cpu.h     |    2 +
 target-s390x/helper.c  |    4 ++-
 5 files changed, 137 insertions(+), 1 deletions(-)
 create mode 100644 target-s390x/cpu-qom.h
 create mode 100644 target-s390x/cpu.c

diff --git a/Makefile.target b/Makefile.target
index cff15f0..999a968 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -93,6 +93,7 @@ libobj-$(TARGET_SPARC64) += vis_helper.o
 libobj-$(CONFIG_NEED_MMU) += mmu.o
 libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
 libobj-$(TARGET_ARM) += cpu.o
+libobj-$(TARGET_S390X) += cpu.o
 ifeq ($(TARGET_BASE_ARCH), sparc)
 libobj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
 libobj-y += cpu_init.o
diff --git a/target-s390x/cpu-qom.h b/target-s390x/cpu-qom.h
new file mode 100644
index 0000000..6fa55a8
--- /dev/null
+++ b/target-s390x/cpu-qom.h
@@ -0,0 +1,71 @@
+/*
+ * QEMU S/390 CPU
+ *
+ * Copyright (c) 2012 SUSE LINUX Products GmbH
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see
+ * <http://www.gnu.org/licenses/lgpl-2.1.html>
+ */
+#ifndef QEMU_S390_CPU_QOM_H
+#define QEMU_S390_CPU_QOM_H
+
+#include "qemu/cpu.h"
+#include "cpu.h"
+
+#define TYPE_S390_CPU "s390-cpu"
+
+#define S390_CPU_CLASS(klass) \
+    OBJECT_CLASS_CHECK(S390CPUClass, (klass), TYPE_S390_CPU)
+#define S390_CPU(obj) \
+    OBJECT_CHECK(S390CPU, (obj), TYPE_S390_CPU)
+#define S390_CPU_GET_CLASS(obj) \
+    OBJECT_GET_CLASS(S390CPUClass, (obj), TYPE_S390_CPU)
+
+/**
+ * S390CPUClass:
+ * @parent_reset: The parent class' reset handler.
+ *
+ * An S/390 CPU model.
+ */
+typedef struct S390CPUClass {
+    /*< private >*/
+    CPUClass parent_class;
+    /*< public >*/
+
+    void (*parent_reset)(CPUState *cpu);
+} S390CPUClass;
+
+/**
+ * S390CPU:
+ * @env: #CPUS390XState.
+ *
+ * An S/390 CPU.
+ */
+typedef struct S390CPU {
+    /*< private >*/
+    CPUState parent_obj;
+    /*< public >*/
+
+    CPUS390XState env;
+} S390CPU;
+
+static inline S390CPU *s390_env_get_cpu(CPUS390XState *env)
+{
+    return S390_CPU(container_of(env, S390CPU, env));
+}
+
+#define ENV_GET_CPU(e) CPU(s390_env_get_cpu(e))
+
+
+#endif
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
new file mode 100644
index 0000000..94320f2
--- /dev/null
+++ b/target-s390x/cpu.c
@@ -0,0 +1,60 @@
+/*
+ * QEMU S/390 CPU
+ *
+ * Copyright (c) 2012 SUSE LINUX Products GmbH
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see
+ * <http://www.gnu.org/licenses/lgpl-2.1.html>
+ */
+
+#include "cpu-qom.h"
+#include "qemu-common.h"
+#include "qemu-timer.h"
+
+
+static void s390_cpu_reset(CPUState *s)
+{
+    S390CPU *cpu = S390_CPU(s);
+    S390CPUClass *scc = S390_CPU_GET_CLASS(cpu);
+    CPUS390XState *env = &cpu->env;
+
+    scc->parent_reset(s);
+
+    cpu_state_reset(env);
+}
+
+static void s390_cpu_class_init(ObjectClass *oc, void *data)
+{
+    S390CPUClass *scc = S390_CPU_CLASS(oc);
+    CPUClass *cc = CPU_CLASS(scc);
+
+    scc->parent_reset = cc->reset;
+    cc->reset = s390_cpu_reset;
+}
+
+static const TypeInfo s390_cpu_type_info = {
+    .name = TYPE_S390_CPU,
+    .parent = TYPE_CPU,
+    .instance_size = sizeof(S390CPU),
+    .abstract = false,
+    .class_size = sizeof(S390CPUClass),
+    .class_init = s390_cpu_class_init,
+};
+
+static void s390_cpu_register_types(void)
+{
+    type_register_static(&s390_cpu_type_info);
+}
+
+type_init(s390_cpu_register_types)
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index ea849fc..c6ee959 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -991,4 +991,6 @@ static inline void cpu_pc_from_tb(CPUS390XState *env, TranslationBlock* tb)
     env->psw.addr = tb->pc;
 }
 
+#include "cpu-qom.h"
+
 #endif
diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index 44d5048..ae57ab3 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -70,6 +70,7 @@ static void s390x_cpu_timer(void *opaque)
 
 CPUS390XState *cpu_s390x_init(const char *cpu_model)
 {
+    S390CPU *cpu;
     CPUS390XState *env;
 #if !defined (CONFIG_USER_ONLY)
     struct tm tm;
@@ -77,7 +78,8 @@ CPUS390XState *cpu_s390x_init(const char *cpu_model)
     static int inited = 0;
     static int cpu_num = 0;
 
-    env = g_malloc0(sizeof(CPUS390XState));
+    cpu = S390_CPU(object_new(TYPE_S390_CPU));
+    env = &cpu->env;
     cpu_exec_init(env);
     if (tcg_enabled() && !inited) {
         inited = 1;
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 2/4] target-s390x: QOM'ify CPU reset
  2012-04-02 17:09 [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 1/4] target-s390x: QOM'ify CPU Andreas Färber
@ 2012-04-02 17:09 ` Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 3/4] target-s390x: QOM'ify CPU init Andreas Färber
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2012-04-02 17:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Christian Borntraeger, Andreas Färber, Alexander Graf

Move code from cpu_state_reset() to s390_cpu_reset().

Signed-off-by: Andreas Färber <afaerber@suse.de>
Cc: Ulrich Hecht <uli@suse.de>
---
 target-s390x/cpu.c    |   13 ++++++++++++-
 target-s390x/helper.c |   12 ++----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index 94320f2..cae0b18 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -1,6 +1,8 @@
 /*
  * QEMU S/390 CPU
  *
+ * Copyright (c) 2009 Ulrich Hecht
+ * Copyright (c) 2011 Alexander Graf
  * Copyright (c) 2012 SUSE LINUX Products GmbH
  *
  * This library is free software; you can redistribute it and/or
@@ -23,15 +25,24 @@
 #include "qemu-timer.h"
 
 
+/* CPUClass::reset() */
 static void s390_cpu_reset(CPUState *s)
 {
     S390CPU *cpu = S390_CPU(s);
     S390CPUClass *scc = S390_CPU_GET_CLASS(cpu);
     CPUS390XState *env = &cpu->env;
 
+    if (qemu_loglevel_mask(CPU_LOG_RESET)) {
+        qemu_log("CPU Reset (CPU %d)\n", env->cpu_index);
+        log_cpu_state(env, 0);
+    }
+
     scc->parent_reset(s);
 
-    cpu_state_reset(env);
+    memset(env, 0, offsetof(CPUS390XState, breakpoints));
+    /* FIXME: reset vector? */
+    tlb_flush(env, 1);
+    s390_add_running_cpu(env);
 }
 
 static void s390_cpu_class_init(ObjectClass *oc, void *data)
diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index ae57ab3..cd3e8f5 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -97,7 +97,7 @@ CPUS390XState *cpu_s390x_init(const char *cpu_model)
     env->cpu_model_str = cpu_model;
     env->cpu_num = cpu_num++;
     env->ext_index = -1;
-    cpu_state_reset(env);
+    cpu_reset(CPU(cpu));
     qemu_init_vcpu(env);
     return env;
 }
@@ -123,15 +123,7 @@ int cpu_s390x_handle_mmu_fault (CPUS390XState *env, target_ulong address, int rw
 
 void cpu_state_reset(CPUS390XState *env)
 {
-    if (qemu_loglevel_mask(CPU_LOG_RESET)) {
-        qemu_log("CPU Reset (CPU %d)\n", env->cpu_index);
-        log_cpu_state(env, 0);
-    }
-
-    memset(env, 0, offsetof(CPUS390XState, breakpoints));
-    /* FIXME: reset vector? */
-    tlb_flush(env, 1);
-    s390_add_running_cpu(env);
+    cpu_reset(ENV_GET_CPU(env));
 }
 
 #ifndef CONFIG_USER_ONLY
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 3/4] target-s390x: QOM'ify CPU init
  2012-04-02 17:09 [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 1/4] target-s390x: QOM'ify CPU Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 2/4] target-s390x: QOM'ify CPU reset Andreas Färber
@ 2012-04-02 17:09 ` Andreas Färber
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 4/4] target-s390x: Update s390x_{tod, cpu}_timer to use S390CPU Andreas Färber
  2012-04-03 12:38 ` [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Christian Borntraeger
  4 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2012-04-02 17:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Christian Borntraeger, Andreas Färber, Alexander Graf

Move code from cpu_s390x_init() into an initfn.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 target-s390x/cpu.c    |   25 +++++++++++++++++++++++++
 target-s390x/cpu.h    |    3 +++
 target-s390x/helper.c |   21 +++------------------
 3 files changed, 31 insertions(+), 18 deletions(-)

diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index cae0b18..72ec349 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -45,6 +45,30 @@ static void s390_cpu_reset(CPUState *s)
     s390_add_running_cpu(env);
 }
 
+static void s390_cpu_initfn(Object *obj)
+{
+    S390CPU *cpu = S390_CPU(obj);
+    CPUS390XState *env = &cpu->env;
+    static int cpu_num = 0;
+#if !defined(CONFIG_USER_ONLY)
+    struct tm tm;
+#endif
+
+    cpu_exec_init(env);
+#if !defined(CONFIG_USER_ONLY)
+    qemu_get_timedate(&tm, 0);
+    env->tod_offset = TOD_UNIX_EPOCH +
+                      (time2tod(mktimegm(&tm)) * 1000000000ULL);
+    env->tod_basetime = 0;
+    env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, env);
+    env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, env);
+#endif
+    env->cpu_num = cpu_num++;
+    env->ext_index = -1;
+
+    cpu_reset(CPU(cpu));
+}
+
 static void s390_cpu_class_init(ObjectClass *oc, void *data)
 {
     S390CPUClass *scc = S390_CPU_CLASS(oc);
@@ -58,6 +82,7 @@ static const TypeInfo s390_cpu_type_info = {
     .name = TYPE_S390_CPU,
     .parent = TYPE_CPU,
     .instance_size = sizeof(S390CPU),
+    .instance_init = s390_cpu_initfn,
     .abstract = false,
     .class_size = sizeof(S390CPUClass),
     .class_init = s390_cpu_class_init,
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index c6ee959..2f3f394 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -288,6 +288,9 @@ int cpu_s390x_handle_mmu_fault (CPUS390XState *env, target_ulong address, int rw
 
 
 #ifndef CONFIG_USER_ONLY
+void s390x_tod_timer(void *opaque);
+void s390x_cpu_timer(void *opaque);
+
 int s390_virtio_hypercall(CPUS390XState *env, uint64_t mem, uint64_t hypercall);
 
 #ifdef CONFIG_KVM
diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index cd3e8f5..6233f9a 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -51,7 +51,7 @@
 #endif
 
 #ifndef CONFIG_USER_ONLY
-static void s390x_tod_timer(void *opaque)
+void s390x_tod_timer(void *opaque)
 {
     CPUS390XState *env = opaque;
 
@@ -59,7 +59,7 @@ static void s390x_tod_timer(void *opaque)
     cpu_interrupt(env, CPU_INTERRUPT_HARD);
 }
 
-static void s390x_cpu_timer(void *opaque)
+void s390x_cpu_timer(void *opaque)
 {
     CPUS390XState *env = opaque;
 
@@ -72,32 +72,17 @@ CPUS390XState *cpu_s390x_init(const char *cpu_model)
 {
     S390CPU *cpu;
     CPUS390XState *env;
-#if !defined (CONFIG_USER_ONLY)
-    struct tm tm;
-#endif
     static int inited = 0;
-    static int cpu_num = 0;
 
     cpu = S390_CPU(object_new(TYPE_S390_CPU));
     env = &cpu->env;
-    cpu_exec_init(env);
+
     if (tcg_enabled() && !inited) {
         inited = 1;
         s390x_translate_init();
     }
 
-#if !defined(CONFIG_USER_ONLY)
-    qemu_get_timedate(&tm, 0);
-    env->tod_offset = TOD_UNIX_EPOCH +
-                      (time2tod(mktimegm(&tm)) * 1000000000ULL);
-    env->tod_basetime = 0;
-    env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, env);
-    env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, env);
-#endif
     env->cpu_model_str = cpu_model;
-    env->cpu_num = cpu_num++;
-    env->ext_index = -1;
-    cpu_reset(CPU(cpu));
     qemu_init_vcpu(env);
     return env;
 }
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 4/4] target-s390x: Update s390x_{tod, cpu}_timer to use S390CPU
  2012-04-02 17:09 [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Andreas Färber
                   ` (2 preceding siblings ...)
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 3/4] target-s390x: QOM'ify CPU init Andreas Färber
@ 2012-04-02 17:09 ` Andreas Färber
  2012-04-03 12:38 ` [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Christian Borntraeger
  4 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2012-04-02 17:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Christian Borntraeger, Andreas Färber, Alexander Graf

In place of CPUS390XState pass S390CPU as opaque from the new initfn.
cpu_interrupt() is anticipated to take a CPUState in the future.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 target-s390x/cpu.c    |    4 ++--
 target-s390x/helper.c |    6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index 72ec349..f183213 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -60,8 +60,8 @@ static void s390_cpu_initfn(Object *obj)
     env->tod_offset = TOD_UNIX_EPOCH +
                       (time2tod(mktimegm(&tm)) * 1000000000ULL);
     env->tod_basetime = 0;
-    env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, env);
-    env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, env);
+    env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, cpu);
+    env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, cpu);
 #endif
     env->cpu_num = cpu_num++;
     env->ext_index = -1;
diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index 6233f9a..209a696 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -53,7 +53,8 @@
 #ifndef CONFIG_USER_ONLY
 void s390x_tod_timer(void *opaque)
 {
-    CPUS390XState *env = opaque;
+    S390CPU *cpu = opaque;
+    CPUS390XState *env = &cpu->env;
 
     env->pending_int |= INTERRUPT_TOD;
     cpu_interrupt(env, CPU_INTERRUPT_HARD);
@@ -61,7 +62,8 @@ void s390x_tod_timer(void *opaque)
 
 void s390x_cpu_timer(void *opaque)
 {
-    CPUS390XState *env = opaque;
+    S390CPU *cpu = opaque;
+    CPUS390XState *env = &cpu->env;
 
     env->pending_int |= INTERRUPT_CPUTIMER;
     cpu_interrupt(env, CPU_INTERRUPT_HARD);
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU
  2012-04-02 17:09 [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Andreas Färber
                   ` (3 preceding siblings ...)
  2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 4/4] target-s390x: Update s390x_{tod, cpu}_timer to use S390CPU Andreas Färber
@ 2012-04-03 12:38 ` Christian Borntraeger
  2012-04-04 15:38   ` Andreas Färber
  4 siblings, 1 reply; 7+ messages in thread
From: Christian Borntraeger @ 2012-04-03 12:38 UTC (permalink / raw)
  To: Andreas Färber; +Cc: qemu-devel, Alexander Graf

On 02/04/12 19:09, Andreas Färber wrote:
> Hello,
> 
> This series breaks down my S/390 QOM'ification patch from the qom-cpu-others.v1
> RFC series into better digestable pieces and reorders it next.
> s390x ignores any user-specified -cpu argument, thus needs only one CPU type.
> 
> I've tested both TCG by running SLES installation and briefly KVM on SLES.
> 
> Christian, could you please verify this doesn't break your test cases
> and add your Tested-by?

(kvm-only) Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU
  2012-04-03 12:38 ` [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Christian Borntraeger
@ 2012-04-04 15:38   ` Andreas Färber
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2012-04-04 15:38 UTC (permalink / raw)
  To: Christian Borntraeger; +Cc: qemu-devel, Alexander Graf

Am 03.04.2012 14:38, schrieb Christian Borntraeger:
> On 02/04/12 19:09, Andreas Färber wrote:
>> Hello,
>>
>> This series breaks down my S/390 QOM'ification patch from the qom-cpu-others.v1
>> RFC series into better digestable pieces and reorders it next.
>> s390x ignores any user-specified -cpu argument, thus needs only one CPU type.
>>
>> I've tested both TCG by running SLES installation and briefly KVM on SLES.
>>
>> Christian, could you please verify this doesn't break your test cases
>> and add your Tested-by?
> 
> (kvm-only) Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>

Thanks a lot, applied to s390-next:
http://repo.or.cz/w/qemu/agraf.git/shortlog/refs/heads/s390-next

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-04-04 15:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-02 17:09 [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Andreas Färber
2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 1/4] target-s390x: QOM'ify CPU Andreas Färber
2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 2/4] target-s390x: QOM'ify CPU reset Andreas Färber
2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 3/4] target-s390x: QOM'ify CPU init Andreas Färber
2012-04-02 17:09 ` [Qemu-devel] [PATCH v2 4/4] target-s390x: Update s390x_{tod, cpu}_timer to use S390CPU Andreas Färber
2012-04-03 12:38 ` [Qemu-devel] [PATCH v2 0/4] QOM'ify S/390 CPU Christian Borntraeger
2012-04-04 15:38   ` Andreas Färber

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).