mbox series

[00/26] hw/ppc: Prefer HumanReadableText over Monitor

Message ID 20240610062105.49848-1-philmd@linaro.org
Headers show
Series hw/ppc: Prefer HumanReadableText over Monitor | expand

Message

Philippe Mathieu-Daudé June 10, 2024, 6:20 a.m. UTC
Hi,

This series remove uses of Monitor in hw/ppc/,
replacing by the more generic HumanReadableText.
Care is taken to keep the commit bisectables by
updating functions one by one, also easing review.

For rationale see previous series from Daniel:
https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/

Regards,

Phil.

Philippe Mathieu-Daudé (26):
  hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
  hw/ppc: Avoid using Monitor in icp_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
  hw/ppc: Avoid using Monitor in ics_pic_print_info()
  hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
  hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
  hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
  hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
  hw/ppc: Avoid using Monitor in
    SpaprInterruptControllerClass::print_info()
  hw/ppc: Avoid using Monitor in spapr_irq_print_info()
  hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
  hw/ppc: Avoid using Monitor in pic_print_info()

 include/hw/pci-host/pnv_phb3.h |   2 +-
 include/hw/pci-host/pnv_phb4.h |   2 +-
 include/hw/ppc/pnv_chip.h      |   4 +-
 include/hw/ppc/pnv_psi.h       |   2 +-
 include/hw/ppc/pnv_xive.h      |   4 +-
 include/hw/ppc/spapr_irq.h     |   4 +-
 include/hw/ppc/xics.h          |   4 +-
 include/hw/ppc/xive.h          |   4 +-
 include/hw/ppc/xive2_regs.h    |   8 +--
 include/hw/ppc/xive_regs.h     |   8 +--
 hw/intc/pnv_xive.c             |  38 ++++++------
 hw/intc/pnv_xive2.c            |  48 +++++++--------
 hw/intc/spapr_xive.c           |  41 ++++++-------
 hw/intc/xics.c                 |  25 ++++----
 hw/intc/xics_spapr.c           |   7 +--
 hw/intc/xive.c                 | 108 ++++++++++++++++-----------------
 hw/intc/xive2.c                |  87 +++++++++++++-------------
 hw/pci-host/pnv_phb3_msi.c     |  21 +++----
 hw/pci-host/pnv_phb4.c         |  17 +++---
 hw/ppc/pnv.c                   |  52 ++++++++--------
 hw/ppc/pnv_psi.c               |   9 ++-
 hw/ppc/spapr.c                 |  11 +++-
 hw/ppc/spapr_irq.c             |   4 +-
 23 files changed, 256 insertions(+), 254 deletions(-)

Comments

Philippe Mathieu-Daudé June 10, 2024, 6:24 a.m. UTC | #1
On 10/6/24 08:20, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series remove uses of Monitor in hw/ppc/,
> replacing by the more generic HumanReadableText.
> Care is taken to keep the commit bisectables by
> updating functions one by one, also easing review.
> 
> For rationale see previous series from Daniel:
> https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/

Or more specifically commit f2de406f29 ("docs/devel: document
expectations for QAPI data modelling for QMP").

> 
> Regards,
> 
> Phil.
Cédric Le Goater June 10, 2024, 8:16 a.m. UTC | #2
On 6/10/24 8:20 AM, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series remove uses of Monitor in hw/ppc/,
> replacing by the more generic HumanReadableText.
> Care is taken to keep the commit bisectables by
> updating functions one by one, also easing review.
> 
> For rationale see previous series from Daniel:
> https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/

This looks OK to me but I think there are patches in the ppc queue
that will conflict. I would wait for Nick to send a PR first and
then rebase.

Thanks,

C.



> 
> Regards,
> 
> Phil.
> 
> Philippe Mathieu-Daudé (26):
>    hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>    hw/ppc: Avoid using Monitor in icp_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>    hw/ppc: Avoid using Monitor in ics_pic_print_info()
>    hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>    hw/ppc: Avoid using Monitor in
>      SpaprInterruptControllerClass::print_info()
>    hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>    hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>    hw/ppc: Avoid using Monitor in pic_print_info()
> 
>   include/hw/pci-host/pnv_phb3.h |   2 +-
>   include/hw/pci-host/pnv_phb4.h |   2 +-
>   include/hw/ppc/pnv_chip.h      |   4 +-
>   include/hw/ppc/pnv_psi.h       |   2 +-
>   include/hw/ppc/pnv_xive.h      |   4 +-
>   include/hw/ppc/spapr_irq.h     |   4 +-
>   include/hw/ppc/xics.h          |   4 +-
>   include/hw/ppc/xive.h          |   4 +-
>   include/hw/ppc/xive2_regs.h    |   8 +--
>   include/hw/ppc/xive_regs.h     |   8 +--
>   hw/intc/pnv_xive.c             |  38 ++++++------
>   hw/intc/pnv_xive2.c            |  48 +++++++--------
>   hw/intc/spapr_xive.c           |  41 ++++++-------
>   hw/intc/xics.c                 |  25 ++++----
>   hw/intc/xics_spapr.c           |   7 +--
>   hw/intc/xive.c                 | 108 ++++++++++++++++-----------------
>   hw/intc/xive2.c                |  87 +++++++++++++-------------
>   hw/pci-host/pnv_phb3_msi.c     |  21 +++----
>   hw/pci-host/pnv_phb4.c         |  17 +++---
>   hw/ppc/pnv.c                   |  52 ++++++++--------
>   hw/ppc/pnv_psi.c               |   9 ++-
>   hw/ppc/spapr.c                 |  11 +++-
>   hw/ppc/spapr_irq.c             |   4 +-
>   23 files changed, 256 insertions(+), 254 deletions(-)
>
Cédric Le Goater June 10, 2024, 8:19 a.m. UTC | #3
On 6/10/24 8:20 AM, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series remove uses of Monitor in hw/ppc/,
> replacing by the more generic HumanReadableText.
> Care is taken to keep the commit bisectables by
> updating functions one by one, also easing review.

Did you do any testing ? POWER[8-10] CPUs on pseries and powernv machines
should be checked. A bit tedious I agree but not that long.

Thanks,

C.


> 
> For rationale see previous series from Daniel:
> https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/
> 
> Regards,
> 
> Phil.
> 
> Philippe Mathieu-Daudé (26):
>    hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>    hw/ppc: Avoid using Monitor in icp_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>    hw/ppc: Avoid using Monitor in ics_pic_print_info()
>    hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>    hw/ppc: Avoid using Monitor in
>      SpaprInterruptControllerClass::print_info()
>    hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>    hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>    hw/ppc: Avoid using Monitor in pic_print_info()
> 
>   include/hw/pci-host/pnv_phb3.h |   2 +-
>   include/hw/pci-host/pnv_phb4.h |   2 +-
>   include/hw/ppc/pnv_chip.h      |   4 +-
>   include/hw/ppc/pnv_psi.h       |   2 +-
>   include/hw/ppc/pnv_xive.h      |   4 +-
>   include/hw/ppc/spapr_irq.h     |   4 +-
>   include/hw/ppc/xics.h          |   4 +-
>   include/hw/ppc/xive.h          |   4 +-
>   include/hw/ppc/xive2_regs.h    |   8 +--
>   include/hw/ppc/xive_regs.h     |   8 +--
>   hw/intc/pnv_xive.c             |  38 ++++++------
>   hw/intc/pnv_xive2.c            |  48 +++++++--------
>   hw/intc/spapr_xive.c           |  41 ++++++-------
>   hw/intc/xics.c                 |  25 ++++----
>   hw/intc/xics_spapr.c           |   7 +--
>   hw/intc/xive.c                 | 108 ++++++++++++++++-----------------
>   hw/intc/xive2.c                |  87 +++++++++++++-------------
>   hw/pci-host/pnv_phb3_msi.c     |  21 +++----
>   hw/pci-host/pnv_phb4.c         |  17 +++---
>   hw/ppc/pnv.c                   |  52 ++++++++--------
>   hw/ppc/pnv_psi.c               |   9 ++-
>   hw/ppc/spapr.c                 |  11 +++-
>   hw/ppc/spapr_irq.c             |   4 +-
>   23 files changed, 256 insertions(+), 254 deletions(-)
>
Manos Pitsidianakis June 12, 2024, 5:48 a.m. UTC | #4
On Mon, 10 Jun 2024 09:20, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>Hi,
>
>This series remove uses of Monitor in hw/ppc/,
>replacing by the more generic HumanReadableText.
>Care is taken to keep the commit bisectables by
>updating functions one by one, also easing review.
>
>For rationale see previous series from Daniel:
>https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/
>
>Regards,
>
>Phil.
>
>Philippe Mathieu-Daudé (26):
>  hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>  hw/ppc: Avoid using Monitor in icp_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>  hw/ppc: Avoid using Monitor in ics_pic_print_info()
>  hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>  hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>  hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>  hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>  hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>  hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>  hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>  hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>  hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>  hw/ppc: Avoid using Monitor in
>    SpaprInterruptControllerClass::print_info()
>  hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>  hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>  hw/ppc: Avoid using Monitor in pic_print_info()
>
> include/hw/pci-host/pnv_phb3.h |   2 +-
> include/hw/pci-host/pnv_phb4.h |   2 +-
> include/hw/ppc/pnv_chip.h      |   4 +-
> include/hw/ppc/pnv_psi.h       |   2 +-
> include/hw/ppc/pnv_xive.h      |   4 +-
> include/hw/ppc/spapr_irq.h     |   4 +-
> include/hw/ppc/xics.h          |   4 +-
> include/hw/ppc/xive.h          |   4 +-
> include/hw/ppc/xive2_regs.h    |   8 +--
> include/hw/ppc/xive_regs.h     |   8 +--
> hw/intc/pnv_xive.c             |  38 ++++++------
> hw/intc/pnv_xive2.c            |  48 +++++++--------
> hw/intc/spapr_xive.c           |  41 ++++++-------
> hw/intc/xics.c                 |  25 ++++----
> hw/intc/xics_spapr.c           |   7 +--
> hw/intc/xive.c                 | 108 ++++++++++++++++-----------------
> hw/intc/xive2.c                |  87 +++++++++++++-------------
> hw/pci-host/pnv_phb3_msi.c     |  21 +++----
> hw/pci-host/pnv_phb4.c         |  17 +++---
> hw/ppc/pnv.c                   |  52 ++++++++--------
> hw/ppc/pnv_psi.c               |   9 ++-
> hw/ppc/spapr.c                 |  11 +++-
> hw/ppc/spapr_irq.c             |   4 +-
> 23 files changed, 256 insertions(+), 254 deletions(-)
>
>-- 
>2.41.0

For the series:

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Philippe Mathieu-Daudé June 13, 2024, 9:48 a.m. UTC | #5
On 10/6/24 10:19, Cédric Le Goater wrote:
> On 6/10/24 8:20 AM, Philippe Mathieu-Daudé wrote:
>> Hi,
>>
>> This series remove uses of Monitor in hw/ppc/,
>> replacing by the more generic HumanReadableText.
>> Care is taken to keep the commit bisectables by
>> updating functions one by one, also easing review.
> 
> Did you do any testing ? POWER[8-10] CPUs on pseries and powernv machines
> should be checked. A bit tedious I agree but not that long.

I ran these smoke tests comparing monitor output with baseline:

$ ./qemu-system-ppc64 -M powernv8 -S -monitor stdio
QEMU 9.0.50 monitor - type 'help' for more information
(qemu) info pic
CPU 0 XIRR=00000000 (0x0) PP=ff MFRR=ff
ICS 1000..1005 0x14c03d9c0
   1000 LSI ff 00
   1001 LSI ff 00
   1002 LSI ff 00
   1003 LSI ff 00
   1004 LSI ff 00
   1005 LSI ff 00
ICS    0.. 7ff 0x14c0e93e8
ICS    0..   7 0x14c0e9328
      0 LSI ff 00
      1 LSI ff 00
      2 LSI ff 00
      3 LSI ff 00
      4 LSI ff 00
      5 LSI ff 00
      6 LSI ff 00
      7 LSI ff 00
ICS    0.. 7ff 0x14c16ffe8
ICS    0..   7 0x14c16ff28
      0 LSI ff 00
      1 LSI ff 00
      2 LSI ff 00
      3 LSI ff 00
      4 LSI ff 00
      5 LSI ff 00
      6 LSI ff 00
      7 LSI ff 00
ICS    0.. 7ff 0x14c2177e8
ICS    0..   7 0x14c217728
      0 LSI ff 00
      1 LSI ff 00
      2 LSI ff 00
      3 LSI ff 00
      4 LSI ff 00
      5 LSI ff 00
      6 LSI ff 00
      7 LSI ff 00
Interrupt controller information not available for 
power8_v2.0-powerpc64-cpu.
(qemu) q

$ ./qemu-system-ppc64 -M pseries -cpu power10 -S -monitor stdio
QEMU 9.0.50 monitor - type 'help' for more information
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-cfpc=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-sbbc=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-ibs=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-ccf-assist=on
(qemu) info pic
CPU 0 XIRR=00000000 (0x0) PP=ff MFRR=ff
ICS 1000..1fff 0x600003b05b00
   1000 MSI ff 00
   1001 MSI ff 00
   1100 MSI ff 00
   1101 MSI ff 00
   1102 MSI ff 00
   1103 MSI ff 00
   1200 LSI ff 00
   1201 LSI ff 00
   1202 LSI ff 00
   1203 LSI ff 00
irqchip: emulated
Interrupt controller information not available for 
power10_v2.0-powerpc64-cpu.
(qemu) q
Cédric Le Goater June 13, 2024, 10:29 a.m. UTC | #6
On 6/13/24 11:48 AM, Philippe Mathieu-Daudé wrote:
> On 10/6/24 10:19, Cédric Le Goater wrote:
>> On 6/10/24 8:20 AM, Philippe Mathieu-Daudé wrote:
>>> Hi,
>>>
>>> This series remove uses of Monitor in hw/ppc/,
>>> replacing by the more generic HumanReadableText.
>>> Care is taken to keep the commit bisectables by
>>> updating functions one by one, also easing review.
>>
>> Did you do any testing ? POWER[8-10] CPUs on pseries and powernv machines
>> should be checked. A bit tedious I agree but not that long.
> 
> I ran these smoke tests comparing monitor output with baseline:
> 
> $ ./qemu-system-ppc64 -M powernv8 -S -monitor stdio
> QEMU 9.0.50 monitor - type 'help' for more information
> (qemu) info pic
> CPU 0 XIRR=00000000 (0x0) PP=ff MFRR=ff
> ICS 1000..1005 0x14c03d9c0
>    1000 LSI ff 00
>    1001 LSI ff 00
>    1002 LSI ff 00
>    1003 LSI ff 00
>    1004 LSI ff 00
>    1005 LSI ff 00
> ICS    0.. 7ff 0x14c0e93e8
> ICS    0..   7 0x14c0e9328
>       0 LSI ff 00
>       1 LSI ff 00
>       2 LSI ff 00
>       3 LSI ff 00
>       4 LSI ff 00
>       5 LSI ff 00
>       6 LSI ff 00
>       7 LSI ff 00
> ICS    0.. 7ff 0x14c16ffe8
> ICS    0..   7 0x14c16ff28
>       0 LSI ff 00
>       1 LSI ff 00
>       2 LSI ff 00
>       3 LSI ff 00
>       4 LSI ff 00
>       5 LSI ff 00
>       6 LSI ff 00
>       7 LSI ff 00
> ICS    0.. 7ff 0x14c2177e8
> ICS    0..   7 0x14c217728
>       0 LSI ff 00
>       1 LSI ff 00
>       2 LSI ff 00
>       3 LSI ff 00
>       4 LSI ff 00
>       5 LSI ff 00
>       6 LSI ff 00
>       7 LSI ff 00
> Interrupt controller information not available for power8_v2.0-powerpc64-cpu.

This is only checking the older interrupt controller. Please try powernv10.

> (qemu) q
> 
> $ ./qemu-system-ppc64 -M pseries -cpu power10 -S -monitor stdio
> QEMU 9.0.50 monitor - type 'help' for more information
> qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-cfpc=workaround
> qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-sbbc=workaround
> qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-ibs=workaround
> qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-ccf-assist=on
> (qemu) info pic
> CPU 0 XIRR=00000000 (0x0) PP=ff MFRR=ff
> ICS 1000..1fff 0x600003b05b00
>    1000 MSI ff 00
>    1001 MSI ff 00
>    1100 MSI ff 00
>    1101 MSI ff 00
>    1102 MSI ff 00
>    1103 MSI ff 00
>    1200 LSI ff 00
>    1201 LSI ff 00
>    1202 LSI ff 00
>    1203 LSI ff 00
> irqchip: emulated
> Interrupt controller information not available for power10_v2.0-powerpc64-cpu.
> (qemu) q


This is only checking the old interrupt controller. Please try :

   qemu-system-ppc64 -M pseries,ic-mode=xive -cpu power10 -S -monitor stdio

and we should be fine.

Thanks,

C.
Philippe Mathieu-Daudé June 13, 2024, 12:26 p.m. UTC | #7
On 13/6/24 12:29, Cédric Le Goater wrote:
> On 6/13/24 11:48 AM, Philippe Mathieu-Daudé wrote:
>> On 10/6/24 10:19, Cédric Le Goater wrote:
>>> On 6/10/24 8:20 AM, Philippe Mathieu-Daudé wrote:
>>>> Hi,
>>>>
>>>> This series remove uses of Monitor in hw/ppc/,
>>>> replacing by the more generic HumanReadableText.
>>>> Care is taken to keep the commit bisectables by
>>>> updating functions one by one, also easing review.
>>>
>>> Did you do any testing ? POWER[8-10] CPUs on pseries and powernv 
>>> machines
>>> should be checked. A bit tedious I agree but not that long.
>>
>> I ran these smoke tests comparing monitor output with baseline:
>>
>> $ ./qemu-system-ppc64 -M powernv8 -S -monitor stdio
>> QEMU 9.0.50 monitor - type 'help' for more information
>> (qemu) info pic
>> CPU 0 XIRR=00000000 (0x0) PP=ff MFRR=ff
>> ICS 1000..1005 0x14c03d9c0
>>    1000 LSI ff 00
>>    1001 LSI ff 00
>>    1002 LSI ff 00
>>    1003 LSI ff 00
>>    1004 LSI ff 00
>>    1005 LSI ff 00
>> ICS    0.. 7ff 0x14c0e93e8
>> ICS    0..   7 0x14c0e9328
>>       0 LSI ff 00
>>       1 LSI ff 00
>>       2 LSI ff 00
>>       3 LSI ff 00
>>       4 LSI ff 00
>>       5 LSI ff 00
>>       6 LSI ff 00
>>       7 LSI ff 00
>> ICS    0.. 7ff 0x14c16ffe8
>> ICS    0..   7 0x14c16ff28
>>       0 LSI ff 00
>>       1 LSI ff 00
>>       2 LSI ff 00
>>       3 LSI ff 00
>>       4 LSI ff 00
>>       5 LSI ff 00
>>       6 LSI ff 00
>>       7 LSI ff 00
>> ICS    0.. 7ff 0x14c2177e8
>> ICS    0..   7 0x14c217728
>>       0 LSI ff 00
>>       1 LSI ff 00
>>       2 LSI ff 00
>>       3 LSI ff 00
>>       4 LSI ff 00
>>       5 LSI ff 00
>>       6 LSI ff 00
>>       7 LSI ff 00
>> Interrupt controller information not available for 
>> power8_v2.0-powerpc64-cpu.
> 
> This is only checking the older interrupt controller. Please try powernv10.
> 
>> (qemu) q
>>
>> $ ./qemu-system-ppc64 -M pseries -cpu power10 -S -monitor stdio
>> QEMU 9.0.50 monitor - type 'help' for more information
>> qemu-system-ppc64: warning: TCG doesn't support requested feature, 
>> cap-cfpc=workaround
>> qemu-system-ppc64: warning: TCG doesn't support requested feature, 
>> cap-sbbc=workaround
>> qemu-system-ppc64: warning: TCG doesn't support requested feature, 
>> cap-ibs=workaround
>> qemu-system-ppc64: warning: TCG doesn't support requested feature, 
>> cap-ccf-assist=on
>> (qemu) info pic
>> CPU 0 XIRR=00000000 (0x0) PP=ff MFRR=ff
>> ICS 1000..1fff 0x600003b05b00
>>    1000 MSI ff 00
>>    1001 MSI ff 00
>>    1100 MSI ff 00
>>    1101 MSI ff 00
>>    1102 MSI ff 00
>>    1103 MSI ff 00
>>    1200 LSI ff 00
>>    1201 LSI ff 00
>>    1202 LSI ff 00
>>    1203 LSI ff 00
>> irqchip: emulated
>> Interrupt controller information not available for 
>> power10_v2.0-powerpc64-cpu.
>> (qemu) q
> 
> 
> This is only checking the old interrupt controller. Please try :
> 
>    qemu-system-ppc64 -M pseries,ic-mode=xive -cpu power10 -S -monitor stdio
> 
> and we should be fine.

No change in output:

$ ./qemu-system-ppc64 -M pseries,ic-mode=xive -cpu power10 -S -monitor 
stdio
QEMU 9.0.50 monitor - type 'help' for more information
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-cfpc=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-sbbc=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-ibs=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-ccf-assist=on
(qemu) info pic
CPU[0000]:   QW   NSR CPPR IPB LSMFB ACK# INC AGE PIPR  W2
CPU[0000]: USER    00   00  00    00   00  00  00   00  00000000
CPU[0000]:   OS    00   00  00    ff   ff  00  ff   ff  80000400
CPU[0000]: POOL    00   00  00    00   00  00  00   00  00000000
CPU[0000]: PHYS    00   00  00    00   00  00  00   ff  00000000
   LISN         PQ    EISN     CPU/PRIO EQ
   00000000 MSI -Q  M 00000000
   00001000 MSI -Q  M 00000000
   00001001 MSI -Q  M 00000000
   00001100 MSI -Q  M 00000000
   00001101 MSI -Q  M 00000000
   00001102 MSI -Q  M 00000000
   00001103 MSI -Q  M 00000000
   00001200 LSI -Q  M 00000000
   00001201 LSI -Q  M 00000000
   00001202 LSI -Q  M 00000000
   00001203 LSI -Q  M 00000000
irqchip: emulated
Interrupt controller information not available for 
power10_v2.0-powerpc64-cpu.
(qemu)
Cédric Le Goater June 13, 2024, 12:44 p.m. UTC | #8
On 6/10/24 8:20 AM, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series remove uses of Monitor in hw/ppc/,
> replacing by the more generic HumanReadableText.
> Care is taken to keep the commit bisectables by
> updating functions one by one, also easing review.
> 
> For rationale see previous series from Daniel:
> https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/
> 
> Regards,
> 
> Phil.
> 
> Philippe Mathieu-Daudé (26):
>    hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>    hw/ppc: Avoid using Monitor in icp_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>    hw/ppc: Avoid using Monitor in ics_pic_print_info()
>    hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>    hw/ppc: Avoid using Monitor in
>      SpaprInterruptControllerClass::print_info()
>    hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>    hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>    hw/ppc: Avoid using Monitor in pic_print_info()
> 
>   include/hw/pci-host/pnv_phb3.h |   2 +-
>   include/hw/pci-host/pnv_phb4.h |   2 +-
>   include/hw/ppc/pnv_chip.h      |   4 +-
>   include/hw/ppc/pnv_psi.h       |   2 +-
>   include/hw/ppc/pnv_xive.h      |   4 +-
>   include/hw/ppc/spapr_irq.h     |   4 +-
>   include/hw/ppc/xics.h          |   4 +-
>   include/hw/ppc/xive.h          |   4 +-
>   include/hw/ppc/xive2_regs.h    |   8 +--
>   include/hw/ppc/xive_regs.h     |   8 +--
>   hw/intc/pnv_xive.c             |  38 ++++++------
>   hw/intc/pnv_xive2.c            |  48 +++++++--------
>   hw/intc/spapr_xive.c           |  41 ++++++-------
>   hw/intc/xics.c                 |  25 ++++----
>   hw/intc/xics_spapr.c           |   7 +--
>   hw/intc/xive.c                 | 108 ++++++++++++++++-----------------
>   hw/intc/xive2.c                |  87 +++++++++++++-------------
>   hw/pci-host/pnv_phb3_msi.c     |  21 +++----
>   hw/pci-host/pnv_phb4.c         |  17 +++---
>   hw/ppc/pnv.c                   |  52 ++++++++--------
>   hw/ppc/pnv_psi.c               |   9 ++-
>   hw/ppc/spapr.c                 |  11 +++-
>   hw/ppc/spapr_irq.c             |   4 +-
>   23 files changed, 256 insertions(+), 254 deletions(-)
> 


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.
Philippe Mathieu-Daudé June 13, 2024, 1:31 p.m. UTC | #9
On 13/6/24 14:44, Cédric Le Goater wrote:

>> Philippe Mathieu-Daudé (26):
>>    hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>>    hw/ppc: Avoid using Monitor in icp_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>>    hw/ppc: Avoid using Monitor in ics_pic_print_info()
>>    hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>>    hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>>    hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>>    hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>>    hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>>    hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>>    hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>>    hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>>    hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>>    hw/ppc: Avoid using Monitor in
>>      SpaprInterruptControllerClass::print_info()
>>    hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>>    hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>>    hw/ppc: Avoid using Monitor in pic_print_info()

> Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks! As you suggested I'll wait for Nick to post the PPC
pull request before respining this series (and the series
depending on it).

Regards,

Phil.
Cédric Le Goater June 13, 2024, 1:36 p.m. UTC | #10
> Thanks! As you suggested I'll wait for Nick to post the PPC
> pull request before respining this series (and the series
> depending on it).

I think this patch is the only conflicting one :
  
   https://lore.kernel.org/qemu-devel/20240424093048.180966-1-clg@redhat.com/

Adding it to your series would surely help.

Thanks,

C.
Harsh Prateek Bora June 17, 2024, 1:30 p.m. UTC | #11
On 6/10/24 11:50, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series remove uses of Monitor in hw/ppc/,
> replacing by the more generic HumanReadableText.
> Care is taken to keep the commit bisectables by
> updating functions one by one, also easing review.
> 
> For rationale see previous series from Daniel:
> https://lore.kernel.org/qemu-devel/20211028155457.967291-1-berrange@redhat.com/
> 
> Regards,
> 
> Phil.
> 

For the series:

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>

> Philippe Mathieu-Daudé (26):
>    hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>    hw/ppc: Avoid using Monitor in icp_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>    hw/ppc: Avoid using Monitor in ics_pic_print_info()
>    hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>    hw/ppc: Avoid using Monitor in
>      SpaprInterruptControllerClass::print_info()
>    hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>    hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>    hw/ppc: Avoid using Monitor in pic_print_info()
> 
>   include/hw/pci-host/pnv_phb3.h |   2 +-
>   include/hw/pci-host/pnv_phb4.h |   2 +-
>   include/hw/ppc/pnv_chip.h      |   4 +-
>   include/hw/ppc/pnv_psi.h       |   2 +-
>   include/hw/ppc/pnv_xive.h      |   4 +-
>   include/hw/ppc/spapr_irq.h     |   4 +-
>   include/hw/ppc/xics.h          |   4 +-
>   include/hw/ppc/xive.h          |   4 +-
>   include/hw/ppc/xive2_regs.h    |   8 +--
>   include/hw/ppc/xive_regs.h     |   8 +--
>   hw/intc/pnv_xive.c             |  38 ++++++------
>   hw/intc/pnv_xive2.c            |  48 +++++++--------
>   hw/intc/spapr_xive.c           |  41 ++++++-------
>   hw/intc/xics.c                 |  25 ++++----
>   hw/intc/xics_spapr.c           |   7 +--
>   hw/intc/xive.c                 | 108 ++++++++++++++++-----------------
>   hw/intc/xive2.c                |  87 +++++++++++++-------------
>   hw/pci-host/pnv_phb3_msi.c     |  21 +++----
>   hw/pci-host/pnv_phb4.c         |  17 +++---
>   hw/ppc/pnv.c                   |  52 ++++++++--------
>   hw/ppc/pnv_psi.c               |   9 ++-
>   hw/ppc/spapr.c                 |  11 +++-
>   hw/ppc/spapr_irq.c             |   4 +-
>   23 files changed, 256 insertions(+), 254 deletions(-)
>
Philippe Mathieu-Daudé June 18, 2024, 10:43 a.m. UTC | #12
On 10/6/24 08:20, Philippe Mathieu-Daudé wrote:

> Philippe Mathieu-Daudé (26):
>    hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
>    hw/ppc: Avoid using Monitor in icp_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
>    hw/ppc: Avoid using Monitor in ics_pic_print_info()
>    hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
>    hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
>    hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
>    hw/ppc: Avoid using Monitor in
>      SpaprInterruptControllerClass::print_info()
>    hw/ppc: Avoid using Monitor in spapr_irq_print_info()
>    hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
>    hw/ppc: Avoid using Monitor in pic_print_info()

Series queued.