[PATCH v4 0/7] malta: Fix PCI IRQ levels to be preserved during migration, cleanup

Bernhard Beschow posted 7 patches 2 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220217101924.15347-1-shentey@gmail.com
Test checkpatch passed
Maintainers: "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aurelien Jarno <aurelien@aurel32.net>
hw/isa/piix4.c                | 54 +++++++++++++++++++++--
hw/mips/gt64xxx_pci.c         | 80 +++--------------------------------
hw/mips/malta.c               |  7 +--
include/hw/mips/mips.h        |  3 --
include/hw/southbridge/piix.h |  2 -
5 files changed, 59 insertions(+), 87 deletions(-)
[PATCH v4 0/7] malta: Fix PCI IRQ levels to be preserved during migration, cleanup
Posted by Bernhard Beschow 2 years, 2 months ago
Tested with [1]:

  qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda \
  debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"

It was possible to log in as root and `poweroff` the machine.

[1] https://people.debian.org/~aurel32/qemu/mips/


v4:
  As suggested by BALATON Zoltan, gt64120_register() is now resolved by
    sysbus_create_simple() etc. This also fixes the nitpick pointed out by
    Philippe.

v3:
  The migration bug now gets fixed in gt64xxx_pci before any cleanup. As
    suggested by PMM the patch is based on commit e735b55a8c11.
  The code movement patch now moves the already fixed code. I might be a bit
    too conservative here by removing Philippe's Reviewed-By tag.
  As suggested by BALATON Zoltan, the redundant i8259[] attribute is now
    resolved immediately after the code movement. As a side effect, it also
    removes moved code which doesn't adhere to the coding style (local loop
    variable).
  To address BALATON Zoltan's comment and to reduce the number of required
    Reviewed-By's, only piix4_set_irq() is modified to expect own DeviceState
    paremeter. Up to v2, all remaining set_irq() functions were changed this
    way.
  The patch resolving piix4's singleton variable got split into two patches:
    One which resolves the singleton variable and one which replaces magic
    constants. The split patches should be more comprehensible.
  Suggested by BALATON Zoltan, I took a chance to resolve gt64120_register(),
    a method akin to the legacy init functions we're trying to get rid of.

v2:
  isa/piix4: Fix PCI IRQ levels to be preserved in VMState
  isa/piix4: Resolve redundant i8259[] attribute

Bernhard Beschow (7):
  hw/mips/gt64xxx_pci: Fix PCI IRQ levels to be preserved during
    migration
  malta: Move PCI interrupt handling from gt64xxx_pci to piix4
  hw/isa/piix4: Resolve redundant i8259[] attribute
  hw/isa/piix4: Pass PIIX4State as opaque parameter for piix4_set_irq()
  hw/isa/piix4: Resolve global instance variable
  hw/isa/piix4: Replace some magic IRQ constants
  hw/mips/gt64xxx_pci: Resolve gt64120_register()

 hw/isa/piix4.c                | 54 +++++++++++++++++++++--
 hw/mips/gt64xxx_pci.c         | 80 +++--------------------------------
 hw/mips/malta.c               |  7 +--
 include/hw/mips/mips.h        |  3 --
 include/hw/southbridge/piix.h |  2 -
 5 files changed, 59 insertions(+), 87 deletions(-)

-- 
2.35.1


Re: [PATCH v4 0/7] malta: Fix PCI IRQ levels to be preserved during migration, cleanup
Posted by Bernhard Beschow 2 years, 2 months ago
Am 17. Februar 2022 10:19:17 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>Tested with [1]:
>
>  qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda \
>  debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"
>
>It was possible to log in as root and `poweroff` the machine.
>
>[1] https://people.debian.org/~aurel32/qemu/mips/
>
>
>v4:
>  As suggested by BALATON Zoltan, gt64120_register() is now resolved by
>    sysbus_create_simple() etc. This also fixes the nitpick pointed out by
>    Philippe.
>
>v3:
>  The migration bug now gets fixed in gt64xxx_pci before any cleanup. As
>    suggested by PMM the patch is based on commit e735b55a8c11.
>  The code movement patch now moves the already fixed code. I might be a bit
>    too conservative here by removing Philippe's Reviewed-By tag.
>  As suggested by BALATON Zoltan, the redundant i8259[] attribute is now
>    resolved immediately after the code movement. As a side effect, it also
>    removes moved code which doesn't adhere to the coding style (local loop
>    variable).
>  To address BALATON Zoltan's comment and to reduce the number of required
>    Reviewed-By's, only piix4_set_irq() is modified to expect own DeviceState
>    paremeter. Up to v2, all remaining set_irq() functions were changed this
>    way.
>  The patch resolving piix4's singleton variable got split into two patches:
>    One which resolves the singleton variable and one which replaces magic
>    constants. The split patches should be more comprehensible.
>  Suggested by BALATON Zoltan, I took a chance to resolve gt64120_register(),
>    a method akin to the legacy init functions we're trying to get rid of.
>
>v2:
>  isa/piix4: Fix PCI IRQ levels to be preserved in VMState
>  isa/piix4: Resolve redundant i8259[] attribute
>
>Bernhard Beschow (7):
>  hw/mips/gt64xxx_pci: Fix PCI IRQ levels to be preserved during
>    migration
>  malta: Move PCI interrupt handling from gt64xxx_pci to piix4
>  hw/isa/piix4: Resolve redundant i8259[] attribute
>  hw/isa/piix4: Pass PIIX4State as opaque parameter for piix4_set_irq()
>  hw/isa/piix4: Resolve global instance variable
>  hw/isa/piix4: Replace some magic IRQ constants
>  hw/mips/gt64xxx_pci: Resolve gt64120_register()
>
> hw/isa/piix4.c                | 54 +++++++++++++++++++++--
> hw/mips/gt64xxx_pci.c         | 80 +++--------------------------------
> hw/mips/malta.c               |  7 +--
> include/hw/mips/mips.h        |  3 --
> include/hw/southbridge/piix.h |  2 -
> 5 files changed, 59 insertions(+), 87 deletions(-)
>

@Phil: Would you also queue this series in your MIPS tree?

Best regards,
Bernhard
Re: [PATCH v4 0/7] malta: Fix PCI IRQ levels to be preserved during migration, cleanup
Posted by Bernhard Beschow 2 years, 2 months ago
Am 17. Februar 2022 10:19:17 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>Tested with [1]:
>
>  qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda \
>  debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"
>
>It was possible to log in as root and `poweroff` the machine.
>
>[1] https://people.debian.org/~aurel32/qemu/mips/
>
>
>v4:
>  As suggested by BALATON Zoltan, gt64120_register() is now resolved by
>    sysbus_create_simple() etc. This also fixes the nitpick pointed out by
>    Philippe.
>
>v3:
>  The migration bug now gets fixed in gt64xxx_pci before any cleanup. As
>    suggested by PMM the patch is based on commit e735b55a8c11.
>  The code movement patch now moves the already fixed code. I might be a bit
>    too conservative here by removing Philippe's Reviewed-By tag.
>  As suggested by BALATON Zoltan, the redundant i8259[] attribute is now
>    resolved immediately after the code movement. As a side effect, it also
>    removes moved code which doesn't adhere to the coding style (local loop
>    variable).
>  To address BALATON Zoltan's comment and to reduce the number of required
>    Reviewed-By's, only piix4_set_irq() is modified to expect own DeviceState
>    paremeter. Up to v2, all remaining set_irq() functions were changed this
>    way.
>  The patch resolving piix4's singleton variable got split into two patches:
>    One which resolves the singleton variable and one which replaces magic
>    constants. The split patches should be more comprehensible.
>  Suggested by BALATON Zoltan, I took a chance to resolve gt64120_register(),
>    a method akin to the legacy init functions we're trying to get rid of.
>
>v2:
>  isa/piix4: Fix PCI IRQ levels to be preserved in VMState
>  isa/piix4: Resolve redundant i8259[] attribute
>
>Bernhard Beschow (7):
>  hw/mips/gt64xxx_pci: Fix PCI IRQ levels to be preserved during
>    migration
>  malta: Move PCI interrupt handling from gt64xxx_pci to piix4
>  hw/isa/piix4: Resolve redundant i8259[] attribute
>  hw/isa/piix4: Pass PIIX4State as opaque parameter for piix4_set_irq()
>  hw/isa/piix4: Resolve global instance variable
>  hw/isa/piix4: Replace some magic IRQ constants
>  hw/mips/gt64xxx_pci: Resolve gt64120_register()
>
> hw/isa/piix4.c                | 54 +++++++++++++++++++++--
> hw/mips/gt64xxx_pci.c         | 80 +++--------------------------------
> hw/mips/malta.c               |  7 +--
> include/hw/mips/mips.h        |  3 --
> include/hw/southbridge/piix.h |  2 -
> 5 files changed, 59 insertions(+), 87 deletions(-)
>

Hi,

all patches have at least one Reviewed-by tag. What's missing for merging?

Best regards,
Bernhard

Re: [PATCH v4 0/7] malta: Fix PCI IRQ levels to be preserved during migration, cleanup
Posted by Philippe Mathieu-Daudé 2 years, 2 months ago
On 25/2/22 21:36, Bernhard Beschow wrote:
> Am 17. Februar 2022 10:19:17 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>> Tested with [1]:
>>
>>   qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda \
>>   debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"
>>
>> It was possible to log in as root and `poweroff` the machine.
>>
>> [1] https://people.debian.org/~aurel32/qemu/mips/
>>
>>
>> v4:
>>   As suggested by BALATON Zoltan, gt64120_register() is now resolved by
>>     sysbus_create_simple() etc. This also fixes the nitpick pointed out by
>>     Philippe.
>>
>> v3:
>>   The migration bug now gets fixed in gt64xxx_pci before any cleanup. As
>>     suggested by PMM the patch is based on commit e735b55a8c11.
>>   The code movement patch now moves the already fixed code. I might be a bit
>>     too conservative here by removing Philippe's Reviewed-By tag.
>>   As suggested by BALATON Zoltan, the redundant i8259[] attribute is now
>>     resolved immediately after the code movement. As a side effect, it also
>>     removes moved code which doesn't adhere to the coding style (local loop
>>     variable).
>>   To address BALATON Zoltan's comment and to reduce the number of required
>>     Reviewed-By's, only piix4_set_irq() is modified to expect own DeviceState
>>     paremeter. Up to v2, all remaining set_irq() functions were changed this
>>     way.
>>   The patch resolving piix4's singleton variable got split into two patches:
>>     One which resolves the singleton variable and one which replaces magic
>>     constants. The split patches should be more comprehensible.
>>   Suggested by BALATON Zoltan, I took a chance to resolve gt64120_register(),
>>     a method akin to the legacy init functions we're trying to get rid of.
>>
>> v2:
>>   isa/piix4: Fix PCI IRQ levels to be preserved in VMState
>>   isa/piix4: Resolve redundant i8259[] attribute
>>
>> Bernhard Beschow (7):
>>   hw/mips/gt64xxx_pci: Fix PCI IRQ levels to be preserved during
>>     migration
>>   malta: Move PCI interrupt handling from gt64xxx_pci to piix4
>>   hw/isa/piix4: Resolve redundant i8259[] attribute
>>   hw/isa/piix4: Pass PIIX4State as opaque parameter for piix4_set_irq()
>>   hw/isa/piix4: Resolve global instance variable
>>   hw/isa/piix4: Replace some magic IRQ constants
>>   hw/mips/gt64xxx_pci: Resolve gt64120_register()
>>
>> hw/isa/piix4.c                | 54 +++++++++++++++++++++--
>> hw/mips/gt64xxx_pci.c         | 80 +++--------------------------------
>> hw/mips/malta.c               |  7 +--
>> include/hw/mips/mips.h        |  3 --
>> include/hw/southbridge/piix.h |  2 -
>> 5 files changed, 59 insertions(+), 87 deletions(-)
>>
> 
> Hi,
> 
> all patches have at least one Reviewed-by tag. What's missing for merging?

Time ;) Series queued to mips-next.

Thanks for the nice - long due - cleanup!

Phil.