mbox series

[v5,0/5] Power11 support for QEMU [PSeries]

Message ID 20240606121657.254308-1-adityag@linux.ibm.com (mailing list archive)
Headers show
Series Power11 support for QEMU [PSeries] | expand

Message

Aditya Gupta June 6, 2024, 12:16 p.m. UTC
Overview
============

Split "Power11 support for QEMU" into 2 patch series: pseries & powernv.

This patch series is for pseries support for Power11.

As Power11 core is same as Power10, hence much of the code has been reused from
Power10.

Power11 was added in Linux in:
  commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")

Git Tree for Testing
====================

QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v5-pseries

Has been tested with following cases:
* '-M pseries' / '-M pseries -cpu Power11'
* '-smp' option tested
* with compat mode: 'max-cpu-compat=power10' and 'max-cpu-compat=power9'
* with/without device 'virtio-scsi-pci'
* with/without -kernel and -drive with qcow_file

Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1

Changelog
=========
v5:
  + split patch series into pseries+powernv
  + patch #1: apply harsh's patch to reduce duplication
  + patch #2: simplified, by removing duplication
  + patch #3: update docs, according to harsh's suggestion
  + patch #4: no functional change, #define used for P9 & P10 pcr_supported
  + patch #5: no change

v4:
  + patch #5: fix memory leak in pnv_chip_power10_quad_realize
  - no change in other patches

v3:
  + patch #1: version power11 as power11_v2.0
  + patch #2: split target hw/pseries code into patch #2
  + patch #3,#4: fix regression due to Power10 and Power11 having same PCR
  + patch #5: create pnv_chip_power11_dt_populate and split pnv_chip_power10_common_realize as per review
  + patch #6-#11: no change
  - remove commit to make Power11 as default

v2:
  + split powernv patch into homer,lpc,occ,psi,sbe
  + reduce code duplication by reusing power10 code
  + make power11 as default
  + rebase on qemu upstream/master
  + add more information in commit descriptions
  + update docs
  + update skiboot.lid


Aditya Gupta (4):
  target/ppc: Add Power11 DD2.0 processor
  ppc/pseries: Add Power11 cpu type
  target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'
  target/ppc: Fix regression due to Power10 and Power11 having same PCR

Harsh Prateek Bora (1):
  target/ppc: reduce code duplication across Power9/10 init code

 docs/system/ppc/pseries.rst |  17 +++-
 hw/ppc/spapr_cpu_core.c     |   1 +
 target/ppc/compat.c         |  11 +++
 target/ppc/cpu-models.c     |   3 +
 target/ppc/cpu-models.h     |   3 +
 target/ppc/cpu.h            |   1 +
 target/ppc/cpu_init.c       | 183 +++++++++++++++---------------------
 target/ppc/cpu_init.h       |  78 +++++++++++++++
 8 files changed, 184 insertions(+), 113 deletions(-)
 create mode 100644 target/ppc/cpu_init.h

Comments

Aditya Gupta June 6, 2024, 12:22 p.m. UTC | #1
Hello Nick & Cedric,

Based on your comments on considering the pseries for 9.1, and having to 
wait for skiboot parts for powernv, I have split the patch series into 
pseries and powernv.

There might be little delay in posting the powernv part, where I am 
still looking into having power11's instance_init.

Also, I have applied Harsh's patch that should simplify the rest of the 
patches.


Thanks,

Aditya Gupta

On 06/06/24 17:46, Aditya Gupta wrote:
> Overview
> ============
>
> Split "Power11 support for QEMU" into 2 patch series: pseries & powernv.
>
> This patch series is for pseries support for Power11.
>
> As Power11 core is same as Power10, hence much of the code has been reused from
> Power10.
>
> Power11 was added in Linux in:
>    commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")
>
> Git Tree for Testing
> ====================
>
> QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v5-pseries
>
> Has been tested with following cases:
> * '-M pseries' / '-M pseries -cpu Power11'
> * '-smp' option tested
> * with compat mode: 'max-cpu-compat=power10' and 'max-cpu-compat=power9'
> * with/without device 'virtio-scsi-pci'
> * with/without -kernel and -drive with qcow_file
>
> Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1
>
> Changelog
> =========
> v5:
>    + split patch series into pseries+powernv
>    + patch #1: apply harsh's patch to reduce duplication
>    + patch #2: simplified, by removing duplication
>    + patch #3: update docs, according to harsh's suggestion
>    + patch #4: no functional change, #define used for P9 & P10 pcr_supported
>    + patch #5: no change
>
> v4:
>    + patch #5: fix memory leak in pnv_chip_power10_quad_realize
>    - no change in other patches
>
> v3:
>    + patch #1: version power11 as power11_v2.0
>    + patch #2: split target hw/pseries code into patch #2
>    + patch #3,#4: fix regression due to Power10 and Power11 having same PCR
>    + patch #5: create pnv_chip_power11_dt_populate and split pnv_chip_power10_common_realize as per review
>    + patch #6-#11: no change
>    - remove commit to make Power11 as default
>
> v2:
>    + split powernv patch into homer,lpc,occ,psi,sbe
>    + reduce code duplication by reusing power10 code
>    + make power11 as default
>    + rebase on qemu upstream/master
>    + add more information in commit descriptions
>    + update docs
>    + update skiboot.lid
>
>
> Aditya Gupta (4):
>    target/ppc: Add Power11 DD2.0 processor
>    ppc/pseries: Add Power11 cpu type
>    target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'
>    target/ppc: Fix regression due to Power10 and Power11 having same PCR
>
> Harsh Prateek Bora (1):
>    target/ppc: reduce code duplication across Power9/10 init code
>
>   docs/system/ppc/pseries.rst |  17 +++-
>   hw/ppc/spapr_cpu_core.c     |   1 +
>   target/ppc/compat.c         |  11 +++
>   target/ppc/cpu-models.c     |   3 +
>   target/ppc/cpu-models.h     |   3 +
>   target/ppc/cpu.h            |   1 +
>   target/ppc/cpu_init.c       | 183 +++++++++++++++---------------------
>   target/ppc/cpu_init.h       |  78 +++++++++++++++
>   8 files changed, 184 insertions(+), 113 deletions(-)
>   create mode 100644 target/ppc/cpu_init.h
>
Aditya Gupta July 22, 2024, 9:12 a.m. UTC | #2
Any comments on this ?

This series is containing only the pseries support for Power11, hence 
independent of skiboot patches. powernv is on hold till skiboot changes 
are released.


Thanks,

Aditya Gupta


On 06/06/24 17:46, Aditya Gupta wrote:
> Overview
> ============
>
> Split "Power11 support for QEMU" into 2 patch series: pseries & powernv.
>
> This patch series is for pseries support for Power11.
>
> As Power11 core is same as Power10, hence much of the code has been reused from
> Power10.
>
> Power11 was added in Linux in:
>    commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")
>
> Git Tree for Testing
> ====================
>
> QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v5-pseries
>
> Has been tested with following cases:
> * '-M pseries' / '-M pseries -cpu Power11'
> * '-smp' option tested
> * with compat mode: 'max-cpu-compat=power10' and 'max-cpu-compat=power9'
> * with/without device 'virtio-scsi-pci'
> * with/without -kernel and -drive with qcow_file
>
> Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1
>
> Changelog
> =========
> v5:
>    + split patch series into pseries+powernv
>    + patch #1: apply harsh's patch to reduce duplication
>    + patch #2: simplified, by removing duplication
>    + patch #3: update docs, according to harsh's suggestion
>    + patch #4: no functional change, #define used for P9 & P10 pcr_supported
>    + patch #5: no change
>
> v4:
>    + patch #5: fix memory leak in pnv_chip_power10_quad_realize
>    - no change in other patches
>
> v3:
>    + patch #1: version power11 as power11_v2.0
>    + patch #2: split target hw/pseries code into patch #2
>    + patch #3,#4: fix regression due to Power10 and Power11 having same PCR
>    + patch #5: create pnv_chip_power11_dt_populate and split pnv_chip_power10_common_realize as per review
>    + patch #6-#11: no change
>    - remove commit to make Power11 as default
>
> v2:
>    + split powernv patch into homer,lpc,occ,psi,sbe
>    + reduce code duplication by reusing power10 code
>    + make power11 as default
>    + rebase on qemu upstream/master
>    + add more information in commit descriptions
>    + update docs
>    + update skiboot.lid
>
>
> Aditya Gupta (4):
>    target/ppc: Add Power11 DD2.0 processor
>    ppc/pseries: Add Power11 cpu type
>    target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'
>    target/ppc: Fix regression due to Power10 and Power11 having same PCR
>
> Harsh Prateek Bora (1):
>    target/ppc: reduce code duplication across Power9/10 init code
>
>   docs/system/ppc/pseries.rst |  17 +++-
>   hw/ppc/spapr_cpu_core.c     |   1 +
>   target/ppc/compat.c         |  11 +++
>   target/ppc/cpu-models.c     |   3 +
>   target/ppc/cpu-models.h     |   3 +
>   target/ppc/cpu.h            |   1 +
>   target/ppc/cpu_init.c       | 183 +++++++++++++++---------------------
>   target/ppc/cpu_init.h       |  78 +++++++++++++++
>   8 files changed, 184 insertions(+), 113 deletions(-)
>   create mode 100644 target/ppc/cpu_init.h
>