[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 26/56] hw/dma: Pass parent object to i8257_dma_init()
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 26/56] hw/dma: Pass parent object to i8257_dma_init() |
Date: |
Thu, 15 Feb 2024 18:57:20 +0100 |
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>
---
include/hw/dma/i8257.h | 2 +-
hw/dma/i82374.c | 2 +-
hw/dma/i8257.c | 4 +++-
hw/i386/pc_piix.c | 2 +-
hw/isa/lpc_ich9.c | 2 +-
hw/isa/piix.c | 2 +-
hw/isa/vt82c686.c | 2 +-
hw/mips/jazz.c | 2 +-
8 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/include/hw/dma/i8257.h b/include/hw/dma/i8257.h
index f652345d65..4342e4a91e 100644
--- a/include/hw/dma/i8257.h
+++ b/include/hw/dma/i8257.h
@@ -45,6 +45,6 @@ struct I8257State {
PortioList portio_pageh;
};
-void i8257_dma_init(ISABus *bus, bool high_page_enable);
+void i8257_dma_init(Object *parent, ISABus *bus, bool high_page_enable);
#endif
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);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 70d12bb1b5..999b7b806c 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -310,7 +310,7 @@ static void pc_init1(MachineState *machine,
qdev_prop_set_int32(DEVICE(rtc_state), "base_year", 2000);
isa_realize_and_unref(rtc_state, isa_bus, &error_fatal);
- i8257_dma_init(isa_bus, 0);
+ i8257_dma_init(OBJECT(machine), isa_bus, 0);
pcms->hpet_enabled = false;
idebus[0] = NULL;
idebus[1] = NULL;
diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c
index 3924eec483..70c6e8a093 100644
--- a/hw/isa/lpc_ich9.c
+++ b/hw/isa/lpc_ich9.c
@@ -739,7 +739,7 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp)
isa_bus_register_input_irqs(isa_bus, lpc->gsi);
- i8257_dma_init(isa_bus, 0);
+ i8257_dma_init(OBJECT(d), isa_bus, 0);
/* RTC */
qdev_prop_set_int32(DEVICE(&lpc->rtc), "base_year", 2000);
diff --git a/hw/isa/piix.c b/hw/isa/piix.c
index 344bf32e54..2d30711b17 100644
--- a/hw/isa/piix.c
+++ b/hw/isa/piix.c
@@ -336,7 +336,7 @@ static void pci_piix_realize(PCIDevice *dev, const char
*uhci_type,
i8254_pit_init(isa_bus, 0x40, 0, NULL);
}
- i8257_dma_init(isa_bus, 0);
+ i8257_dma_init(OBJECT(dev), isa_bus, 0);
/* RTC */
qdev_prop_set_int32(DEVICE(&d->rtc), "base_year", 2000);
diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index 0c504de36e..aa91942745 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -731,7 +731,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
s->isa_irqs_in = i8259_init(isa_bus, *isa_irq);
isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in);
i8254_pit_init(isa_bus, 0x40, 0, NULL);
- i8257_dma_init(isa_bus, 0);
+ i8257_dma_init(OBJECT(d), isa_bus, 0);
/* RTC */
qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000);
diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c
index 5bf3e328db..1bc17e69d3 100644
--- a/hw/mips/jazz.c
+++ b/hw/mips/jazz.c
@@ -289,7 +289,7 @@ static void mips_jazz_init(MachineState *machine,
/* ISA devices */
i8259 = i8259_init(isa_bus, env->irq[4]);
isa_bus_register_input_irqs(isa_bus, i8259);
- i8257_dma_init(isa_bus, 0);
+ i8257_dma_init(OBJECT(rc4030), isa_bus, 0);
pit = i8254_pit_init(isa_bus, 0x40, 0, NULL);
pcspk = isa_new(TYPE_PC_SPEAKER);
object_property_set_link(OBJECT(pcspk), "pit", OBJECT(pit), &error_fatal);
--
2.41.0
- [PULL 17/56] hw/isa: fix ISA_SUPERIO dependencies, (continued)
- [PULL 17/56] hw/isa: fix ISA_SUPERIO dependencies, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 16/56] hw/mips/Kconfig: Remove ISA dependencies from MIPSsim board, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 18/56] hw/isa: specify instance_size in isa_superio_type_info, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 19/56] hw/isa: extract FDC37M81X to a separate file, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 20/56] hw/rx/rx62n: Reduce inclusion of 'qemu/units.h', Philippe Mathieu-Daudé, 2024/02/15
- [PULL 21/56] hw/rx/rx62n: Only call qdev_get_gpio_in() when necessary, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 22/56] hw/i386/q35: Realize LPC PCI function before accessing it, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 23/56] hw/ppc/prep: Realize ISA bridge before accessing it, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 24/56] hw/misc/macio: Realize IDE controller before accessing it, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 25/56] hw/sh4/r2d: Realize IDE controller before accessing it, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 26/56] hw/dma: Pass parent object to i8257_dma_init(),
Philippe Mathieu-Daudé <=
- [PULL 28/56] hw/sparc64/cpu: Initialize GPIO before realizing CPU devices, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 27/56] hw/sparc/sun4m: Realize DMA controller before accessing it, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 29/56] target/sparc: Provide hint about CPUSPARCState::irq_manager member, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 30/56] hw/sparc/leon3: Remove duplicate code, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 32/56] hw/sparc/leon3: Have write_bootloader() take a void pointer argument, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 31/56] hw/sparc/leon3: Remove unused 'env' argument of write_bootloader(), Philippe Mathieu-Daudé, 2024/02/15
- [PULL 33/56] hw/sparc/grlib: split out the headers for each peripherals, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 36/56] hw/intc/grlib_irqmp: implements multicore irq, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 35/56] hw/intc/grlib_irqmp: implements the multiprocessor status register, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 37/56] target/sparc: implement asr17 feature for smp, Philippe Mathieu-Daudé, 2024/02/15