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(-)
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),
--
2.20.1
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
© 2016 - 2026 Red Hat, Inc.