qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 10/10] hw/isa/vt82c686: Create rtc-time alias in boards in


From: Bernhard Beschow
Subject: Re: [PATCH v2 10/10] hw/isa/vt82c686: Create rtc-time alias in boards instead
Date: Fri, 09 Sep 2022 12:43:44 +0000

Am 30. August 2022 21:46:57 UTC schrieb "Philippe Mathieu-Daudé" 
<f4bug@amsat.org>:
>On 30/8/22 21:00, Bernhard Beschow wrote:
>> According to good QOM practice, an object should only deal with objects
>> of its own sub tree. Having devices create an alias on the machine
>> object doesn't respect this good practice. To resolve this, create the
>> alias in the machine's code.
>
>IIUC, this is only true for Pegasos II, not (yet) for the Fuloong 2E.
>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> ---
>>   hw/isa/vt82c686.c   | 2 --
>>   hw/mips/fuloong2e.c | 4 ++++
>>   hw/ppc/pegasos2.c   | 4 ++++
>>   3 files changed, 8 insertions(+), 2 deletions(-)
>> 
>> diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
>> index 0ef9446374..a23ffbb3ff 100644
>> --- a/hw/isa/vt82c686.c
>> +++ b/hw/isa/vt82c686.c
>> @@ -631,8 +631,6 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
>>       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++) {
>> diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c
>> index 2d8723ab74..0f4cfe1188 100644
>> --- a/hw/mips/fuloong2e.c
>> +++ b/hw/mips/fuloong2e.c
>> @@ -203,6 +203,10 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, 
>> int slot, qemu_irq intc,
>>         via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), 
>> true,
>>                                             TYPE_VT82C686B_ISA);
>> +    object_property_add_alias(qdev_get_machine(), "rtc-time",
>> +                              object_resolve_path_component(OBJECT(via),
>> +                                                            "rtc"),
>> +                              "date");
>>       qdev_connect_gpio_out(DEVICE(via), 0, intc);
>>         dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide"));
>> diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
>> index 09fdb7557f..f50e1d8b3f 100644
>> --- a/hw/ppc/pegasos2.c
>> +++ b/hw/ppc/pegasos2.c
>> @@ -161,6 +161,10 @@ static void pegasos2_init(MachineState *machine)
>>       /* VIA VT8231 South Bridge (multifunction PCI device) */
>>       via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true,
>>                                             TYPE_VT8231_ISA);
>> +    object_property_add_alias(qdev_get_machine(), "rtc-time",
>
>We already have a 'machine' pointer.

Fixed in v5.

>
>> +                              object_resolve_path_component(OBJECT(via),
>> +                                                            "rtc"),
>> +                              "date");
>>       qdev_connect_gpio_out(DEVICE(via), 0,
>>                             qdev_get_gpio_in_named(pm->mv, "gpp", 31));
>>   
>




reply via email to

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