qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 8/9] hw/isa/vt82c686: QOM'ify RTC creation


From: BALATON Zoltan
Subject: Re: [PATCH 8/9] hw/isa/vt82c686: QOM'ify RTC creation
Date: Tue, 23 Aug 2022 02:20:29 +0200 (CEST)

On Tue, 23 Aug 2022, Bernhard Beschow wrote:
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/vt82c686.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index 47f2fd2669..ee745d5d49 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -546,6 +546,7 @@ struct ViaISAState {
    qemu_irq cpu_intr;
    qemu_irq *isa_irqs;
    ViaSuperIOState via_sio;
+    RTCState rtc;
    PCIIDEState ide;
    UHCIState uhci[2];
    ViaPMState pm;
@@ -567,6 +568,7 @@ static void via_isa_init(Object *obj)
{
    ViaISAState *s = VIA_ISA(obj);

+    object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC);
    object_initialize_child(obj, "ide", &s->ide, "via-ide");
    object_initialize_child(obj, "uhci1", &s->uhci[0], "vt82c686b-usb-uhci");
    object_initialize_child(obj, "uhci2", &s->uhci[1], "vt82c686b-usb-uhci");
@@ -615,7 +617,15 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
    isa_bus_irqs(isa_bus, s->isa_irqs);
    i8254_pit_init(isa_bus, 0x40, 0, NULL);
    i8257_dma_init(isa_bus, 0);
-    mc146818_rtc_init(isa_bus, 2000, NULL);
+
+    /* RTC */
+    qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000);
+    if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) {
+        return;
+    }
+    object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(&s->rtc),
+                              "date");
+    isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq);

    for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) {
        if (i < PCI_COMMAND || i >= PCI_REVISION_ID) {


This actually introduces code duplication as all other places except piix4 seem to still use the init function (probably to ensure that the rtc-rime alias on the machine is properly set) so I'd keep this the same as everything else and drop this patch until this init function is removed from all other places as well.

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]