qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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,
>> 


  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).