Message ID | 20201013114922.2946-2-mark.cave-ayland@ilande.co.uk |
---|---|
State | Superseded |
Headers | show |
Series | ppc: Mac machine updates | expand |
On Tue, Oct 13, 2020 at 12:49:20PM +0100, Mark Cave-Ayland wrote: > Instead use qdev_prop_set_chr() to configure the ESCC serial chardevs at the > Mac Old World and New World machine level. > > Also remove the now obsolete comment referring to the use of serial_hd() and > the setting of user_creatable to false accordingly. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Applied to ppc-for-5.2, thanks. > --- > hw/misc/macio/macio.c | 4 ---- > hw/ppc/mac_newworld.c | 6 ++++++ > hw/ppc/mac_oldworld.c | 6 ++++++ > 3 files changed, 12 insertions(+), 4 deletions(-) > > diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c > index 679722628e..51368884d0 100644 > --- a/hw/misc/macio/macio.c > +++ b/hw/misc/macio/macio.c > @@ -109,8 +109,6 @@ static void macio_common_realize(PCIDevice *d, Error **errp) > qdev_prop_set_uint32(DEVICE(&s->escc), "disabled", 0); > qdev_prop_set_uint32(DEVICE(&s->escc), "frequency", ESCC_CLOCK); > qdev_prop_set_uint32(DEVICE(&s->escc), "it_shift", 4); > - qdev_prop_set_chr(DEVICE(&s->escc), "chrA", serial_hd(0)); > - qdev_prop_set_chr(DEVICE(&s->escc), "chrB", serial_hd(1)); > qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial); > qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial); > if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) { > @@ -458,8 +456,6 @@ static void macio_class_init(ObjectClass *klass, void *data) > k->class_id = PCI_CLASS_OTHERS << 8; > device_class_set_props(dc, macio_properties); > set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); > - /* Reason: Uses serial_hds in macio_instance_init */ > - dc->user_creatable = false; > } > > static const TypeInfo macio_bus_info = { > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 4dfbeec0ca..6f5ef2e782 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -123,6 +123,7 @@ static void ppc_core99_init(MachineState *machine) > UNINHostState *uninorth_pci; > PCIBus *pci_bus; > PCIDevice *macio; > + ESCCState *escc; > bool has_pmu, has_adb; > MACIOIDEState *macio_ide; > BusState *adb_bus; > @@ -380,6 +381,11 @@ static void ppc_core99_init(MachineState *machine) > qdev_prop_set_bit(dev, "has-adb", has_adb); > object_property_set_link(OBJECT(macio), "pic", OBJECT(pic_dev), > &error_abort); > + > + escc = ESCC(object_resolve_path_component(OBJECT(macio), "escc")); > + qdev_prop_set_chr(DEVICE(escc), "chrA", serial_hd(0)); > + qdev_prop_set_chr(DEVICE(escc), "chrB", serial_hd(1)); > + > pci_realize_and_unref(macio, pci_bus, &error_fatal); > > /* We only emulate 2 out of 3 IDE controllers for now */ > diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c > index f8173934a2..d6a76d06dc 100644 > --- a/hw/ppc/mac_oldworld.c > +++ b/hw/ppc/mac_oldworld.c > @@ -96,6 +96,7 @@ static void ppc_heathrow_init(MachineState *machine) > PCIBus *pci_bus; > PCIDevice *macio; > MACIOIDEState *macio_ide; > + ESCCState *escc; > SysBusDevice *s; > DeviceState *dev, *pic_dev; > BusState *adb_bus; > @@ -281,6 +282,11 @@ static void ppc_heathrow_init(MachineState *machine) > qdev_prop_set_uint64(dev, "frequency", tbfreq); > object_property_set_link(OBJECT(macio), "pic", OBJECT(pic_dev), > &error_abort); > + > + escc = ESCC(object_resolve_path_component(OBJECT(macio), "escc")); > + qdev_prop_set_chr(DEVICE(escc), "chrA", serial_hd(0)); > + qdev_prop_set_chr(DEVICE(escc), "chrB", serial_hd(1)); > + > pci_realize_and_unref(macio, pci_bus, &error_fatal); > > macio_ide = MACIO_IDE(object_resolve_path_component(OBJECT(macio), -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
On 16/10/2020 01:16, David Gibson wrote: > On Tue, Oct 13, 2020 at 12:49:20PM +0100, Mark Cave-Ayland wrote: >> Instead use qdev_prop_set_chr() to configure the ESCC serial chardevs at the >> Mac Old World and New World machine level. >> >> Also remove the now obsolete comment referring to the use of serial_hd() and >> the setting of user_creatable to false accordingly. >> >> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > Applied to ppc-for-5.2, thanks. Ah okay, I was planning to send a separate qemu-macppc pull request myself with these patches plus some cherry-picks from Zoltan's patchset after some more testing. Does this mean you would prefer to take the patches directly yourself? ATB, Mark.
On Fri, Oct 16, 2020 at 08:00:06AM +0100, Mark Cave-Ayland wrote: > On 16/10/2020 01:16, David Gibson wrote: > > > On Tue, Oct 13, 2020 at 12:49:20PM +0100, Mark Cave-Ayland wrote: > > > Instead use qdev_prop_set_chr() to configure the ESCC serial chardevs at the > > > Mac Old World and New World machine level. > > > > > > Also remove the now obsolete comment referring to the use of serial_hd() and > > > the setting of user_creatable to false accordingly. > > > > > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > > > Applied to ppc-for-5.2, thanks. > > Ah okay, I was planning to send a separate qemu-macppc pull request myself > with these patches plus some cherry-picks from Zoltan's patchset after some > more testing. Does this mean you would prefer to take the patches directly > yourself? Not really. I sent a PR recently, so I probably won't do another for a little while. So go ahead and send yours, and mine should rebase easily enough. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index 679722628e..51368884d0 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -109,8 +109,6 @@ static void macio_common_realize(PCIDevice *d, Error **errp) qdev_prop_set_uint32(DEVICE(&s->escc), "disabled", 0); qdev_prop_set_uint32(DEVICE(&s->escc), "frequency", ESCC_CLOCK); qdev_prop_set_uint32(DEVICE(&s->escc), "it_shift", 4); - qdev_prop_set_chr(DEVICE(&s->escc), "chrA", serial_hd(0)); - qdev_prop_set_chr(DEVICE(&s->escc), "chrB", serial_hd(1)); qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial); qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial); if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) { @@ -458,8 +456,6 @@ static void macio_class_init(ObjectClass *klass, void *data) k->class_id = PCI_CLASS_OTHERS << 8; device_class_set_props(dc, macio_properties); set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); - /* Reason: Uses serial_hds in macio_instance_init */ - dc->user_creatable = false; } static const TypeInfo macio_bus_info = { diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 4dfbeec0ca..6f5ef2e782 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -123,6 +123,7 @@ static void ppc_core99_init(MachineState *machine) UNINHostState *uninorth_pci; PCIBus *pci_bus; PCIDevice *macio; + ESCCState *escc; bool has_pmu, has_adb; MACIOIDEState *macio_ide; BusState *adb_bus; @@ -380,6 +381,11 @@ static void ppc_core99_init(MachineState *machine) qdev_prop_set_bit(dev, "has-adb", has_adb); object_property_set_link(OBJECT(macio), "pic", OBJECT(pic_dev), &error_abort); + + escc = ESCC(object_resolve_path_component(OBJECT(macio), "escc")); + qdev_prop_set_chr(DEVICE(escc), "chrA", serial_hd(0)); + qdev_prop_set_chr(DEVICE(escc), "chrB", serial_hd(1)); + pci_realize_and_unref(macio, pci_bus, &error_fatal); /* We only emulate 2 out of 3 IDE controllers for now */ diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index f8173934a2..d6a76d06dc 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -96,6 +96,7 @@ static void ppc_heathrow_init(MachineState *machine) PCIBus *pci_bus; PCIDevice *macio; MACIOIDEState *macio_ide; + ESCCState *escc; SysBusDevice *s; DeviceState *dev, *pic_dev; BusState *adb_bus; @@ -281,6 +282,11 @@ static void ppc_heathrow_init(MachineState *machine) qdev_prop_set_uint64(dev, "frequency", tbfreq); object_property_set_link(OBJECT(macio), "pic", OBJECT(pic_dev), &error_abort); + + escc = ESCC(object_resolve_path_component(OBJECT(macio), "escc")); + qdev_prop_set_chr(DEVICE(escc), "chrA", serial_hd(0)); + qdev_prop_set_chr(DEVICE(escc), "chrB", serial_hd(1)); + pci_realize_and_unref(macio, pci_bus, &error_fatal); macio_ide = MACIO_IDE(object_resolve_path_component(OBJECT(macio),
Instead use qdev_prop_set_chr() to configure the ESCC serial chardevs at the Mac Old World and New World machine level. Also remove the now obsolete comment referring to the use of serial_hd() and the setting of user_creatable to false accordingly. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> --- hw/misc/macio/macio.c | 4 ---- hw/ppc/mac_newworld.c | 6 ++++++ hw/ppc/mac_oldworld.c | 6 ++++++ 3 files changed, 12 insertions(+), 4 deletions(-)