aboutsummaryrefslogtreecommitdiff
path: root/hw/dma
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2024-02-13 12:42:14 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-02-15 16:58:46 +0100
commit5e37bc4997c32a1c9a6621a060462c84df9f1b8f (patch)
tree117f3dab4919e29e8fe865aaaf0cd98c304a692e /hw/dma
parent3c5f86a22686ef475a8259c0d8ee714f61c770c9 (diff)
hw/dma: Pass parent object to i8257_dma_init()
Set I8257 instances parent (migration isn't affected). Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20240213114426.87836-1-philmd@linaro.org>
Diffstat (limited to 'hw/dma')
-rw-r--r--hw/dma/i82374.c2
-rw-r--r--hw/dma/i8257.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
index f6ddfc51c5..e72aa2e1ce 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -129,7 +129,7 @@ static void i82374_realize(DeviceState *dev, Error **errp)
error_setg(errp, "DMA already initialized on ISA bus");
return;
}
- i8257_dma_init(isa_bus, true);
+ i8257_dma_init(OBJECT(dev), isa_bus, true);
portio_list_init(&s->port_list, OBJECT(s), i82374_portio_list, s,
"i82374");
diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c
index de1d5b110c..24a54ca272 100644
--- a/hw/dma/i8257.c
+++ b/hw/dma/i8257.c
@@ -632,12 +632,13 @@ static void i8257_register_types(void)
type_init(i8257_register_types)
-void i8257_dma_init(ISABus *bus, bool high_page_enable)
+void i8257_dma_init(Object *parent, ISABus *bus, bool high_page_enable)
{
ISADevice *isa1, *isa2;
DeviceState *d;
isa1 = isa_new(TYPE_I8257);
+ object_property_add_child(parent, "dma[*]", OBJECT(isa1));
d = DEVICE(isa1);
qdev_prop_set_int32(d, "base", 0x00);
qdev_prop_set_int32(d, "page-base", 0x80);
@@ -646,6 +647,7 @@ void i8257_dma_init(ISABus *bus, bool high_page_enable)
isa_realize_and_unref(isa1, bus, &error_fatal);
isa2 = isa_new(TYPE_I8257);
+ object_property_add_child(parent, "dma[*]", OBJECT(isa2));
d = DEVICE(isa2);
qdev_prop_set_int32(d, "base", 0xc0);
qdev_prop_set_int32(d, "page-base", 0x88);