Message ID | 20200528110444.20456-22-armbru@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fixes around device realization | expand |
On 5/28/20 1:04 PM, Markus Armbruster wrote: > leon3_generic_hw_init() creates a "grlib,ahbpnp" and a "grlib,apbpnp" > sysbus device in a way that leaves them unplugged. > > Create them the common way that puts them into the main system bus. > Affects machine leon3_generic. Visible in "info qtree": > > bus: main-system-bus > type System > + dev: grlib,ahbpnp, id "" > + mmio 00000000fffff000/0000000000001000 > + dev: grlib,apbpnp, id "" > + mmio 00000000800ff000/0000000000001000 > dev: grlib,irqmp, id "" > > Cc: Fabien Chouteau <chouteau@adacore.com> > Cc: KONRAD Frederic <frederic.konrad@adacore.com> > Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Cc: Artyom Tarasenko <atar4qemu@gmail.com> > Signed-off-by: Markus Armbruster <armbru@redhat.com> > Reviewed-by: KONRAD Frederic <frederic.konrad@adacore.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/sparc/leon3.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c > index 8f024dab7b..3facb8c2ae 100644 > --- a/hw/sparc/leon3.c > +++ b/hw/sparc/leon3.c > @@ -213,14 +213,14 @@ static void leon3_generic_hw_init(MachineState *machine) > reset_info->sp = LEON3_RAM_OFFSET + ram_size; > qemu_register_reset(main_cpu_reset, reset_info); > > - ahb_pnp = GRLIB_AHB_PNP(object_new(TYPE_GRLIB_AHB_PNP)); > + ahb_pnp = GRLIB_AHB_PNP(qdev_create(NULL, TYPE_GRLIB_AHB_PNP)); > object_property_set_bool(OBJECT(ahb_pnp), true, "realized", &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(ahb_pnp), 0, LEON3_AHB_PNP_OFFSET); > grlib_ahb_pnp_add_entry(ahb_pnp, 0, 0, GRLIB_VENDOR_GAISLER, > GRLIB_LEON3_DEV, GRLIB_AHB_MASTER, > GRLIB_CPU_AREA); > > - apb_pnp = GRLIB_APB_PNP(object_new(TYPE_GRLIB_APB_PNP)); > + apb_pnp = GRLIB_APB_PNP(qdev_create(NULL, TYPE_GRLIB_APB_PNP)); > object_property_set_bool(OBJECT(apb_pnp), true, "realized", &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(apb_pnp), 0, LEON3_APB_PNP_OFFSET); > grlib_ahb_pnp_add_entry(ahb_pnp, LEON3_APB_PNP_OFFSET, 0xFFF, > Thanks, patch applied to for the next (temporary) sparc-next pull request.
On 6/9/20 7:15 AM, Philippe Mathieu-Daudé wrote: > On 5/28/20 1:04 PM, Markus Armbruster wrote: >> leon3_generic_hw_init() creates a "grlib,ahbpnp" and a "grlib,apbpnp" >> sysbus device in a way that leaves them unplugged. >> >> Create them the common way that puts them into the main system bus. >> Affects machine leon3_generic. Visible in "info qtree": >> >> bus: main-system-bus >> type System >> + dev: grlib,ahbpnp, id "" >> + mmio 00000000fffff000/0000000000001000 >> + dev: grlib,apbpnp, id "" >> + mmio 00000000800ff000/0000000000001000 >> dev: grlib,irqmp, id "" >> >> Cc: Fabien Chouteau <chouteau@adacore.com> >> Cc: KONRAD Frederic <frederic.konrad@adacore.com> >> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >> Cc: Artyom Tarasenko <atar4qemu@gmail.com> >> Signed-off-by: Markus Armbruster <armbru@redhat.com> >> Reviewed-by: KONRAD Frederic <frederic.konrad@adacore.com> >> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> >> --- >> hw/sparc/leon3.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c >> index 8f024dab7b..3facb8c2ae 100644 >> --- a/hw/sparc/leon3.c >> +++ b/hw/sparc/leon3.c >> @@ -213,14 +213,14 @@ static void leon3_generic_hw_init(MachineState *machine) >> reset_info->sp = LEON3_RAM_OFFSET + ram_size; >> qemu_register_reset(main_cpu_reset, reset_info); >> >> - ahb_pnp = GRLIB_AHB_PNP(object_new(TYPE_GRLIB_AHB_PNP)); >> + ahb_pnp = GRLIB_AHB_PNP(qdev_create(NULL, TYPE_GRLIB_AHB_PNP)); >> object_property_set_bool(OBJECT(ahb_pnp), true, "realized", &error_fatal); >> sysbus_mmio_map(SYS_BUS_DEVICE(ahb_pnp), 0, LEON3_AHB_PNP_OFFSET); >> grlib_ahb_pnp_add_entry(ahb_pnp, 0, 0, GRLIB_VENDOR_GAISLER, >> GRLIB_LEON3_DEV, GRLIB_AHB_MASTER, >> GRLIB_CPU_AREA); >> >> - apb_pnp = GRLIB_APB_PNP(object_new(TYPE_GRLIB_APB_PNP)); >> + apb_pnp = GRLIB_APB_PNP(qdev_create(NULL, TYPE_GRLIB_APB_PNP)); >> object_property_set_bool(OBJECT(apb_pnp), true, "realized", &error_fatal); >> sysbus_mmio_map(SYS_BUS_DEVICE(apb_pnp), 0, LEON3_APB_PNP_OFFSET); >> grlib_ahb_pnp_add_entry(ahb_pnp, LEON3_APB_PNP_OFFSET, 0xFFF, >> > > Thanks, patch applied to for the next (temporary) sparc-next pull request. As suggested on IRC, dropping this patch, since it is part of an omnibus cleanup.
diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c index 8f024dab7b..3facb8c2ae 100644 --- a/hw/sparc/leon3.c +++ b/hw/sparc/leon3.c @@ -213,14 +213,14 @@ static void leon3_generic_hw_init(MachineState *machine) reset_info->sp = LEON3_RAM_OFFSET + ram_size; qemu_register_reset(main_cpu_reset, reset_info); - ahb_pnp = GRLIB_AHB_PNP(object_new(TYPE_GRLIB_AHB_PNP)); + ahb_pnp = GRLIB_AHB_PNP(qdev_create(NULL, TYPE_GRLIB_AHB_PNP)); object_property_set_bool(OBJECT(ahb_pnp), true, "realized", &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(ahb_pnp), 0, LEON3_AHB_PNP_OFFSET); grlib_ahb_pnp_add_entry(ahb_pnp, 0, 0, GRLIB_VENDOR_GAISLER, GRLIB_LEON3_DEV, GRLIB_AHB_MASTER, GRLIB_CPU_AREA); - apb_pnp = GRLIB_APB_PNP(object_new(TYPE_GRLIB_APB_PNP)); + apb_pnp = GRLIB_APB_PNP(qdev_create(NULL, TYPE_GRLIB_APB_PNP)); object_property_set_bool(OBJECT(apb_pnp), true, "realized", &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(apb_pnp), 0, LEON3_APB_PNP_OFFSET); grlib_ahb_pnp_add_entry(ahb_pnp, LEON3_APB_PNP_OFFSET, 0xFFF,