[PULL 00/47] ppc-for-9.0 queue

Nicholas Piggin posted 47 patches 8 months, 3 weeks ago
Failed in applying to current master (apply log)
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Glenn Miles <milesg@linux.vnet.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, "Frédéric Barrat" <fbarrat@linux.ibm.com>, David Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Cleber Rosa <crosa@redhat.com>, Laurent Vivier <lvivier@redhat.com>
MAINTAINERS                                  |  11 +-
docs/about/deprecated.rst                    |   8 +
docs/devel/testing.rst                       |  11 +
hw/misc/Kconfig                              |   4 +
hw/misc/meson.build                          |   1 +
hw/misc/pca9552.c                            |  58 ++-
hw/misc/pca9554.c                            | 328 +++++++++++++++
hw/ppc/Kconfig                               |   2 +
hw/ppc/meson.build                           |   5 +-
hw/ppc/pnv.c                                 | 131 +++++-
hw/ppc/pnv_chiptod.c                         | 586 +++++++++++++++++++++++++++
hw/ppc/pnv_i2c.c                             | 146 +------
hw/ppc/pnv_n1_chiplet.c                      | 173 ++++++++
hw/ppc/pnv_nest_pervasive.c                  | 208 ++++++++++
hw/ppc/spapr.c                               |  12 +-
hw/ppc/spapr_hcall.c                         |  12 +-
hw/ppc/spapr_irq.c                           |   6 +-
hw/ppc/{spapr_softmmu.c => spapr_vhyp_mmu.c} |  13 +-
hw/ppc/trace-events                          |   4 +
include/hw/i2c/pnv_i2c_regs.h                | 143 +++++++
include/hw/misc/pca9552.h                    |   3 +-
include/hw/misc/pca9554.h                    |  36 ++
include/hw/misc/pca9554_regs.h               |  19 +
include/hw/ppc/pnv.h                         |   3 +
include/hw/ppc/pnv_chip.h                    |   5 +
include/hw/ppc/pnv_chiptod.h                 |  53 +++
include/hw/ppc/pnv_n1_chiplet.h              |  32 ++
include/hw/ppc/pnv_nest_pervasive.h          |  32 ++
include/hw/ppc/pnv_xscom.h                   |  18 +
include/hw/ppc/spapr.h                       |   9 +-
include/hw/ppc/spapr_irq.h                   |  14 +-
pc-bios/skiboot.lid                          | Bin 2527240 -> 2527328 bytes
target/ppc/cpu.h                             |  57 ++-
target/ppc/cpu_init.c                        |  20 +-
target/ppc/excp_helper.c                     |  36 +-
target/ppc/gdbstub.c                         |  40 +-
target/ppc/helper_regs.c                     |  41 +-
target/ppc/mmu_helper.c                      | 105 +++--
target/ppc/ppc-qmp-cmds.c                    |   4 +
target/ppc/tcg-stub.c                        |  15 -
target/ppc/timebase_helper.c                 | 309 +++++++++++++-
target/ppc/translate.c                       |  42 +-
target/ppc/translate/vsx-impl.c.inc          |   2 +-
tests/avocado/boot_linux.py                  |  17 +-
tests/avocado/boot_linux_console.py          |  11 +-
tests/avocado/migration.py                   |   1 -
tests/avocado/ppc_hv_tests.py                | 202 +++++++++
tests/avocado/ppc_powernv.py                 |  23 +-
tests/avocado/ppc_pseries.py                 |  20 +-
tests/qtest/meson.build                      |   1 +
tests/qtest/pca9552-test.c                   |   6 +-
tests/qtest/pnv-host-i2c-test.c              | 491 ++++++++++++++++++++++
tests/qtest/pnv-xscom-test.c                 |  61 +--
tests/qtest/pnv-xscom.h                      |  80 ++++
54 files changed, 3318 insertions(+), 352 deletions(-)
create mode 100644 hw/misc/pca9554.c
create mode 100644 hw/ppc/pnv_chiptod.c
create mode 100644 hw/ppc/pnv_n1_chiplet.c
create mode 100644 hw/ppc/pnv_nest_pervasive.c
rename hw/ppc/{spapr_softmmu.c => spapr_vhyp_mmu.c} (97%)
create mode 100644 include/hw/i2c/pnv_i2c_regs.h
create mode 100644 include/hw/misc/pca9554.h
create mode 100644 include/hw/misc/pca9554_regs.h
create mode 100644 include/hw/ppc/pnv_chiptod.h
create mode 100644 include/hw/ppc/pnv_n1_chiplet.h
create mode 100644 include/hw/ppc/pnv_nest_pervasive.h
create mode 100644 tests/avocado/ppc_hv_tests.py
create mode 100644 tests/qtest/pnv-host-i2c-test.c
create mode 100644 tests/qtest/pnv-xscom.h
[PULL 00/47] ppc-for-9.0 queue
Posted by Nicholas Piggin 8 months, 3 weeks ago
The following changes since commit 3d54cbf269d63ff1d500b35b2bcf4565ff8ad485:

  Merge tag 'hw-misc-20240222' of https://github.com/philmd/qemu into staging (2024-02-22 15:44:29 +0000)

are available in the Git repository at:

  https://gitlab.com/npiggin/qemu.git tags/pull-ppc-for-9.0-20240224

for you to fetch changes up to 4acc505d2236190efea94746e7f22e2c07bce5d6:

  target/ppc: optimise ppcemb_tlb_t flushing (2024-02-23 23:24:43 +1000)

----------------------------------------------------------------
Let's try this PR again. Since the previous attempt, I dropped the empty
already merged pci/raven patch. Also added several missed R-B tags.

A bunch more testing showed up some issues with the new avocado
tests. FreeBSD artifact URL availability is marginal so dropped that
for now. ppc_hv_tests.py sometimes hangs due to a bug in console
interaction so marked it flaky so it's not gated behind the fix for
that.

* Avocado tests for ppc64 run guests with emulated or nested hypervisor
* facilities, among other things.  Update ppc64 CPU defaults to Power10.
* Add a new powernv10-rainier machine to better capture differences
  between the different Power10 systems.
* Implement more device models for powernv.
* 4xx TLB flushing performance and correctness improvements.
* Correct gdb implementation to access some important SPRs.
* Misc cleanups and bug fixes.

----------------------------------------------------------------
Chalapathi V (3):
      hw/ppc: Add pnv nest pervasive common chiplet model
      hw/ppc: Add N1 chiplet model
      hw/ppc: N1 chiplet wiring

Cédric Le Goater (1):
      spapr: Tag pseries-2.1 - 2.11 machines as deprecated

Glenn Miles (9):
      misc/pca9552: Fix inverted input status
      misc/pca9552: Let external devices set pca9552 inputs
      ppc/pnv: New powernv10-rainier machine type
      ppc/pnv: Add pca9552 to powernv10-rainier for PCIe hotplug power control
      ppc/pnv: Wire up pca9552 GPIO pins for PCIe hotplug power control
      ppc/pnv: Use resettable interface to reset child I2C buses
      misc: Add a pca9554 GPIO device model
      ppc/pnv: Add a pca9554 I2C device to powernv10-rainier
      ppc/pnv: Test pnv i2c master and connected devices

Harsh Prateek Bora (2):
      ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for CPU IPIs.
      ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS.

Nicholas Piggin (27):
      target/ppc: Fix lxv/stxv MSR facility check
      target/ppc: Fix crash on machine check caused by ifetch
      tests/avocado: mark boot_linux.py long runtime instead of flaky
      tests/avocado: improve flaky ppc/pnv boot_linux_console.py test
      tests/avocado: ppc add powernv10 boot_linux_console test
      tests/avocado: Add ppc pseries and powernv hash MMU tests
      tests/avocado: Add pseries KVM boot_linux test
      tests/avocado: ppc add hypervisor tests
      tests/avocado: Use default CPU for pseries machine
      ppc/pnv: Update skiboot to v7.1
      target/ppc: Rename registers to match ISA
      ppc/spapr: change pseries machine default to POWER10 CPU
      ppc/pnv: Change powernv default to powernv10
      target/ppc: Rename TBL to TB on 64-bit
      target/ppc: Improve timebase register defines naming
      target/ppc: Fix move-to timebase SPR access permissions
      ppc/pnv: Add POWER9/10 chiptod model
      ppc/pnv: Wire ChipTOD model to powernv9 and powernv10 machines
      ppc/pnv: Implement the ChipTOD to Core transfer
      target/ppc: Implement core timebase state machine and TFMR
      target/ppc: Add SMT support to time facilities
      target/ppc: Fix 440 tlbwe TLB invalidation gaps
      target/ppc: Factor out 4xx ppcemb_tlb_t flushing
      target/ppc: 4xx don't flush TLB for a newly written software TLB entry
      target/ppc: 4xx optimise tlbwe_lo TLB flushing
      target/ppc: 440 optimise tlbwe TLB flushing
      target/ppc: optimise ppcemb_tlb_t flushing

Philippe Mathieu-Daudé (4):
      hw/ppc/spapr: Add missing license
      hw/ppc/spapr_hcall: Allow elision of softmmu_resize_hpt_prep
      hw/ppc/spapr_hcall: Rename {softmmu -> vhyp_mmu}_resize_hpt_pr
      hw/ppc/spapr: Rename 'softmmu' -> 'vhyp_mmu'

Saif Abrar (1):
      target/ppc: Update gdbstub to read SPR's CFAR, DEC, HDEC, TB-L/U

 MAINTAINERS                                  |  11 +-
 docs/about/deprecated.rst                    |   8 +
 docs/devel/testing.rst                       |  11 +
 hw/misc/Kconfig                              |   4 +
 hw/misc/meson.build                          |   1 +
 hw/misc/pca9552.c                            |  58 ++-
 hw/misc/pca9554.c                            | 328 +++++++++++++++
 hw/ppc/Kconfig                               |   2 +
 hw/ppc/meson.build                           |   5 +-
 hw/ppc/pnv.c                                 | 131 +++++-
 hw/ppc/pnv_chiptod.c                         | 586 +++++++++++++++++++++++++++
 hw/ppc/pnv_i2c.c                             | 146 +------
 hw/ppc/pnv_n1_chiplet.c                      | 173 ++++++++
 hw/ppc/pnv_nest_pervasive.c                  | 208 ++++++++++
 hw/ppc/spapr.c                               |  12 +-
 hw/ppc/spapr_hcall.c                         |  12 +-
 hw/ppc/spapr_irq.c                           |   6 +-
 hw/ppc/{spapr_softmmu.c => spapr_vhyp_mmu.c} |  13 +-
 hw/ppc/trace-events                          |   4 +
 include/hw/i2c/pnv_i2c_regs.h                | 143 +++++++
 include/hw/misc/pca9552.h                    |   3 +-
 include/hw/misc/pca9554.h                    |  36 ++
 include/hw/misc/pca9554_regs.h               |  19 +
 include/hw/ppc/pnv.h                         |   3 +
 include/hw/ppc/pnv_chip.h                    |   5 +
 include/hw/ppc/pnv_chiptod.h                 |  53 +++
 include/hw/ppc/pnv_n1_chiplet.h              |  32 ++
 include/hw/ppc/pnv_nest_pervasive.h          |  32 ++
 include/hw/ppc/pnv_xscom.h                   |  18 +
 include/hw/ppc/spapr.h                       |   9 +-
 include/hw/ppc/spapr_irq.h                   |  14 +-
 pc-bios/skiboot.lid                          | Bin 2527240 -> 2527328 bytes
 target/ppc/cpu.h                             |  57 ++-
 target/ppc/cpu_init.c                        |  20 +-
 target/ppc/excp_helper.c                     |  36 +-
 target/ppc/gdbstub.c                         |  40 +-
 target/ppc/helper_regs.c                     |  41 +-
 target/ppc/mmu_helper.c                      | 105 +++--
 target/ppc/ppc-qmp-cmds.c                    |   4 +
 target/ppc/tcg-stub.c                        |  15 -
 target/ppc/timebase_helper.c                 | 309 +++++++++++++-
 target/ppc/translate.c                       |  42 +-
 target/ppc/translate/vsx-impl.c.inc          |   2 +-
 tests/avocado/boot_linux.py                  |  17 +-
 tests/avocado/boot_linux_console.py          |  11 +-
 tests/avocado/migration.py                   |   1 -
 tests/avocado/ppc_hv_tests.py                | 202 +++++++++
 tests/avocado/ppc_powernv.py                 |  23 +-
 tests/avocado/ppc_pseries.py                 |  20 +-
 tests/qtest/meson.build                      |   1 +
 tests/qtest/pca9552-test.c                   |   6 +-
 tests/qtest/pnv-host-i2c-test.c              | 491 ++++++++++++++++++++++
 tests/qtest/pnv-xscom-test.c                 |  61 +--
 tests/qtest/pnv-xscom.h                      |  80 ++++
 54 files changed, 3318 insertions(+), 352 deletions(-)
 create mode 100644 hw/misc/pca9554.c
 create mode 100644 hw/ppc/pnv_chiptod.c
 create mode 100644 hw/ppc/pnv_n1_chiplet.c
 create mode 100644 hw/ppc/pnv_nest_pervasive.c
 rename hw/ppc/{spapr_softmmu.c => spapr_vhyp_mmu.c} (97%)
 create mode 100644 include/hw/i2c/pnv_i2c_regs.h
 create mode 100644 include/hw/misc/pca9554.h
 create mode 100644 include/hw/misc/pca9554_regs.h
 create mode 100644 include/hw/ppc/pnv_chiptod.h
 create mode 100644 include/hw/ppc/pnv_n1_chiplet.h
 create mode 100644 include/hw/ppc/pnv_nest_pervasive.h
 create mode 100644 tests/avocado/ppc_hv_tests.py
 create mode 100644 tests/qtest/pnv-host-i2c-test.c
 create mode 100644 tests/qtest/pnv-xscom.h

Re: [PULL 00/47] ppc-for-9.0 queue
Posted by Peter Maydell 8 months, 3 weeks ago
On Fri, 23 Feb 2024 at 15:56, Nicholas Piggin <npiggin@gmail.com> wrote:
>
> The following changes since commit 3d54cbf269d63ff1d500b35b2bcf4565ff8ad485:
>
>   Merge tag 'hw-misc-20240222' of https://github.com/philmd/qemu into staging (2024-02-22 15:44:29 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/npiggin/qemu.git tags/pull-ppc-for-9.0-20240224
>
> for you to fetch changes up to 4acc505d2236190efea94746e7f22e2c07bce5d6:
>
>   target/ppc: optimise ppcemb_tlb_t flushing (2024-02-23 23:24:43 +1000)
>
> ----------------------------------------------------------------
> Let's try this PR again. Since the previous attempt, I dropped the empty
> already merged pci/raven patch. Also added several missed R-B tags.
>
> A bunch more testing showed up some issues with the new avocado
> tests. FreeBSD artifact URL availability is marginal so dropped that
> for now. ppc_hv_tests.py sometimes hangs due to a bug in console
> interaction so marked it flaky so it's not gated behind the fix for
> that.
>
> * Avocado tests for ppc64 run guests with emulated or nested hypervisor
> * facilities, among other things.  Update ppc64 CPU defaults to Power10.
> * Add a new powernv10-rainier machine to better capture differences
>   between the different Power10 systems.
> * Implement more device models for powernv.
> * 4xx TLB flushing performance and correctness improvements.
> * Correct gdb implementation to access some important SPRs.
> * Misc cleanups and bug fixes.
>
> ----------------------------------------------------------------


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/9.0
for any user-visible changes.

-- PMM