mbox series

[0/9] Simplify initialization of PC machines

Message ID 20240208220349.4948-1-shentey@gmail.com (mailing list archive)
Headers show
Series Simplify initialization of PC machines | expand

Message

Bernhard Beschow Feb. 8, 2024, 10:03 p.m. UTC
The series aims to simplify the initialization process of all PC-based machines.

It consists of streamlining redundant code, as well as consolidating the setup
of system flash and generation of smbios data which are currently fairly
distributed.

These changes are expected to make the code easier to understand and maintain.

Best regards,
Bernhard

Bernhard Beschow (9):
  hw/i386/x86: Let ioapic_init_gsi() take parent as pointer
  hw/i386/pc_piix: Share pc_cmos_init() invocation between pc and isapc
    machines
  hw/i386/x86: Turn apic_xrupt_override into class attribute
  hw/i386/pc: Merge pc_guest_info_init() into pc_machine_initfn()
  hw/i386/pc: Defer smbios_set_defaults() to machine_done
  hw/i386/pc: Confine system flash handling to pc_sysfw
  hw/i386/pc_sysfw: Inline pc_system_flash_create() and remove it
  hw/i386/pc: Populate RTC attribute directly
  hw/i386/pc_{piix,q35}: Eliminate local pci_bus/pci_host variables

 hw/i386/fw_cfg.h      |  3 ++-
 include/hw/i386/pc.h  |  5 ----
 include/hw/i386/x86.h |  5 ++--
 hw/i386/acpi-common.c |  3 ++-
 hw/i386/fw_cfg.c      | 12 +++++++++-
 hw/i386/microvm.c     |  2 +-
 hw/i386/pc.c          | 25 +++++---------------
 hw/i386/pc_piix.c     | 55 ++++++++++++++-----------------------------
 hw/i386/pc_q35.c      | 38 ++++++++++--------------------
 hw/i386/pc_sysfw.c    | 17 ++++---------
 hw/i386/x86.c         |  7 +++---
 11 files changed, 62 insertions(+), 110 deletions(-)

Comments

Bernhard Beschow Feb. 13, 2024, 6:50 p.m. UTC | #1
Am 8. Februar 2024 22:03:40 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>The series aims to simplify the initialization process of all PC-based machines.
>
>
>
>It consists of streamlining redundant code, as well as consolidating the setup
>
>of system flash and generation of smbios data which are currently fairly
>
>distributed.
>
>
>
>These changes are expected to make the code easier to understand and maintain.
>
>
>
>Best regards,
>
>Bernhard
>
>
>
>Bernhard Beschow (9):
>
>  hw/i386/x86: Let ioapic_init_gsi() take parent as pointer
>
>  hw/i386/pc_piix: Share pc_cmos_init() invocation between pc and isapc
>
>    machines
>
>  hw/i386/x86: Turn apic_xrupt_override into class attribute
>
>  hw/i386/pc: Merge pc_guest_info_init() into pc_machine_initfn()
>
>  hw/i386/pc: Defer smbios_set_defaults() to machine_done
>
>  hw/i386/pc: Confine system flash handling to pc_sysfw
>
>  hw/i386/pc_sysfw: Inline pc_system_flash_create() and remove it
>
>  hw/i386/pc: Populate RTC attribute directly
>
>  hw/i386/pc_{piix,q35}: Eliminate local pci_bus/pci_host variables
>

Ping. Only patch 4 reviewed so far.

>
>
> hw/i386/fw_cfg.h      |  3 ++-
>
> include/hw/i386/pc.h  |  5 ----
>
> include/hw/i386/x86.h |  5 ++--
>
> hw/i386/acpi-common.c |  3 ++-
>
> hw/i386/fw_cfg.c      | 12 +++++++++-
>
> hw/i386/microvm.c     |  2 +-
>
> hw/i386/pc.c          | 25 +++++---------------
>
> hw/i386/pc_piix.c     | 55 ++++++++++++++-----------------------------
>
> hw/i386/pc_q35.c      | 38 ++++++++++--------------------
>
> hw/i386/pc_sysfw.c    | 17 ++++---------
>
> hw/i386/x86.c         |  7 +++---
>
> 11 files changed, 62 insertions(+), 110 deletions(-)
>
>
>
>-- >
>2.43.0
>
>
>
Philippe Mathieu-Daudé Feb. 22, 2024, 2:26 p.m. UTC | #2
On 8/2/24 23:03, Bernhard Beschow wrote:
> The series aims to simplify the initialization process of all PC-based machines.
> 
> It consists of streamlining redundant code, as well as consolidating the setup
> of system flash and generation of smbios data which are currently fairly
> distributed.
> 
> These changes are expected to make the code easier to understand and maintain.
> 
> Best regards,
> Bernhard
> 
> Bernhard Beschow (9):
>    hw/i386/x86: Let ioapic_init_gsi() take parent as pointer
>    hw/i386/pc_piix: Share pc_cmos_init() invocation between pc and isapc
>      machines
>    hw/i386/x86: Turn apic_xrupt_override into class attribute
>    hw/i386/pc: Merge pc_guest_info_init() into pc_machine_initfn()
>    hw/i386/pc: Defer smbios_set_defaults() to machine_done
>    hw/i386/pc: Confine system flash handling to pc_sysfw
>    hw/i386/pc_sysfw: Inline pc_system_flash_create() and remove it
>    hw/i386/pc: Populate RTC attribute directly
>    hw/i386/pc_{piix,q35}: Eliminate local pci_bus/pci_host variables

Patches 2-7 queued so far.
Michael S. Tsirkin Feb. 22, 2024, 3:25 p.m. UTC | #3
On Thu, Feb 08, 2024 at 11:03:40PM +0100, Bernhard Beschow wrote:
> The series aims to simplify the initialization process of all PC-based machines.
> 
> It consists of streamlining redundant code, as well as consolidating the setup
> of system flash and generation of smbios data which are currently fairly
> distributed.
> 
> These changes are expected to make the code easier to understand and maintain.
> 
> Best regards,
> Bernhard


This looks good to me overall.

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

I see Philippe started queueing these, fine by me.

> Bernhard Beschow (9):
>   hw/i386/x86: Let ioapic_init_gsi() take parent as pointer
>   hw/i386/pc_piix: Share pc_cmos_init() invocation between pc and isapc
>     machines
>   hw/i386/x86: Turn apic_xrupt_override into class attribute
>   hw/i386/pc: Merge pc_guest_info_init() into pc_machine_initfn()
>   hw/i386/pc: Defer smbios_set_defaults() to machine_done
>   hw/i386/pc: Confine system flash handling to pc_sysfw
>   hw/i386/pc_sysfw: Inline pc_system_flash_create() and remove it
>   hw/i386/pc: Populate RTC attribute directly
>   hw/i386/pc_{piix,q35}: Eliminate local pci_bus/pci_host variables
> 
>  hw/i386/fw_cfg.h      |  3 ++-
>  include/hw/i386/pc.h  |  5 ----
>  include/hw/i386/x86.h |  5 ++--
>  hw/i386/acpi-common.c |  3 ++-
>  hw/i386/fw_cfg.c      | 12 +++++++++-
>  hw/i386/microvm.c     |  2 +-
>  hw/i386/pc.c          | 25 +++++---------------
>  hw/i386/pc_piix.c     | 55 ++++++++++++++-----------------------------
>  hw/i386/pc_q35.c      | 38 ++++++++++--------------------
>  hw/i386/pc_sysfw.c    | 17 ++++---------
>  hw/i386/x86.c         |  7 +++---
>  11 files changed, 62 insertions(+), 110 deletions(-)
> 
> -- 
> 2.43.0
>
Bernhard Beschow Feb. 24, 2024, 2:02 p.m. UTC | #4
Am 22. Februar 2024 15:25:01 UTC schrieb "Michael S. Tsirkin" <mst@redhat.com>:
>On Thu, Feb 08, 2024 at 11:03:40PM +0100, Bernhard Beschow wrote:
>> The series aims to simplify the initialization process of all PC-based machines.
>> 
>> It consists of streamlining redundant code, as well as consolidating the setup
>> of system flash and generation of smbios data which are currently fairly
>> distributed.
>> 
>> These changes are expected to make the code easier to understand and maintain.
>> 
>> Best regards,
>> Bernhard
>
>
>This looks good to me overall.
>
>Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>
>I see Philippe started queueing these, fine by me.

Thanks so far to all involved! I've just sent v2: https://lore.kernel.org/qemu-devel/20240224135851.100361-1-shentey@gmail.com/

Best regars,
Bernhard

>
>> Bernhard Beschow (9):
>>   hw/i386/x86: Let ioapic_init_gsi() take parent as pointer
>>   hw/i386/pc_piix: Share pc_cmos_init() invocation between pc and isapc
>>     machines
>>   hw/i386/x86: Turn apic_xrupt_override into class attribute
>>   hw/i386/pc: Merge pc_guest_info_init() into pc_machine_initfn()
>>   hw/i386/pc: Defer smbios_set_defaults() to machine_done
>>   hw/i386/pc: Confine system flash handling to pc_sysfw
>>   hw/i386/pc_sysfw: Inline pc_system_flash_create() and remove it
>>   hw/i386/pc: Populate RTC attribute directly
>>   hw/i386/pc_{piix,q35}: Eliminate local pci_bus/pci_host variables
>> 
>>  hw/i386/fw_cfg.h      |  3 ++-
>>  include/hw/i386/pc.h  |  5 ----
>>  include/hw/i386/x86.h |  5 ++--
>>  hw/i386/acpi-common.c |  3 ++-
>>  hw/i386/fw_cfg.c      | 12 +++++++++-
>>  hw/i386/microvm.c     |  2 +-
>>  hw/i386/pc.c          | 25 +++++---------------
>>  hw/i386/pc_piix.c     | 55 ++++++++++++++-----------------------------
>>  hw/i386/pc_q35.c      | 38 ++++++++++--------------------
>>  hw/i386/pc_sysfw.c    | 17 ++++---------
>>  hw/i386/x86.c         |  7 +++---
>>  11 files changed, 62 insertions(+), 110 deletions(-)
>> 
>> -- 
>> 2.43.0
>> 
>