From: Bernhard Beschow <shentey@gmail.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, Eduardo Habkost <eduardo@habkost.net>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <richard.henderson@linaro.org>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-trivial@nongnu.org
Subject: Re: [PATCH 4/7] hw/i386/pc_q35: Resolve redundant q35_host variable
Date: Sun, 29 Jan 2023 13:14:52 +0000 [thread overview]
Message-ID: <7F5DBDBA-42A7-4EEC-B5CC-6D96B75231FF@gmail.com> (raw)
In-Reply-To: <0f328d9e-787c-bf8f-4f7f-caacca70a250@eik.bme.hu>
Am 27. Januar 2023 19:22:49 UTC schrieb BALATON Zoltan <balaton@eik.bme.hu>:
>On Fri, 27 Jan 2023, Bernhard Beschow wrote:
>> The variable is redundant to "phb" and is never used by its real type.
>
>Also replace qdev_get_machine() with reference already passed to init function. (Maybe worth mentioning in commit message even if too small change for a separate patch.)
Indeed, this can easily be missed. A separate patch allows for clean justification.
>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> ---
>> hw/i386/pc_q35.c | 22 ++++++++++------------
>> 1 file changed, 10 insertions(+), 12 deletions(-)
>>
>> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
>> index 83c57c6eb1..dc94ce1081 100644
>> --- a/hw/i386/pc_q35.c
>> +++ b/hw/i386/pc_q35.c
>> @@ -118,7 +118,6 @@ static void pc_q35_init(MachineState *machine)
>> PCMachineState *pcms = PC_MACHINE(machine);
>> PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
>> X86MachineState *x86ms = X86_MACHINE(machine);
>> - Q35PCIHost *q35_host;
>> PCIHostState *phb;
>
>The phb variable itself is only used once to get the bus from it and it's mostly cast to Object * so maybe store it in a variable of that type to remove most of the casts and IMO you can also remove PCIHostState *phb and just use:
>
>host_bus = PCI_HOST_BRIDGE(phost)->bus;
Maybe one could also fish out the PCI bus using qdev_get_child_bus() like we do in pc_piix for the ISA bus already. Hm...
Best regards,
Bernhard
>
>Regards,
>BALATON Zoltan
>
>> PCIBus *host_bus;
>> PCIDevice *lpc;
>> @@ -206,10 +205,10 @@ static void pc_q35_init(MachineState *machine)
>> }
>>
>> /* create pci host bus */
>> - q35_host = Q35_HOST_DEVICE(qdev_new(TYPE_Q35_HOST_DEVICE));
>> + phb = PCI_HOST_BRIDGE(qdev_new(TYPE_Q35_HOST_DEVICE));
>>
>> if (pcmc->pci_enabled) {
>> - pci_hole64_size = object_property_get_uint(OBJECT(q35_host),
>> + pci_hole64_size = object_property_get_uint(OBJECT(phb),
>> PCI_HOST_PROP_PCI_HOLE64_SIZE,
>> &error_abort);
>> }
>> @@ -218,22 +217,21 @@ 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_set_link(OBJECT(q35_host), MCH_HOST_PROP_RAM_MEM,
>> + object_property_add_child(OBJECT(machine), "q35", OBJECT(phb));
>> + object_property_set_link(OBJECT(phb), MCH_HOST_PROP_RAM_MEM,
>> OBJECT(ram_memory), NULL);
>> - object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_PCI_MEM,
>> + object_property_set_link(OBJECT(phb), MCH_HOST_PROP_PCI_MEM,
>> OBJECT(pci_memory), NULL);
>> - object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_SYSTEM_MEM,
>> + object_property_set_link(OBJECT(phb), MCH_HOST_PROP_SYSTEM_MEM,
>> OBJECT(get_system_memory()), NULL);
>> - object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_IO_MEM,
>> + object_property_set_link(OBJECT(phb), MCH_HOST_PROP_IO_MEM,
>> OBJECT(system_io), NULL);
>> - object_property_set_int(OBJECT(q35_host), PCI_HOST_BELOW_4G_MEM_SIZE,
>> + object_property_set_int(OBJECT(phb), PCI_HOST_BELOW_4G_MEM_SIZE,
>> x86ms->below_4g_mem_size, NULL);
>> - object_property_set_int(OBJECT(q35_host), PCI_HOST_ABOVE_4G_MEM_SIZE,
>> + object_property_set_int(OBJECT(phb), PCI_HOST_ABOVE_4G_MEM_SIZE,
>> x86ms->above_4g_mem_size, NULL);
>> /* pci */
>> - sysbus_realize_and_unref(SYS_BUS_DEVICE(q35_host), &error_fatal);
>> - phb = PCI_HOST_BRIDGE(q35_host);
>> + sysbus_realize_and_unref(SYS_BUS_DEVICE(phb), &error_fatal);
>> host_bus = phb->bus;
>> /* create ISA bus */
>> lpc = pci_create_simple_multifunction(host_bus, PCI_DEVFN(ICH9_LPC_DEV,
>>
next prev parent reply other threads:[~2023-01-29 13:16 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-27 16:47 [PATCH 0/7] PC cleanups Bernhard Beschow
2023-01-27 16:47 ` [PATCH 1/7] hw/pci-host/i440fx: Inline sysbus_add_io() Bernhard Beschow
2023-01-27 16:47 ` [PATCH 2/7] hw/pci-host/q35: " Bernhard Beschow
2023-01-27 16:47 ` [PATCH 3/7] hw/i386/ich9: Rename Q35_MASK to ICH9_MASK Bernhard Beschow
2023-01-27 16:47 ` [PATCH 4/7] hw/i386/pc_q35: Resolve redundant q35_host variable Bernhard Beschow
2023-01-27 19:22 ` BALATON Zoltan
2023-01-29 13:14 ` Bernhard Beschow [this message]
2023-01-29 14:37 ` BALATON Zoltan
2023-01-27 16:47 ` [PATCH 5/7] hw/i386/pc_{q35, piix}: Reuse MachineClass::desc as SMB product name Bernhard Beschow
2023-01-27 23:53 ` Philippe Mathieu-Daudé
2023-01-27 16:47 ` [PATCH 6/7] hw/i386/pc_{q35, piix}: Minimize usage of get_system_memory() Bernhard Beschow
2023-01-27 19:30 ` BALATON Zoltan
2023-01-29 11:28 ` Bernhard Beschow
2023-01-27 16:47 ` [PATCH 7/7] hw/i386/pc: Initialize ram_memory variable directly Bernhard Beschow
2023-01-27 23:57 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7F5DBDBA-42A7-4EEC-B5CC-6D96B75231FF@gmail.com \
--to=shentey@gmail.com \
--cc=balaton@eik.bme.hu \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).