Message ID | 87wq2gjcc8.fsf@blackfin.pond.sub.org |
---|---|
State | New |
Headers | show |
On 17.03.15 08:46, Markus Armbruster wrote: > Alexander Graf <agraf@suse.de> writes: > >> On 09.03.15 19:30, Markus Armbruster wrote: >>> Alexander Graf <agraf@suse.de> writes: >>> >>>> On 27.02.15 13:43, Markus Armbruster wrote: >>>>> Convert device models "macio-oldworld" and "macio-newworld". >>>>> >>>>> Signed-off-by: Markus Armbruster <armbru@redhat.com> >>>>> --- >>>>> Depends on my "[PATCH 00/10] pci: Partial conversion to realize", >>>>> which is in Michael's latest pull request. >>>> >>>> Can you please poke me again when it landed? >>> >>> Applies cleanly to master now (commit 277263e). >> >> Hrm, does not seem to apply cleanly now. How about we postpone this to >> 2.4? It's not really crucial for 2.3 and we're in hard freeze now. > > Sad (it's been on list for almost three weeks, most of the time waiting > for the PCI pull), but it's clearly your choice to make. Yeah, but we're past hard freeze and I'd consider this not critical enough to warrant potential breakage. > git-am doesn't dare to apply the patch on list, but git-cherry-pick > applies the commit from which it was formatted without a peep. Result > appended, just in case you'd like to consider it. Awesome, that was quick. Thanks, applied to ppc-next-2.4. Alex
Alexander Graf <agraf@suse.de> writes: > On 17.03.15 08:46, Markus Armbruster wrote: >> Alexander Graf <agraf@suse.de> writes: >> >>> On 09.03.15 19:30, Markus Armbruster wrote: >>>> Alexander Graf <agraf@suse.de> writes: >>>> >>>>> On 27.02.15 13:43, Markus Armbruster wrote: >>>>>> Convert device models "macio-oldworld" and "macio-newworld". >>>>>> >>>>>> Signed-off-by: Markus Armbruster <armbru@redhat.com> >>>>>> --- >>>>>> Depends on my "[PATCH 00/10] pci: Partial conversion to realize", >>>>>> which is in Michael's latest pull request. >>>>> >>>>> Can you please poke me again when it landed? >>>> >>>> Applies cleanly to master now (commit 277263e). >>> >>> Hrm, does not seem to apply cleanly now. How about we postpone this to >>> 2.4? It's not really crucial for 2.3 and we're in hard freeze now. >> >> Sad (it's been on list for almost three weeks, most of the time waiting >> for the PCI pull), but it's clearly your choice to make. > > Yeah, but we're past hard freeze and I'd consider this not critical > enough to warrant potential breakage. > >> git-am doesn't dare to apply the patch on list, but git-cherry-pick >> applies the commit from which it was formatted without a peep. Result >> appended, just in case you'd like to consider it. > > Awesome, that was quick. Thanks, applied to ppc-next-2.4. Pull request ETA? I don't mean to be pushy, but I've been trying to get this in since February, and I got more work depending on it...
On 15.05.15 15:43, Markus Armbruster wrote: > Alexander Graf <agraf@suse.de> writes: > >> On 17.03.15 08:46, Markus Armbruster wrote: >>> Alexander Graf <agraf@suse.de> writes: >>> >>>> On 09.03.15 19:30, Markus Armbruster wrote: >>>>> Alexander Graf <agraf@suse.de> writes: >>>>> >>>>>> On 27.02.15 13:43, Markus Armbruster wrote: >>>>>>> Convert device models "macio-oldworld" and "macio-newworld". >>>>>>> >>>>>>> Signed-off-by: Markus Armbruster <armbru@redhat.com> >>>>>>> --- >>>>>>> Depends on my "[PATCH 00/10] pci: Partial conversion to realize", >>>>>>> which is in Michael's latest pull request. >>>>>> >>>>>> Can you please poke me again when it landed? >>>>> >>>>> Applies cleanly to master now (commit 277263e). >>>> >>>> Hrm, does not seem to apply cleanly now. How about we postpone this to >>>> 2.4? It's not really crucial for 2.3 and we're in hard freeze now. >>> >>> Sad (it's been on list for almost three weeks, most of the time waiting >>> for the PCI pull), but it's clearly your choice to make. >> >> Yeah, but we're past hard freeze and I'd consider this not critical >> enough to warrant potential breakage. >> >>> git-am doesn't dare to apply the patch on list, but git-cherry-pick >>> applies the commit from which it was formatted without a peep. Result >>> appended, just in case you'd like to consider it. >> >> Awesome, that was quick. Thanks, applied to ppc-next-2.4. > > Pull request ETA? I don't mean to be pushy, but I've been trying to get > this in since February, and I got more work depending on it... Some of the patches in David's latest spapr queue are regressing compilation on older libfdt versions right now. If I don't see patches to fix this, I'll just remove them from my queue again. I could also use some help triaging the current autotest failures: https://lists.gnu.org/archive/html/qemu-ppc-autotest/2015-05/msg00003.html A good amount of those is probably upstream kernel breakage, but it'd be good to know for sure. Alex
On Sat, 16 May 2015 14:42:35 +0200 Alexander Graf <agraf@suse.de> wrote: > > > On 15.05.15 15:43, Markus Armbruster wrote: > > Alexander Graf <agraf@suse.de> writes: > > > >> On 17.03.15 08:46, Markus Armbruster wrote: > >>> Alexander Graf <agraf@suse.de> writes: > >>> > >>>> On 09.03.15 19:30, Markus Armbruster wrote: > >>>>> Alexander Graf <agraf@suse.de> writes: > >>>>> > >>>>>> On 27.02.15 13:43, Markus Armbruster wrote: > >>>>>>> Convert device models "macio-oldworld" and "macio-newworld". > >>>>>>> > >>>>>>> Signed-off-by: Markus Armbruster <armbru@redhat.com> > >>>>>>> --- > >>>>>>> Depends on my "[PATCH 00/10] pci: Partial conversion to realize", > >>>>>>> which is in Michael's latest pull request. > >>>>>> > >>>>>> Can you please poke me again when it landed? > >>>>> > >>>>> Applies cleanly to master now (commit 277263e). > >>>> > >>>> Hrm, does not seem to apply cleanly now. How about we postpone this to > >>>> 2.4? It's not really crucial for 2.3 and we're in hard freeze now. > >>> > >>> Sad (it's been on list for almost three weeks, most of the time waiting > >>> for the PCI pull), but it's clearly your choice to make. > >> > >> Yeah, but we're past hard freeze and I'd consider this not critical > >> enough to warrant potential breakage. > >> > >>> git-am doesn't dare to apply the patch on list, but git-cherry-pick > >>> applies the commit from which it was formatted without a peep. Result > >>> appended, just in case you'd like to consider it. > >> > >> Awesome, that was quick. Thanks, applied to ppc-next-2.4. > > > > Pull request ETA? I don't mean to be pushy, but I've been trying to get > > this in since February, and I got more work depending on it... > > Some of the patches in David's latest spapr queue are regressing > compilation on older libfdt versions right now. If I don't see patches > to fix this, I'll just remove them from my queue again. David is on vacation this week ... but if you like, I can try to come up with a patch that checks for libfdt version 1.4.0 in QEMU's configure script - would that be enough to keep the patches? Thomas
On 18 May 2015 at 08:11, Thomas Huth <thuth@redhat.com> wrote: > On Sat, 16 May 2015 14:42:35 +0200 > Alexander Graf <agraf@suse.de> wrote: >> Some of the patches in David's latest spapr queue are regressing >> compilation on older libfdt versions right now. If I don't see patches >> to fix this, I'll just remove them from my queue again. > > David is on vacation this week ... but if you like, I can try to come > up with a patch that checks for libfdt version 1.4.0 in QEMU's > configure script - would that be enough to keep the patches? If we take that approach then you'll need to also update the version of libfdt in our dtc submodule, which right now is only 1.3.0. -- PMM
On Mon, 18 May 2015 09:59:02 +0100 Peter Maydell <peter.maydell@linaro.org> wrote: > On 18 May 2015 at 08:11, Thomas Huth <thuth@redhat.com> wrote: > > On Sat, 16 May 2015 14:42:35 +0200 > > Alexander Graf <agraf@suse.de> wrote: > >> Some of the patches in David's latest spapr queue are regressing > >> compilation on older libfdt versions right now. If I don't see patches > >> to fix this, I'll just remove them from my queue again. > > > > David is on vacation this week ... but if you like, I can try to come > > up with a patch that checks for libfdt version 1.4.0 in QEMU's > > configure script - would that be enough to keep the patches? > > If we take that approach then you'll need to also update the > version of libfdt in our dtc submodule, which right now is only 1.3.0. Ok, right, I'll send a patch that updates that, too. Thomas
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index 063ad80..e9037b0 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -126,17 +126,18 @@ static void macio_bar_setup(MacIOState *macio_state) } } -static int macio_common_initfn(PCIDevice *d) +static void macio_common_realize(PCIDevice *d, Error **errp) { MacIOState *s = MACIO(d); SysBusDevice *sysbus_dev; - int ret; + Error *err = NULL; d->config[0x3d] = 0x01; // interrupt on pin 1 - ret = qdev_init(DEVICE(&s->cuda)); - if (ret < 0) { - return ret; + object_property_set_bool(OBJECT(&s->cuda), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; } sysbus_dev = SYS_BUS_DEVICE(&s->cuda); memory_region_add_subregion(&s->bar, 0x16000, @@ -144,12 +145,11 @@ static int macio_common_initfn(PCIDevice *d) macio_bar_setup(s); pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar); - - return 0; } -static int macio_initfn_ide(MacIOState *s, MACIOIDEState *ide, qemu_irq irq0, - qemu_irq irq1, int dmaid) +static void macio_realize_ide(MacIOState *s, MACIOIDEState *ide, + qemu_irq irq0, qemu_irq irq1, int dmaid, + Error **errp) { SysBusDevice *sysbus_dev; @@ -157,27 +157,31 @@ static int macio_initfn_ide(MacIOState *s, MACIOIDEState *ide, qemu_irq irq0, sysbus_connect_irq(sysbus_dev, 0, irq0); sysbus_connect_irq(sysbus_dev, 1, irq1); macio_ide_register_dma(ide, s->dbdma, dmaid); - return qdev_init(DEVICE(ide)); + object_property_set_bool(OBJECT(ide), true, "realized", errp); } -static int macio_oldworld_initfn(PCIDevice *d) +static void macio_oldworld_realize(PCIDevice *d, Error **errp) { MacIOState *s = MACIO(d); OldWorldMacIOState *os = OLDWORLD_MACIO(d); + Error *err = NULL; SysBusDevice *sysbus_dev; int i; int cur_irq = 0; - int ret = macio_common_initfn(d); - if (ret < 0) { - return ret; + + macio_common_realize(d, &err); + if (err) { + error_propagate(errp, err); + return; } sysbus_dev = SYS_BUS_DEVICE(&s->cuda); sysbus_connect_irq(sysbus_dev, 0, os->irqs[cur_irq++]); - ret = qdev_init(DEVICE(&os->nvram)); - if (ret < 0) { - return ret; + object_property_set_bool(OBJECT(&os->nvram), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; } sysbus_dev = SYS_BUS_DEVICE(&os->nvram); memory_region_add_subregion(&s->bar, 0x60000, @@ -194,13 +198,12 @@ static int macio_oldworld_initfn(PCIDevice *d) qemu_irq irq0 = os->irqs[cur_irq++]; qemu_irq irq1 = os->irqs[cur_irq++]; - ret = macio_initfn_ide(s, &os->ide[i], irq0, irq1, 0x16 + (i * 4)); - if (ret < 0) { - return ret; + macio_realize_ide(s, &os->ide[i], irq0, irq1, 0x16 + (i * 4), &err); + if (err) { + error_propagate(errp, err); + return; } } - - return 0; } static void macio_init_ide(MacIOState *s, MACIOIDEState *ide, size_t ide_size, @@ -268,17 +271,20 @@ static const MemoryRegionOps timer_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static int macio_newworld_initfn(PCIDevice *d) +static void macio_newworld_realize(PCIDevice *d, Error **errp) { MacIOState *s = MACIO(d); NewWorldMacIOState *ns = NEWWORLD_MACIO(d); + Error *err = NULL; SysBusDevice *sysbus_dev; MemoryRegion *timer_memory = NULL; int i; int cur_irq = 0; - int ret = macio_common_initfn(d); - if (ret < 0) { - return ret; + + macio_common_realize(d, &err); + if (err) { + error_propagate(errp, err); + return; } sysbus_dev = SYS_BUS_DEVICE(&s->cuda); @@ -294,9 +300,10 @@ static int macio_newworld_initfn(PCIDevice *d) qemu_irq irq0 = ns->irqs[cur_irq++]; qemu_irq irq1 = ns->irqs[cur_irq++]; - ret = macio_initfn_ide(s, &ns->ide[i], irq0, irq1, 0x16 + (i * 4)); - if (ret < 0) { - return ret; + macio_realize_ide(s, &ns->ide[i], irq0, irq1, 0x16 + (i * 4), &err); + if (err) { + error_propagate(errp, err); + return; } } @@ -305,8 +312,6 @@ static int macio_newworld_initfn(PCIDevice *d) memory_region_init_io(timer_memory, OBJECT(s), &timer_ops, NULL, "timer", 0x1000); memory_region_add_subregion(&s->bar, 0x15000, timer_memory); - - return 0; } static void macio_newworld_init(Object *obj) @@ -352,7 +357,7 @@ static void macio_oldworld_class_init(ObjectClass *oc, void *data) PCIDeviceClass *pdc = PCI_DEVICE_CLASS(oc); DeviceClass *dc = DEVICE_CLASS(oc); - pdc->init = macio_oldworld_initfn; + pdc->realize = macio_oldworld_realize; pdc->device_id = PCI_DEVICE_ID_APPLE_343S1201; dc->vmsd = &vmstate_macio_oldworld; } @@ -372,7 +377,7 @@ static void macio_newworld_class_init(ObjectClass *oc, void *data) PCIDeviceClass *pdc = PCI_DEVICE_CLASS(oc); DeviceClass *dc = DEVICE_CLASS(oc); - pdc->init = macio_newworld_initfn; + pdc->realize = macio_newworld_realize; pdc->device_id = PCI_DEVICE_ID_APPLE_UNI_N_KEYL; dc->vmsd = &vmstate_macio_newworld; }