[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 3/9] hw/i386/pc_q35: Reuse machine parameter
From: |
Bernhard Beschow |
Subject: |
Re: [PATCH v4 3/9] hw/i386/pc_q35: Reuse machine parameter |
Date: |
Wed, 22 Feb 2023 18:52:02 +0100 |
Am 22. Februar 2023 11:03:38 UTC schrieb "Philippe Mathieu-Daudé"
<philmd@linaro.org>:
>On 13/2/23 17:19, Bernhard Beschow wrote:
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>> ---
>> hw/i386/pc_q35.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
>> index 66cd718b70..dee2b38474 100644
>> --- a/hw/i386/pc_q35.c
>> +++ b/hw/i386/pc_q35.c
>> @@ -218,7 +218,7 @@ static void pc_q35_init(MachineState *machine)
>> pc_memory_init(pcms, get_system_memory(), rom_memory, &ram_memory,
>> pci_hole64_size);
>> - object_property_add_child(qdev_get_machine(), "q35",
>> OBJECT(q35_host));
>> + object_property_add_child(OBJECT(machine), "q35", OBJECT(q35_host));
>> object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_RAM_MEM,
>> OBJECT(ram_memory), NULL);
>> object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_PCI_MEM,
>
>Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
>Long term we should duplicate/extract Q35MachineState from
>PCMachineState and add a Q35PCIHost field, then use object_initialize_child;
>removing this object_property_add_child()
>call.
The Q35 and PC machines duplicate a lot of code indeed. So I was
thinking more along the lines of consolidating with pc_piix ;) The
idea would be to get a peek preview into a configuration-driven future
where the PCI host bridges (Q35 or I440FX) are dynamically
instantiated based on configuration data. They would also be
configured through their QOM interfaces only.
I've submitted a series where the Q35 host bridge gets a QOM cleanup
[1] and I've got a series locally resolving i440fx_init(). Both series
combined bring these two device models close together regarding their
QOM interface. I've not submitted the i440fx series yet since it is
blocked by this series.
One further step for pc_q35 and pc_piix consolidation would be to
factor ICH9 PCI devices (not functions!) into self-contained models,
like is underway with PIIX(3). I've started with ICH9 cleanup already
[2] and I'm waiting for the PIIX consolidation to land in order to be
able to make more progress here.
Note that pc_q35 and pc_piix consolidation is just an idea for now
which could also turn out to be a bad one. If the two machines just
ended up sharing more code that could IMO be considered a success as
well.
Best regards,
Bernhard
[1] 20230214131441.101760-1-shentey@gmail.com/">https://patchew.org/QEMU/20230214131441.101760-1-shentey@gmail.com/
[2] 20230213173033.98762-1-shentey@gmail.com/">https://patchew.org/QEMU/20230213173033.98762-1-shentey@gmail.com/
- [PATCH v4 0/9] PC cleanups, Bernhard Beschow, 2023/02/13
- [PATCH v4 4/9] hw/i386/pc_{q35, piix}: Reuse MachineClass::desc as SMB product name, Bernhard Beschow, 2023/02/13
- [PATCH v4 5/9] hw/i386/pc_{q35, piix}: Minimize usage of get_system_memory(), Bernhard Beschow, 2023/02/13
- [PATCH v4 6/9] hw/i386/pc: Initialize ram_memory variable directly, Bernhard Beschow, 2023/02/13
- [PATCH v4 7/9] hw/pci-host/pam: Make init_pam() usage more readable, Bernhard Beschow, 2023/02/13
- [PATCH v4 9/9] target/i386/tcg/sysemu/tcg-cpu: Avoid own opinion about smram size, Bernhard Beschow, 2023/02/13
- [PATCH v4 8/9] hw/i386/x86: Make TYPE_X86_MACHINE the owner of smram, Bernhard Beschow, 2023/02/13