All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc
@ 2016-10-23  6:31 xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 1/9] hw/misc: QOM'ify eccmemctl.c xiaoqiang zhao
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

This patch set aims for QOM'ifying code relate with sparc.
It is part of my QOM'ify work of qemu code base.

xiaoqiang zhao (9):
  hw/misc: QOM'ify eccmemctl.c
  hw/dma: QOM'ify sparc32_dma.c
  hw/dma: QOM'ify sun4m_iommu.c
  hw/misc: QOM'ify slavio_misc.c
  hw/timer: QOM'ify m48txx_sysbus (pass 1)
  hw/timer: QOM'ify m48txx_sysbus (pass 2)
  hw/timer: QOM'ify slavio_timer
  hw/sparc: QOM'ify sun4m.c
  hw/sparc64: QOM'ify sun4u.c

 hw/dma/sparc32_dma.c    | 25 ++++++++++++--------
 hw/dma/sun4m_iommu.c    | 12 ++++------
 hw/misc/eccmemctl.c     | 25 ++++++++++++--------
 hw/misc/slavio_misc.c   | 43 ++++++++++++++--------------------
 hw/sparc/sun4m.c        | 54 +++++++++++++++----------------------------
 hw/sparc64/sun4u.c      | 20 ++++++++--------
 hw/timer/m48t59.c       | 61 ++++++++++++++++++++++++++++++++++---------------
 hw/timer/slavio_timer.c | 12 ++++------
 8 files changed, 128 insertions(+), 124 deletions(-)

-- 
2.9.3

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

* [Qemu-devel] [PATCH 1/9] hw/misc: QOM'ify eccmemctl.c
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 2/9] hw/dma: QOM'ify sparc32_dma.c xiaoqiang zhao
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

* Split the old SysBus init into an instance_init and a
  DeviceClass::realize function
* Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/misc/eccmemctl.c | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/hw/misc/eccmemctl.c b/hw/misc/eccmemctl.c
index a0071f3..bb7cc52 100644
--- a/hw/misc/eccmemctl.c
+++ b/hw/misc/eccmemctl.c
@@ -295,22 +295,29 @@ static void ecc_reset(DeviceState *d)
     s->regs[ECC_ECR1] = 0;
 }
 
-static int ecc_init1(SysBusDevice *dev)
+static void ecc_init(Object *obj)
 {
-    ECCState *s = ECC_MEMCTL(dev);
+    ECCState *s = ECC_MEMCTL(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(dev, &s->irq);
-    s->regs[0] = s->version;
-    memory_region_init_io(&s->iomem, OBJECT(dev), &ecc_mem_ops, s, "ecc", ECC_SIZE);
+
+    memory_region_init_io(&s->iomem, obj, &ecc_mem_ops, s, "ecc", ECC_SIZE);
     sysbus_init_mmio(dev, &s->iomem);
+}
+
+static void ecc_realize(DeviceState *dev, Error **errp)
+{
+    ECCState *s = ECC_MEMCTL(dev);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
+
+    s->regs[0] = s->version;
 
     if (s->version == ECC_MCC) { // SS-600MP only
         memory_region_init_io(&s->iomem_diag, OBJECT(dev), &ecc_diag_mem_ops, s,
                               "ecc.diag", ECC_DIAG_SIZE);
-        sysbus_init_mmio(dev, &s->iomem_diag);
+        sysbus_init_mmio(sbd, &s->iomem_diag);
     }
-
-    return 0;
 }
 
 static Property ecc_properties[] = {
@@ -321,9 +328,8 @@ static Property ecc_properties[] = {
 static void ecc_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = ecc_init1;
+    dc->realize = ecc_realize;
     dc->reset = ecc_reset;
     dc->vmsd = &vmstate_ecc;
     dc->props = ecc_properties;
@@ -333,6 +339,7 @@ static const TypeInfo ecc_info = {
     .name          = TYPE_ECC_MEMCTL,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(ECCState),
+    .instance_init = ecc_init,
     .class_init    = ecc_class_init,
 };
 
-- 
2.9.3

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

* [Qemu-devel] [PATCH 2/9] hw/dma: QOM'ify sparc32_dma.c
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 1/9] hw/misc: QOM'ify eccmemctl.c xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 3/9] hw/dma: QOM'ify sun4m_iommu.c xiaoqiang zhao
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

Drop the old SysBus init function and use instance_init
and an realize function

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/dma/sparc32_dma.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
index 9d545e4..ef4c6a9 100644
--- a/hw/dma/sparc32_dma.c
+++ b/hw/dma/sparc32_dma.c
@@ -270,23 +270,28 @@ static const VMStateDescription vmstate_dma = {
     }
 };
 
-static int sparc32_dma_init1(SysBusDevice *sbd)
+static void sparc32_dma_init(Object *obj)
 {
-    DeviceState *dev = DEVICE(sbd);
-    DMAState *s = SPARC32_DMA(dev);
-    int reg_size;
+    DeviceState *dev = DEVICE(obj);
+    DMAState *s = SPARC32_DMA(obj);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(sbd, &s->irq);
 
-    reg_size = s->is_ledma ? DMA_ETH_SIZE : DMA_SIZE;
-    memory_region_init_io(&s->iomem, OBJECT(s), &dma_mem_ops, s,
-                          "dma", reg_size);
     sysbus_init_mmio(sbd, &s->iomem);
 
     qdev_init_gpio_in(dev, dma_set_irq, 1);
     qdev_init_gpio_out(dev, s->gpio, 2);
+}
 
-    return 0;
+static void sparc32_dma_realize(DeviceState *dev, Error **errp)
+{
+    DMAState *s = SPARC32_DMA(dev);
+    int reg_size;
+
+    reg_size = s->is_ledma ? DMA_ETH_SIZE : DMA_SIZE;
+    memory_region_init_io(&s->iomem, OBJECT(dev), &dma_mem_ops, s,
+                          "dma", reg_size);
 }
 
 static Property sparc32_dma_properties[] = {
@@ -298,12 +303,11 @@ static Property sparc32_dma_properties[] = {
 static void sparc32_dma_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = sparc32_dma_init1;
     dc->reset = dma_reset;
     dc->vmsd = &vmstate_dma;
     dc->props = sparc32_dma_properties;
+    dc->realize = sparc32_dma_realize;
     /* Reason: pointer property "iommu_opaque" */
     dc->cannot_instantiate_with_device_add_yet = true;
 }
@@ -312,6 +316,7 @@ static const TypeInfo sparc32_dma_info = {
     .name          = TYPE_SPARC32_DMA,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(DMAState),
+    .instance_init = sparc32_dma_init,
     .class_init    = sparc32_dma_class_init,
 };
 
-- 
2.9.3

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

* [Qemu-devel] [PATCH 3/9] hw/dma: QOM'ify sun4m_iommu.c
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 1/9] hw/misc: QOM'ify eccmemctl.c xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 2/9] hw/dma: QOM'ify sparc32_dma.c xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 4/9] hw/misc: QOM'ify slavio_misc.c xiaoqiang zhao
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/dma/sun4m_iommu.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/hw/dma/sun4m_iommu.c b/hw/dma/sun4m_iommu.c
index b3cbc54..335ef63 100644
--- a/hw/dma/sun4m_iommu.c
+++ b/hw/dma/sun4m_iommu.c
@@ -349,17 +349,16 @@ static void iommu_reset(DeviceState *d)
     s->regs[IOMMU_MASK_ID] = IOMMU_TS_MASK;
 }
 
-static int iommu_init1(SysBusDevice *dev)
+static void iommu_init(Object *obj)
 {
-    IOMMUState *s = SUN4M_IOMMU(dev);
+    IOMMUState *s = SUN4M_IOMMU(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(dev, &s->irq);
 
-    memory_region_init_io(&s->iomem, OBJECT(s), &iommu_mem_ops, s, "iommu",
+    memory_region_init_io(&s->iomem, obj, &iommu_mem_ops, s, "iommu",
                           IOMMU_NREGS * sizeof(uint32_t));
     sysbus_init_mmio(dev, &s->iomem);
-
-    return 0;
 }
 
 static Property iommu_properties[] = {
@@ -370,9 +369,7 @@ static Property iommu_properties[] = {
 static void iommu_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = iommu_init1;
     dc->reset = iommu_reset;
     dc->vmsd = &vmstate_iommu;
     dc->props = iommu_properties;
@@ -382,6 +379,7 @@ static const TypeInfo iommu_info = {
     .name          = TYPE_SUN4M_IOMMU,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(IOMMUState),
+    .instance_init = iommu_init,
     .class_init    = iommu_class_init,
 };
 
-- 
2.9.3

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

* [Qemu-devel] [PATCH 4/9] hw/misc: QOM'ify slavio_misc.c
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (2 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 3/9] hw/dma: QOM'ify sun4m_iommu.c xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 5/9] hw/timer: QOM'ify m48txx_sysbus (pass 1) xiaoqiang zhao
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/misc/slavio_misc.c | 43 +++++++++++++++++--------------------------
 1 file changed, 17 insertions(+), 26 deletions(-)

diff --git a/hw/misc/slavio_misc.c b/hw/misc/slavio_misc.c
index edd5de0..e1a706e 100644
--- a/hw/misc/slavio_misc.c
+++ b/hw/misc/slavio_misc.c
@@ -414,76 +414,73 @@ static const VMStateDescription vmstate_misc = {
     }
 };
 
-static int apc_init1(SysBusDevice *dev)
+static void apc_init(Object *obj)
 {
-    APCState *s = APC(dev);
+    APCState *s = APC(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(dev, &s->cpu_halt);
 
     /* Power management (APC) XXX: not a Slavio device */
-    memory_region_init_io(&s->iomem, OBJECT(s), &apc_mem_ops, s,
+    memory_region_init_io(&s->iomem, obj, &apc_mem_ops, s,
                           "apc", MISC_SIZE);
     sysbus_init_mmio(dev, &s->iomem);
-    return 0;
 }
 
-static int slavio_misc_init1(SysBusDevice *sbd)
+static void slavio_misc_init(Object *obj)
 {
-    DeviceState *dev = DEVICE(sbd);
-    MiscState *s = SLAVIO_MISC(dev);
+    DeviceState *dev = DEVICE(obj);
+    MiscState *s = SLAVIO_MISC(obj);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(sbd, &s->irq);
     sysbus_init_irq(sbd, &s->fdc_tc);
 
     /* 8 bit registers */
     /* Slavio control */
-    memory_region_init_io(&s->cfg_iomem, OBJECT(s), &slavio_cfg_mem_ops, s,
+    memory_region_init_io(&s->cfg_iomem, obj, &slavio_cfg_mem_ops, s,
                           "configuration", MISC_SIZE);
     sysbus_init_mmio(sbd, &s->cfg_iomem);
 
     /* Diagnostics */
-    memory_region_init_io(&s->diag_iomem, OBJECT(s), &slavio_diag_mem_ops, s,
+    memory_region_init_io(&s->diag_iomem, obj, &slavio_diag_mem_ops, s,
                           "diagnostic", MISC_SIZE);
     sysbus_init_mmio(sbd, &s->diag_iomem);
 
     /* Modem control */
-    memory_region_init_io(&s->mdm_iomem, OBJECT(s), &slavio_mdm_mem_ops, s,
+    memory_region_init_io(&s->mdm_iomem, obj, &slavio_mdm_mem_ops, s,
                           "modem", MISC_SIZE);
     sysbus_init_mmio(sbd, &s->mdm_iomem);
 
     /* 16 bit registers */
     /* ss600mp diag LEDs */
-    memory_region_init_io(&s->led_iomem, OBJECT(s), &slavio_led_mem_ops, s,
+    memory_region_init_io(&s->led_iomem, obj, &slavio_led_mem_ops, s,
                           "leds", LED_SIZE);
     sysbus_init_mmio(sbd, &s->led_iomem);
 
     /* 32 bit registers */
     /* System control */
-    memory_region_init_io(&s->sysctrl_iomem, OBJECT(s), &slavio_sysctrl_mem_ops, s,
+    memory_region_init_io(&s->sysctrl_iomem, obj, &slavio_sysctrl_mem_ops, s,
                           "system-control", SYSCTRL_SIZE);
     sysbus_init_mmio(sbd, &s->sysctrl_iomem);
 
     /* AUX 1 (Misc System Functions) */
-    memory_region_init_io(&s->aux1_iomem, OBJECT(s), &slavio_aux1_mem_ops, s,
+    memory_region_init_io(&s->aux1_iomem, obj, &slavio_aux1_mem_ops, s,
                           "misc-system-functions", MISC_SIZE);
     sysbus_init_mmio(sbd, &s->aux1_iomem);
 
     /* AUX 2 (Software Powerdown Control) */
-    memory_region_init_io(&s->aux2_iomem, OBJECT(s), &slavio_aux2_mem_ops, s,
+    memory_region_init_io(&s->aux2_iomem, obj, &slavio_aux2_mem_ops, s,
                           "software-powerdown-control", MISC_SIZE);
     sysbus_init_mmio(sbd, &s->aux2_iomem);
 
     qdev_init_gpio_in(dev, slavio_set_power_fail, 1);
-
-    return 0;
 }
 
 static void slavio_misc_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = slavio_misc_init1;
     dc->reset = slavio_misc_reset;
     dc->vmsd = &vmstate_misc;
 }
@@ -492,21 +489,15 @@ static const TypeInfo slavio_misc_info = {
     .name          = TYPE_SLAVIO_MISC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(MiscState),
+    .instance_init = slavio_misc_init,
     .class_init    = slavio_misc_class_init,
 };
 
-static void apc_class_init(ObjectClass *klass, void *data)
-{
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-
-    k->init = apc_init1;
-}
-
 static const TypeInfo apc_info = {
     .name          = TYPE_APC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(MiscState),
-    .class_init    = apc_class_init,
+    .instance_init = apc_init,
 };
 
 static void slavio_misc_register_types(void)
-- 
2.9.3

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

* [Qemu-devel] [PATCH 5/9] hw/timer: QOM'ify m48txx_sysbus (pass 1)
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (3 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 4/9] hw/misc: QOM'ify slavio_misc.c xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 6/9] hw/timer: QOM'ify m48txx_sysbus (pass 2) xiaoqiang zhao
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

* split the old SysBus init function into an instance_init
  and a Device realize function
* use DeviceClass::realize instead of SysBusDeviceClass::init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/timer/m48t59.c | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/hw/timer/m48t59.c b/hw/timer/m48t59.c
index e46ca88..39e425e 100644
--- a/hw/timer/m48t59.c
+++ b/hw/timer/m48t59.c
@@ -765,30 +765,31 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
     }
 }
 
-static int m48t59_init1(SysBusDevice *dev)
+static void m48t59_init1(Object *obj)
 {
-    M48txxSysBusDeviceClass *u = M48TXX_SYS_BUS_GET_CLASS(dev);
-    M48txxSysBusState *d = M48TXX_SYS_BUS(dev);
-    Object *o = OBJECT(dev);
+    M48txxSysBusDeviceClass *u = M48TXX_SYS_BUS_GET_CLASS(obj);
+    M48txxSysBusState *d = M48TXX_SYS_BUS(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
     M48t59State *s = &d->state;
-    Error *err = NULL;
 
     s->model = u->info.model;
     s->size = u->info.size;
     sysbus_init_irq(dev, &s->IRQ);
 
-    memory_region_init_io(&s->iomem, o, &nvram_ops, s, "m48t59.nvram",
+    memory_region_init_io(&s->iomem, obj, &nvram_ops, s, "m48t59.nvram",
                           s->size);
-    memory_region_init_io(&d->io, o, &m48t59_io_ops, s, "m48t59", 4);
-    sysbus_init_mmio(dev, &s->iomem);
-    sysbus_init_mmio(dev, &d->io);
-    m48t59_realize_common(s, &err);
-    if (err != NULL) {
-        error_free(err);
-        return -1;
-    }
+    memory_region_init_io(&d->io, obj, &m48t59_io_ops, s, "m48t59", 4);
+}
 
-    return 0;
+static void m48t59_realize(DeviceState *dev, Error **errp)
+{
+    M48txxSysBusState *d = M48TXX_SYS_BUS(dev);
+    M48t59State *s = &d->state;
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
+
+    sysbus_init_mmio(sbd, &s->iomem);
+    sysbus_init_mmio(sbd, &d->io);
+    m48t59_realize_common(s, errp);
 }
 
 static uint32_t m48txx_isa_read(Nvram *obj, uint32_t addr)
@@ -862,10 +863,9 @@ static Property m48t59_sysbus_properties[] = {
 static void m48txx_sysbus_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
     NvramClass *nc = NVRAM_CLASS(klass);
 
-    k->init = m48t59_init1;
+    dc->realize = m48t59_realize;
     dc->reset = m48t59_reset_sysbus;
     dc->props = m48t59_sysbus_properties;
     nc->read = m48txx_sysbus_read;
@@ -891,6 +891,7 @@ static const TypeInfo m48txx_sysbus_type_info = {
     .name = TYPE_M48TXX_SYS_BUS,
     .parent = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(M48txxSysBusState),
+    .instance_init = m48t59_init1,
     .abstract = true,
     .class_init = m48txx_sysbus_class_init,
     .interfaces = (InterfaceInfo[]) {
-- 
2.9.3

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

* [Qemu-devel] [PATCH 6/9] hw/timer: QOM'ify m48txx_sysbus (pass 2)
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (4 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 5/9] hw/timer: QOM'ify m48txx_sysbus (pass 1) xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 7/9] hw/timer: QOM'ify slavio_timer xiaoqiang zhao
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

assign DeviceClass::vmsd instead of using vmstate_register function

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/timer/m48t59.c | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/hw/timer/m48t59.c b/hw/timer/m48t59.c
index 39e425e..6afcce4 100644
--- a/hw/timer/m48t59.c
+++ b/hw/timer/m48t59.c
@@ -639,6 +639,28 @@ static const VMStateDescription vmstate_m48t59 = {
     }
 };
 
+static const VMStateDescription vmstate_m48t59_isa = {
+    .name = "m48t59",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .fields = (VMStateField[]) {
+        VMSTATE_STRUCT(state, M48txxISAState, 0,
+                       vmstate_m48t59, M48t59State),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static const VMStateDescription vmstate_m48t59_sys_bus = {
+    .name = "m48t59",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .fields = (VMStateField[]) {
+        VMSTATE_STRUCT(state, M48txxSysBusState, 0,
+                       vmstate_m48t59, M48t59State),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static void m48t59_reset_common(M48t59State *NVRAM)
 {
     NVRAM->addr = 0;
@@ -744,8 +766,6 @@ static void m48t59_realize_common(M48t59State *s, Error **errp)
         s->wd_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, &watchdog_cb, s);
     }
     qemu_get_timedate(&s->alarm, 0);
-
-    vmstate_register(NULL, -1, &vmstate_m48t59, s);
 }
 
 static void m48t59_isa_realize(DeviceState *dev, Error **errp)
@@ -824,6 +844,7 @@ static void m48txx_isa_class_init(ObjectClass *klass, void *data)
     dc->realize = m48t59_isa_realize;
     dc->reset = m48t59_reset_isa;
     dc->props = m48t59_isa_properties;
+    dc->vmsd = &vmstate_m48t59_isa;
     nc->read = m48txx_isa_read;
     nc->write = m48txx_isa_write;
     nc->toggle_lock = m48txx_isa_toggle_lock;
@@ -868,6 +889,7 @@ static void m48txx_sysbus_class_init(ObjectClass *klass, void *data)
     dc->realize = m48t59_realize;
     dc->reset = m48t59_reset_sysbus;
     dc->props = m48t59_sysbus_properties;
+    dc->vmsd = &vmstate_m48t59_sys_bus;
     nc->read = m48txx_sysbus_read;
     nc->write = m48txx_sysbus_write;
     nc->toggle_lock = m48txx_sysbus_toggle_lock;
-- 
2.9.3

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

* [Qemu-devel] [PATCH 7/9] hw/timer: QOM'ify slavio_timer
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (5 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 6/9] hw/timer: QOM'ify m48txx_sysbus (pass 2) xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 8/9] hw/sparc: QOM'ify sun4m.c xiaoqiang zhao
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

rename slavio_timer_init1 to slavio_timer_init and assign
it to slavio_timer_info.instance_init, then we drop the
SysBusDeviceClass::init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/timer/slavio_timer.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/hw/timer/slavio_timer.c b/hw/timer/slavio_timer.c
index bfee1f3..a8cc9c0 100644
--- a/hw/timer/slavio_timer.c
+++ b/hw/timer/slavio_timer.c
@@ -373,9 +373,10 @@ static void slavio_timer_reset(DeviceState *d)
     s->cputimer_mode = 0;
 }
 
-static int slavio_timer_init1(SysBusDevice *dev)
+static void slavio_timer_init(Object *obj)
 {
-    SLAVIO_TIMERState *s = SLAVIO_TIMER(dev);
+    SLAVIO_TIMERState *s = SLAVIO_TIMER(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
     QEMUBH *bh;
     unsigned int i;
     TimerContext *tc;
@@ -394,14 +395,12 @@ static int slavio_timer_init1(SysBusDevice *dev)
 
         size = i == 0 ? SYS_TIMER_SIZE : CPU_TIMER_SIZE;
         snprintf(timer_name, sizeof(timer_name), "timer-%i", i);
-        memory_region_init_io(&tc->iomem, OBJECT(s), &slavio_timer_mem_ops, tc,
+        memory_region_init_io(&tc->iomem, obj, &slavio_timer_mem_ops, tc,
                               timer_name, size);
         sysbus_init_mmio(dev, &tc->iomem);
 
         sysbus_init_irq(dev, &s->cputimer[i].irq);
     }
-
-    return 0;
 }
 
 static Property slavio_timer_properties[] = {
@@ -412,9 +411,7 @@ static Property slavio_timer_properties[] = {
 static void slavio_timer_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = slavio_timer_init1;
     dc->reset = slavio_timer_reset;
     dc->vmsd = &vmstate_slavio_timer;
     dc->props = slavio_timer_properties;
@@ -424,6 +421,7 @@ static const TypeInfo slavio_timer_info = {
     .name          = TYPE_SLAVIO_TIMER,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(SLAVIO_TIMERState),
+    .instance_init = slavio_timer_init,
     .class_init    = slavio_timer_class_init,
 };
 
-- 
2.9.3

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

* [Qemu-devel] [PATCH 8/9] hw/sparc: QOM'ify sun4m.c
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (6 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 7/9] hw/timer: QOM'ify slavio_timer xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 9/9] hw/sparc64: QOM'ify sun4u.c xiaoqiang zhao
  2016-12-25  4:02 ` [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc 赵小强
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

Drop the old SysBusDeviceClass::init and use instance_init
or DeviceClass::realize instead

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/sparc/sun4m.c | 54 +++++++++++++++++++-----------------------------------
 1 file changed, 19 insertions(+), 35 deletions(-)

diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index b3915e4..95aef49 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -605,30 +605,23 @@ typedef struct IDRegState {
     MemoryRegion mem;
 } IDRegState;
 
-static int idreg_init1(SysBusDevice *dev)
+static void idreg_init1(Object *obj)
 {
-    IDRegState *s = MACIO_ID_REGISTER(dev);
+    IDRegState *s = MACIO_ID_REGISTER(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
-    memory_region_init_ram(&s->mem, OBJECT(s),
+    memory_region_init_ram(&s->mem, obj,
                            "sun4m.idreg", sizeof(idreg_data), &error_fatal);
     vmstate_register_ram_global(&s->mem);
     memory_region_set_readonly(&s->mem, true);
     sysbus_init_mmio(dev, &s->mem);
-    return 0;
-}
-
-static void idreg_class_init(ObjectClass *klass, void *data)
-{
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-
-    k->init = idreg_init1;
 }
 
 static const TypeInfo idreg_info = {
     .name          = TYPE_MACIO_ID_REGISTER,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(IDRegState),
-    .class_init    = idreg_class_init,
+    .instance_init = idreg_init1,
 };
 
 #define TYPE_TCX_AFX "tcx_afx"
@@ -653,28 +646,21 @@ static void afx_init(hwaddr addr)
     sysbus_mmio_map(s, 0, addr);
 }
 
-static int afx_init1(SysBusDevice *dev)
+static void afx_init1(Object *obj)
 {
-    AFXState *s = TCX_AFX(dev);
+    AFXState *s = TCX_AFX(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
-    memory_region_init_ram(&s->mem, OBJECT(s), "sun4m.afx", 4, &error_fatal);
+    memory_region_init_ram(&s->mem, obj, "sun4m.afx", 4, &error_fatal);
     vmstate_register_ram_global(&s->mem);
     sysbus_init_mmio(dev, &s->mem);
-    return 0;
-}
-
-static void afx_class_init(ObjectClass *klass, void *data)
-{
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-
-    k->init = afx_init1;
 }
 
 static const TypeInfo afx_info = {
     .name          = TYPE_TCX_AFX,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(AFXState),
-    .class_init    = afx_class_init,
+    .instance_init = afx_init1,
 };
 
 #define TYPE_OPENPROM "openprom"
@@ -727,16 +713,16 @@ static void prom_init(hwaddr addr, const char *bios_name)
     }
 }
 
-static int prom_init1(SysBusDevice *dev)
+static void prom_init1(Object *obj)
 {
-    PROMState *s = OPENPROM(dev);
+    PROMState *s = OPENPROM(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
-    memory_region_init_ram(&s->prom, OBJECT(s), "sun4m.prom", PROM_SIZE_MAX,
+    memory_region_init_ram(&s->prom, obj, "sun4m.prom", PROM_SIZE_MAX,
                            &error_fatal);
     vmstate_register_ram_global(&s->prom);
     memory_region_set_readonly(&s->prom, true);
     sysbus_init_mmio(dev, &s->prom);
-    return 0;
 }
 
 static Property prom_properties[] = {
@@ -746,9 +732,7 @@ static Property prom_properties[] = {
 static void prom_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = prom_init1;
     dc->props = prom_properties;
 }
 
@@ -757,6 +741,7 @@ static const TypeInfo prom_info = {
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PROMState),
     .class_init    = prom_class_init,
+    .instance_init = prom_init1,
 };
 
 #define TYPE_SUN4M_MEMORY "memory"
@@ -770,14 +755,14 @@ typedef struct RamDevice {
 } RamDevice;
 
 /* System RAM */
-static int ram_init1(SysBusDevice *dev)
+static void ram_realize(DeviceState *dev, Error **errp)
 {
     RamDevice *d = SUN4M_RAM(dev);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
 
     memory_region_allocate_system_memory(&d->ram, OBJECT(d), "sun4m.ram",
                                          d->size);
-    sysbus_init_mmio(dev, &d->ram);
-    return 0;
+    sysbus_init_mmio(sbd, &d->ram);
 }
 
 static void ram_init(hwaddr addr, ram_addr_t RAM_size,
@@ -813,9 +798,8 @@ static Property ram_properties[] = {
 static void ram_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = ram_init1;
+    dc->realize = ram_realize;
     dc->props = ram_properties;
 }
 
-- 
2.9.3

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

* [Qemu-devel] [PATCH 9/9] hw/sparc64: QOM'ify sun4u.c
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (7 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 8/9] hw/sparc: QOM'ify sun4m.c xiaoqiang zhao
@ 2016-10-23  6:31 ` xiaoqiang zhao
  2016-12-25  4:02 ` [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc 赵小强
  9 siblings, 0 replies; 14+ messages in thread
From: xiaoqiang zhao @ 2016-10-23  6:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

Drop the old SysBusDeviceClass::init and use instance_init
or DeviceClass::realize instead

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/sparc64/sun4u.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index 3165e18..aac4cb5 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -651,16 +651,16 @@ static void prom_init(hwaddr addr, const char *bios_name)
     }
 }
 
-static int prom_init1(SysBusDevice *dev)
+static void prom_init1(Object *obj)
 {
-    PROMState *s = OPENPROM(dev);
+    PROMState *s = OPENPROM(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
-    memory_region_init_ram(&s->prom, OBJECT(s), "sun4u.prom", PROM_SIZE_MAX,
+    memory_region_init_ram(&s->prom, obj, "sun4u.prom", PROM_SIZE_MAX,
                            &error_fatal);
     vmstate_register_ram_global(&s->prom);
     memory_region_set_readonly(&s->prom, true);
     sysbus_init_mmio(dev, &s->prom);
-    return 0;
 }
 
 static Property prom_properties[] = {
@@ -670,9 +670,7 @@ static Property prom_properties[] = {
 static void prom_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = prom_init1;
     dc->props = prom_properties;
 }
 
@@ -681,6 +679,7 @@ static const TypeInfo prom_info = {
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PROMState),
     .class_init    = prom_class_init,
+    .instance_init = prom_init1,
 };
 
 
@@ -695,15 +694,15 @@ typedef struct RamDevice {
 } RamDevice;
 
 /* System RAM */
-static int ram_init1(SysBusDevice *dev)
+static void ram_realize(DeviceState *dev, Error **errp)
 {
     RamDevice *d = SUN4U_RAM(dev);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
 
     memory_region_init_ram(&d->ram, OBJECT(d), "sun4u.ram", d->size,
                            &error_fatal);
     vmstate_register_ram_global(&d->ram);
-    sysbus_init_mmio(dev, &d->ram);
-    return 0;
+    sysbus_init_mmio(sbd, &d->ram);
 }
 
 static void ram_init(hwaddr addr, ram_addr_t RAM_size)
@@ -731,9 +730,8 @@ static Property ram_properties[] = {
 static void ram_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = ram_init1;
+    dc->realize = ram_realize;
     dc->props = ram_properties;
 }
 
-- 
2.9.3

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

* Re: [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc
  2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
                   ` (8 preceding siblings ...)
  2016-10-23  6:31 ` [Qemu-devel] [PATCH 9/9] hw/sparc64: QOM'ify sun4u.c xiaoqiang zhao
@ 2016-12-25  4:02 ` 赵小强
  2016-12-30 18:32   ` Mark Cave-Ayland
  9 siblings, 1 reply; 14+ messages in thread
From: 赵小强 @ 2016-12-25  4:02 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, peter.maydell, mark.cave-ayland, atar4qemu

ping .... 

At 2016-10-23 14:31:26, "xiaoqiang zhao" <zxq_yx_007@163.com> wrote:
>This patch set aims for QOM'ifying code relate with sparc.
>It is part of my QOM'ify work of qemu code base.
>
>xiaoqiang zhao (9):
>  hw/misc: QOM'ify eccmemctl.c
>  hw/dma: QOM'ify sparc32_dma.c
>  hw/dma: QOM'ify sun4m_iommu.c
>  hw/misc: QOM'ify slavio_misc.c
>  hw/timer: QOM'ify m48txx_sysbus (pass 1)
>  hw/timer: QOM'ify m48txx_sysbus (pass 2)
>  hw/timer: QOM'ify slavio_timer
>  hw/sparc: QOM'ify sun4m.c
>  hw/sparc64: QOM'ify sun4u.c
>
> hw/dma/sparc32_dma.c    | 25 ++++++++++++--------
> hw/dma/sun4m_iommu.c    | 12 ++++------
> hw/misc/eccmemctl.c     | 25 ++++++++++++--------
> hw/misc/slavio_misc.c   | 43 ++++++++++++++--------------------
> hw/sparc/sun4m.c        | 54 +++++++++++++++----------------------------
> hw/sparc64/sun4u.c      | 20 ++++++++--------
> hw/timer/m48t59.c       | 61 ++++++++++++++++++++++++++++++++++---------------
> hw/timer/slavio_timer.c | 12 ++++------
> 8 files changed, 128 insertions(+), 124 deletions(-)
>
>-- 
>2.9.3
>

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

* Re: [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc
  2016-12-25  4:02 ` [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc 赵小强
@ 2016-12-30 18:32   ` Mark Cave-Ayland
  2017-01-26  9:41     ` Mark Cave-Ayland
  0 siblings, 1 reply; 14+ messages in thread
From: Mark Cave-Ayland @ 2016-12-30 18:32 UTC (permalink / raw)
  To: 赵小强, qemu-devel; +Cc: pbonzini, atar4qemu, peter.maydell

On 25/12/16 04:02, 赵小强 wrote:

> ping .... 
> 
> At 2016-10-23 14:31:26, "xiaoqiang zhao" <zxq_yx_007@163.com> wrote:
>> This patch set aims for QOM'ifying code relate with sparc.
>> It is part of my QOM'ify work of qemu code base.
>>
>> xiaoqiang zhao (9):
>>  hw/misc: QOM'ify eccmemctl.c
>>  hw/dma: QOM'ify sparc32_dma.c
>>  hw/dma: QOM'ify sun4m_iommu.c
>>  hw/misc: QOM'ify slavio_misc.c
>>  hw/timer: QOM'ify m48txx_sysbus (pass 1)
>>  hw/timer: QOM'ify m48txx_sysbus (pass 2)
>>  hw/timer: QOM'ify slavio_timer
>>  hw/sparc: QOM'ify sun4m.c
>>  hw/sparc64: QOM'ify sun4u.c
>>
>> hw/dma/sparc32_dma.c    | 25 ++++++++++++--------
>> hw/dma/sun4m_iommu.c    | 12 ++++------
>> hw/misc/eccmemctl.c     | 25 ++++++++++++--------
>> hw/misc/slavio_misc.c   | 43 ++++++++++++++--------------------
>> hw/sparc/sun4m.c        | 54 +++++++++++++++----------------------------
>> hw/sparc64/sun4u.c      | 20 ++++++++--------
>> hw/timer/m48t59.c       | 61 ++++++++++++++++++++++++++++++++++---------------
>> hw/timer/slavio_timer.c | 12 ++++------
>> 8 files changed, 128 insertions(+), 124 deletions(-)
>>
>> -- 
>> 2.9.3

Thanks for the patch!

Given that Artyom's sun4v work has been waiting since before freeze, I'd
like to see that merged first and then this patch rebased on top if
required.


ATB,

Mark.

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

* Re: [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc
  2016-12-30 18:32   ` Mark Cave-Ayland
@ 2017-01-26  9:41     ` Mark Cave-Ayland
       [not found]       ` <5BA33195-2F4A-4489-AA3B-15315DAC2027@163.com>
  0 siblings, 1 reply; 14+ messages in thread
From: Mark Cave-Ayland @ 2017-01-26  9:41 UTC (permalink / raw)
  To: 赵小强, qemu-devel; +Cc: pbonzini, atar4qemu, peter.maydell

On 30/12/16 18:32, Mark Cave-Ayland wrote:

> On 25/12/16 04:02, 赵小强 wrote:
> 
>> ping .... 
>>
>> At 2016-10-23 14:31:26, "xiaoqiang zhao" <zxq_yx_007@163.com> wrote:
>>> This patch set aims for QOM'ifying code relate with sparc.
>>> It is part of my QOM'ify work of qemu code base.
>>>
>>> xiaoqiang zhao (9):
>>>  hw/misc: QOM'ify eccmemctl.c
>>>  hw/dma: QOM'ify sparc32_dma.c
>>>  hw/dma: QOM'ify sun4m_iommu.c
>>>  hw/misc: QOM'ify slavio_misc.c
>>>  hw/timer: QOM'ify m48txx_sysbus (pass 1)
>>>  hw/timer: QOM'ify m48txx_sysbus (pass 2)
>>>  hw/timer: QOM'ify slavio_timer
>>>  hw/sparc: QOM'ify sun4m.c
>>>  hw/sparc64: QOM'ify sun4u.c
>>>
>>> hw/dma/sparc32_dma.c    | 25 ++++++++++++--------
>>> hw/dma/sun4m_iommu.c    | 12 ++++------
>>> hw/misc/eccmemctl.c     | 25 ++++++++++++--------
>>> hw/misc/slavio_misc.c   | 43 ++++++++++++++--------------------
>>> hw/sparc/sun4m.c        | 54 +++++++++++++++----------------------------
>>> hw/sparc64/sun4u.c      | 20 ++++++++--------
>>> hw/timer/m48t59.c       | 61 ++++++++++++++++++++++++++++++++++---------------
>>> hw/timer/slavio_timer.c | 12 ++++------
>>> 8 files changed, 128 insertions(+), 124 deletions(-)
>>>
>>> -- 
>>> 2.9.3
> 
> Thanks for the patch!
> 
> Given that Artyom's sun4v work has been waiting since before freeze, I'd
> like to see that merged first and then this patch rebased on top if
> required.

The sun4v patchset has now been applied, so please can you rebase
against master and repost for review?


ATB,

Mark.

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

* Re: [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc
       [not found]         ` <FD2914CC-DCA5-4B0E-B2C8-639AB15C7752@163.com>
@ 2017-03-03 14:47           ` Mark Cave-Ayland
  0 siblings, 0 replies; 14+ messages in thread
From: Mark Cave-Ayland @ 2017-03-03 14:47 UTC (permalink / raw)
  To: 赵小强; +Cc: qemu-devel, pbonzini, atar4qemu, peter.maydell

On 02/03/17 14:06, 赵小强 wrote:

>> Of course!coming soon.
> 
> Mark,I have resend this series. do you forget do pick it?

Yes I did, however due to personal circumstances I haven't had much
spare development time at all during the 2.9 cycle :(

As we're now in freeze I can't send a pull request for this right now,
however I promise to look at it again as soon as the 2.10 development
tree opens.


Many thanks,

Mark.

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

end of thread, other threads:[~2017-03-03 14:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-23  6:31 [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 1/9] hw/misc: QOM'ify eccmemctl.c xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 2/9] hw/dma: QOM'ify sparc32_dma.c xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 3/9] hw/dma: QOM'ify sun4m_iommu.c xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 4/9] hw/misc: QOM'ify slavio_misc.c xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 5/9] hw/timer: QOM'ify m48txx_sysbus (pass 1) xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 6/9] hw/timer: QOM'ify m48txx_sysbus (pass 2) xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 7/9] hw/timer: QOM'ify slavio_timer xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 8/9] hw/sparc: QOM'ify sun4m.c xiaoqiang zhao
2016-10-23  6:31 ` [Qemu-devel] [PATCH 9/9] hw/sparc64: QOM'ify sun4u.c xiaoqiang zhao
2016-12-25  4:02 ` [Qemu-devel] [PATCH 0/9] QOM'ify work for sparc 赵小强
2016-12-30 18:32   ` Mark Cave-Ayland
2017-01-26  9:41     ` Mark Cave-Ayland
     [not found]       ` <5BA33195-2F4A-4489-AA3B-15315DAC2027@163.com>
     [not found]         ` <FD2914CC-DCA5-4B0E-B2C8-639AB15C7752@163.com>
2017-03-03 14:47           ` Mark Cave-Ayland

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.