[PULL 00/34] ppc-for-5.0 queue 20200131

David Gibson posted 34 patches 5 years, 9 months ago
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200131060924.147449-1-david@gibson.dropbear.id.au
Maintainers: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Markus Armbruster <armbru@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Richard Henderson <rth@twiddle.net>, Laurent Vivier <lvivier@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Eric Blake <eblake@redhat.com>, "Cédric Le Goater" <clg@kaod.org>, John Snow <jsnow@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Stefan Berger <stefanb@linux.ibm.com>, David Gibson <david@gibson.dropbear.id.au>, "Hervé Poussineau" <hpoussin@reactos.org>, Thomas Huth <thuth@redhat.com>
.gitmodules                         |    3 -
MAINTAINERS                         |    1 -
Makefile                            |    2 +-
cpus.c                              |    5 +
docs/interop/firmware.json          |    3 +-
docs/specs/index.rst                |    1 +
docs/specs/tpm.rst                  |  503 ++++++++++++
docs/specs/tpm.txt                  |  427 -----------
hw/intc/xics.c                      |   14 +-
hw/pci-host/Makefile.objs           |    2 +
hw/pci-host/pnv_phb3.c              | 1197 +++++++++++++++++++++++++++++
hw/pci-host/pnv_phb3_msi.c          |  349 +++++++++
hw/pci-host/pnv_phb3_pbcq.c         |  358 +++++++++
hw/pci-host/pnv_phb4.c              | 1439 +++++++++++++++++++++++++++++++++++
hw/pci-host/pnv_phb4_pec.c          |  595 +++++++++++++++
hw/ppc/Kconfig                      |    2 +
hw/ppc/pnv.c                        |  204 ++++-
hw/ppc/pnv_core.c                   |   33 +-
hw/ppc/pnv_homer.c                  |    1 +
hw/ppc/pnv_lpc.c                    |    6 +-
hw/ppc/pnv_occ.c                    |    1 +
hw/ppc/pnv_pnor.c                   |    6 +-
hw/ppc/ppc.c                        |   18 -
hw/ppc/prep.c                       |  384 +---------
hw/ppc/spapr.c                      |   63 +-
hw/ppc/spapr_caps.c                 |   49 +-
hw/ppc/spapr_events.c               |  269 +++++++
hw/ppc/spapr_hcall.c                |   20 +
hw/ppc/spapr_rtas.c                 |   87 +++
hw/ppc/spapr_vio.c                  |   11 +-
hw/ppc/virtex_ml507.c               |    7 +-
hw/tpm/Kconfig                      |    6 +
hw/tpm/Makefile.objs                |    1 +
hw/tpm/tpm_spapr.c                  |  429 +++++++++++
hw/tpm/tpm_tis.c                    |   32 +-
hw/tpm/tpm_util.c                   |   25 +
hw/tpm/tpm_util.h                   |    3 +
hw/tpm/trace-events                 |   16 +-
include/hw/pci-host/pnv_phb3.h      |  164 ++++
include/hw/pci-host/pnv_phb3_regs.h |  450 +++++++++++
include/hw/pci-host/pnv_phb4.h      |  230 ++++++
include/hw/pci-host/pnv_phb4_regs.h |  553 ++++++++++++++
include/hw/pci/pcie_port.h          |    1 +
include/hw/ppc/pnv.h                |   13 +
include/hw/ppc/pnv_core.h           |    1 +
include/hw/ppc/pnv_xscom.h          |   20 +
include/hw/ppc/ppc.h                |    1 -
include/hw/ppc/spapr.h              |   25 +-
include/hw/ppc/spapr_vio.h          |    1 +
include/hw/ppc/xics.h               |    5 +
include/qemu/main-loop.h            |    8 +
include/sysemu/tpm.h                |    3 +
pc-bios/README                      |    3 -
pc-bios/ppc_rom.bin                 |  Bin 1048576 -> 0 bytes
qapi/tpm.json                       |    6 +-
qemu-deprecated.texi                |    6 -
qemu-doc.texi                       |   15 +-
roms/openhackware                   |    1 -
target/ppc/cpu.h                    |    8 +-
target/ppc/excp_helper.c            |   79 +-
target/ppc/helper.h                 |    4 +
target/ppc/kvm.c                    |   43 +-
target/ppc/kvm_ppc.h                |    8 +
target/ppc/mem_helper.c             |  197 ++++-
target/ppc/misc_helper.c            |   63 ++
target/ppc/mmu-radix64.c            |    6 +
target/ppc/trace-events             |    1 +
target/ppc/translate.c              |   26 +
target/ppc/translate_init.inc.c     |   20 +-
tests/qtest/boot-order-test.c       |   25 -
tests/qtest/cdrom-test.c            |    2 +-
tests/qtest/endianness-test.c       |    2 +-
72 files changed, 7549 insertions(+), 1013 deletions(-)
create mode 100644 docs/specs/tpm.rst
delete mode 100644 docs/specs/tpm.txt
create mode 100644 hw/pci-host/pnv_phb3.c
create mode 100644 hw/pci-host/pnv_phb3_msi.c
create mode 100644 hw/pci-host/pnv_phb3_pbcq.c
create mode 100644 hw/pci-host/pnv_phb4.c
create mode 100644 hw/pci-host/pnv_phb4_pec.c
create mode 100644 hw/tpm/tpm_spapr.c
create mode 100644 include/hw/pci-host/pnv_phb3.h
create mode 100644 include/hw/pci-host/pnv_phb3_regs.h
create mode 100644 include/hw/pci-host/pnv_phb4.h
create mode 100644 include/hw/pci-host/pnv_phb4_regs.h
delete mode 100644 pc-bios/ppc_rom.bin
delete mode 160000 roms/openhackware
[PULL 00/34] ppc-for-5.0 queue 20200131
Posted by David Gibson 5 years, 9 months ago
The following changes since commit 928173659d6e5dc368284f73f90ea1d129e1f57d:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200130' into staging (2020-01-30 16:19:04 +0000)

are available in the Git repository at:

  git://github.com/dgibson/qemu.git tags/ppc-for-5.0-20200131

for you to fetch changes up to 532fe321cf06d39d864de3642b4e1b18cc83c4de:

  target/ppc: Use probe_write for DCBZ (2020-01-31 14:54:16 +1100)

----------------------------------------------------------------
ppc patch queue 2020-01-31

Here's the next batch of patches for ppc and associated machine types.
Highlights includes:
 * Remove the deprecated "prep" machine type and its OpenHackware
   firmware
 * Add TCG emulation of the msgsndp etc. supervisor privileged
   doorbell instructions
 * Allow "pnv" machine type to run Hostboot style firmwares
 * Add a virtual TPM device for spapr machines
 * Implement devices for POWER8 PHB3 and POWER9 PHB4 host bridges for
   the pnv machine type
 * Use faster Spectre mitigation by default for POWER9 DD2.3 machines
 * Introduce Firmware Assisted NMI dump facility for spapr machines
 * Fix a performance regression with load/store multiple instructions
   in TCG

as well as some other assorted cleanups and fixes.

----------------------------------------------------------------
Aravinda Prasad (7):
      Wrapper function to wait on condition for the main loop mutex
      ppc: spapr: Introduce FWNMI capability
      target/ppc: Handle NMI guest exit
      target/ppc: Build rtas error log upon an MCE
      ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
      migration: Include migration support for machine check handling
      ppc: spapr: Activate the FWNMI functionality

BALATON Zoltan (1):
      target/ppc/cpu.h: Put macro parameter in parentheses

Benjamin Herrenschmidt (1):
      ppc/pnv: Add models for POWER9 PHB4 PCIe Host bridge

Cédric Le Goater (9):
      ppc/pnv: use QEMU unit definition MiB
      ppc/pnv: improve error logging when a PNOR update fails
      target/ppc: Add privileged message send facilities
      target/ppc: add support for Hypervisor Facility Unavailable Exception
      ppc/pnv: Add support for HRMOR on Radix host
      ppc/pnv: remove useless "core-pir" property alias.
      ppc/pnv: Add support for "hostboot" mode
      ppc/pnv: Add models for POWER8 PHB3 PCIe Host bridge
      ppc/pnv: change the PowerNV machine devices to be non user creatable

David Gibson (1):
      spapr: Enable DD2.3 accelerated count cache flush in pseries-5.0 machine

Fabiano Rosas (1):
      target/ppc: Clarify the meaning of return values in kvm_handle_debug

Greg Kurz (2):
      spapr: Fail CAS if option vector table cannot be parsed
      spapr: Don't allow multiple active vCPUs at CAS

Igor Mammedov (1):
      ppc:virtex_ml507: remove unused arguments

Marc-André Lureau (1):
      docs/specs/tpm: reST-ify TPM documentation

Richard Henderson (4):
      target/ppc: Use probe_access for LSW, STSW
      target/ppc: Use probe_access for LMW, STMW
      target/ppc: Remove redundant mask in DCBZ
      target/ppc: Use probe_write for DCBZ

Stefan Berger (5):
      tpm: Move tpm_tis_show_buffer to tpm_util.c
      spapr: Implement get_dt_compatible() callback
      tpm_spapr: Support TPM for ppc64 using CRQ based interface
      tpm_spapr: Support suspend and resume
      hw/ppc/Kconfig: Enable TPM_SPAPR as part of PSERIES config

Thomas Huth (1):
      hw/ppc/prep: Remove the deprecated "prep" machine and the OpenHackware BIOS

 .gitmodules                         |    3 -
 MAINTAINERS                         |    1 -
 Makefile                            |    2 +-
 cpus.c                              |    5 +
 docs/interop/firmware.json          |    3 +-
 docs/specs/index.rst                |    1 +
 docs/specs/tpm.rst                  |  503 ++++++++++++
 docs/specs/tpm.txt                  |  427 -----------
 hw/intc/xics.c                      |   14 +-
 hw/pci-host/Makefile.objs           |    2 +
 hw/pci-host/pnv_phb3.c              | 1197 +++++++++++++++++++++++++++++
 hw/pci-host/pnv_phb3_msi.c          |  349 +++++++++
 hw/pci-host/pnv_phb3_pbcq.c         |  358 +++++++++
 hw/pci-host/pnv_phb4.c              | 1439 +++++++++++++++++++++++++++++++++++
 hw/pci-host/pnv_phb4_pec.c          |  595 +++++++++++++++
 hw/ppc/Kconfig                      |    2 +
 hw/ppc/pnv.c                        |  204 ++++-
 hw/ppc/pnv_core.c                   |   33 +-
 hw/ppc/pnv_homer.c                  |    1 +
 hw/ppc/pnv_lpc.c                    |    6 +-
 hw/ppc/pnv_occ.c                    |    1 +
 hw/ppc/pnv_pnor.c                   |    6 +-
 hw/ppc/ppc.c                        |   18 -
 hw/ppc/prep.c                       |  384 +---------
 hw/ppc/spapr.c                      |   63 +-
 hw/ppc/spapr_caps.c                 |   49 +-
 hw/ppc/spapr_events.c               |  269 +++++++
 hw/ppc/spapr_hcall.c                |   20 +
 hw/ppc/spapr_rtas.c                 |   87 +++
 hw/ppc/spapr_vio.c                  |   11 +-
 hw/ppc/virtex_ml507.c               |    7 +-
 hw/tpm/Kconfig                      |    6 +
 hw/tpm/Makefile.objs                |    1 +
 hw/tpm/tpm_spapr.c                  |  429 +++++++++++
 hw/tpm/tpm_tis.c                    |   32 +-
 hw/tpm/tpm_util.c                   |   25 +
 hw/tpm/tpm_util.h                   |    3 +
 hw/tpm/trace-events                 |   16 +-
 include/hw/pci-host/pnv_phb3.h      |  164 ++++
 include/hw/pci-host/pnv_phb3_regs.h |  450 +++++++++++
 include/hw/pci-host/pnv_phb4.h      |  230 ++++++
 include/hw/pci-host/pnv_phb4_regs.h |  553 ++++++++++++++
 include/hw/pci/pcie_port.h          |    1 +
 include/hw/ppc/pnv.h                |   13 +
 include/hw/ppc/pnv_core.h           |    1 +
 include/hw/ppc/pnv_xscom.h          |   20 +
 include/hw/ppc/ppc.h                |    1 -
 include/hw/ppc/spapr.h              |   25 +-
 include/hw/ppc/spapr_vio.h          |    1 +
 include/hw/ppc/xics.h               |    5 +
 include/qemu/main-loop.h            |    8 +
 include/sysemu/tpm.h                |    3 +
 pc-bios/README                      |    3 -
 pc-bios/ppc_rom.bin                 |  Bin 1048576 -> 0 bytes
 qapi/tpm.json                       |    6 +-
 qemu-deprecated.texi                |    6 -
 qemu-doc.texi                       |   15 +-
 roms/openhackware                   |    1 -
 target/ppc/cpu.h                    |    8 +-
 target/ppc/excp_helper.c            |   79 +-
 target/ppc/helper.h                 |    4 +
 target/ppc/kvm.c                    |   43 +-
 target/ppc/kvm_ppc.h                |    8 +
 target/ppc/mem_helper.c             |  197 ++++-
 target/ppc/misc_helper.c            |   63 ++
 target/ppc/mmu-radix64.c            |    6 +
 target/ppc/trace-events             |    1 +
 target/ppc/translate.c              |   26 +
 target/ppc/translate_init.inc.c     |   20 +-
 tests/qtest/boot-order-test.c       |   25 -
 tests/qtest/cdrom-test.c            |    2 +-
 tests/qtest/endianness-test.c       |    2 +-
 72 files changed, 7549 insertions(+), 1013 deletions(-)
 create mode 100644 docs/specs/tpm.rst
 delete mode 100644 docs/specs/tpm.txt
 create mode 100644 hw/pci-host/pnv_phb3.c
 create mode 100644 hw/pci-host/pnv_phb3_msi.c
 create mode 100644 hw/pci-host/pnv_phb3_pbcq.c
 create mode 100644 hw/pci-host/pnv_phb4.c
 create mode 100644 hw/pci-host/pnv_phb4_pec.c
 create mode 100644 hw/tpm/tpm_spapr.c
 create mode 100644 include/hw/pci-host/pnv_phb3.h
 create mode 100644 include/hw/pci-host/pnv_phb3_regs.h
 create mode 100644 include/hw/pci-host/pnv_phb4.h
 create mode 100644 include/hw/pci-host/pnv_phb4_regs.h
 delete mode 100644 pc-bios/ppc_rom.bin
 delete mode 160000 roms/openhackware

Re: [PULL 00/34] ppc-for-5.0 queue 20200131
Posted by Peter Maydell 5 years, 9 months ago
On Fri, 31 Jan 2020 at 06:09, David Gibson <david@gibson.dropbear.id.au> wrote:
>
> The following changes since commit 928173659d6e5dc368284f73f90ea1d129e1f57d:
>
>   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200130' into staging (2020-01-30 16:19:04 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/dgibson/qemu.git tags/ppc-for-5.0-20200131
>
> for you to fetch changes up to 532fe321cf06d39d864de3642b4e1b18cc83c4de:
>
>   target/ppc: Use probe_write for DCBZ (2020-01-31 14:54:16 +1100)
>
> ----------------------------------------------------------------
> ppc patch queue 2020-01-31
>
> Here's the next batch of patches for ppc and associated machine types.
> Highlights includes:
>  * Remove the deprecated "prep" machine type and its OpenHackware
>    firmware
>  * Add TCG emulation of the msgsndp etc. supervisor privileged
>    doorbell instructions
>  * Allow "pnv" machine type to run Hostboot style firmwares
>  * Add a virtual TPM device for spapr machines
>  * Implement devices for POWER8 PHB3 and POWER9 PHB4 host bridges for
>    the pnv machine type
>  * Use faster Spectre mitigation by default for POWER9 DD2.3 machines
>  * Introduce Firmware Assisted NMI dump facility for spapr machines
>  * Fix a performance regression with load/store multiple instructions
>    in TCG
>
> as well as some other assorted cleanups and fixes.
>

Hi; this pull req produces a bunch of extra warning messages in
my log files; is it possible to suppress them ?


qemu-system-ppc64: warning: TCG doesn't support requested feature,
cap-ccf-assist=on
qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
Interrupts(FWNMI) not supported in TCG
qemu-system-ppc64: warning: TCG doesn't support requested feature,
cap-ccf-assist=on
qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
Interrupts(FWNMI) not supported in TCG
qemu-system-ppc64: warning: TCG doesn't support requested feature,
cap-ccf-assist=on
qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
Interrupts(FWNMI) not supported in TCG

thanks
-- PMM

Re: [PULL 00/34] ppc-for-5.0 queue 20200131
Posted by David Gibson 5 years, 9 months ago
On Fri, Jan 31, 2020 at 04:42:14PM +0000, Peter Maydell wrote:
> On Fri, 31 Jan 2020 at 06:09, David Gibson <david@gibson.dropbear.id.au> wrote:
> >
> > The following changes since commit 928173659d6e5dc368284f73f90ea1d129e1f57d:
> >
> >   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200130' into staging (2020-01-30 16:19:04 +0000)
> >
> > are available in the Git repository at:
> >
> >   git://github.com/dgibson/qemu.git tags/ppc-for-5.0-20200131
> >
> > for you to fetch changes up to 532fe321cf06d39d864de3642b4e1b18cc83c4de:
> >
> >   target/ppc: Use probe_write for DCBZ (2020-01-31 14:54:16 +1100)
> >
> > ----------------------------------------------------------------
> > ppc patch queue 2020-01-31
> >
> > Here's the next batch of patches for ppc and associated machine types.
> > Highlights includes:
> >  * Remove the deprecated "prep" machine type and its OpenHackware
> >    firmware
> >  * Add TCG emulation of the msgsndp etc. supervisor privileged
> >    doorbell instructions
> >  * Allow "pnv" machine type to run Hostboot style firmwares
> >  * Add a virtual TPM device for spapr machines
> >  * Implement devices for POWER8 PHB3 and POWER9 PHB4 host bridges for
> >    the pnv machine type
> >  * Use faster Spectre mitigation by default for POWER9 DD2.3 machines
> >  * Introduce Firmware Assisted NMI dump facility for spapr machines
> >  * Fix a performance regression with load/store multiple instructions
> >    in TCG
> >
> > as well as some other assorted cleanups and fixes.
> >
> 
> Hi; this pull req produces a bunch of extra warning messages in
> my log files; is it possible to suppress them ?
> 
> 
> qemu-system-ppc64: warning: TCG doesn't support requested feature,
> cap-ccf-assist=on
> qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
> Interrupts(FWNMI) not supported in TCG
> qemu-system-ppc64: warning: TCG doesn't support requested feature,
> cap-ccf-assist=on
> qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
> Interrupts(FWNMI) not supported in TCG
> qemu-system-ppc64: warning: TCG doesn't support requested feature,
> cap-ccf-assist=on
> qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
> Interrupts(FWNMI) not supported in TCG

As you've seen, Greg has sent a fix for these.  Do you want me to
resend the series with his patch included, or will you merge this lot
and I'll follow up with Greg's patch?

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
Re: [PULL 00/34] ppc-for-5.0 queue 20200131
Posted by Greg Kurz 5 years, 9 months ago
On Sun, 2 Feb 2020 19:43:58 +1100
David Gibson <david@gibson.dropbear.id.au> wrote:

> On Fri, Jan 31, 2020 at 04:42:14PM +0000, Peter Maydell wrote:
> > On Fri, 31 Jan 2020 at 06:09, David Gibson <david@gibson.dropbear.id.au> wrote:
> > >
> > > The following changes since commit 928173659d6e5dc368284f73f90ea1d129e1f57d:
> > >
> > >   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200130' into staging (2020-01-30 16:19:04 +0000)
> > >
> > > are available in the Git repository at:
> > >
> > >   git://github.com/dgibson/qemu.git tags/ppc-for-5.0-20200131
> > >
> > > for you to fetch changes up to 532fe321cf06d39d864de3642b4e1b18cc83c4de:
> > >
> > >   target/ppc: Use probe_write for DCBZ (2020-01-31 14:54:16 +1100)
> > >
> > > ----------------------------------------------------------------
> > > ppc patch queue 2020-01-31
> > >
> > > Here's the next batch of patches for ppc and associated machine types.
> > > Highlights includes:
> > >  * Remove the deprecated "prep" machine type and its OpenHackware
> > >    firmware
> > >  * Add TCG emulation of the msgsndp etc. supervisor privileged
> > >    doorbell instructions
> > >  * Allow "pnv" machine type to run Hostboot style firmwares
> > >  * Add a virtual TPM device for spapr machines
> > >  * Implement devices for POWER8 PHB3 and POWER9 PHB4 host bridges for
> > >    the pnv machine type
> > >  * Use faster Spectre mitigation by default for POWER9 DD2.3 machines
> > >  * Introduce Firmware Assisted NMI dump facility for spapr machines
> > >  * Fix a performance regression with load/store multiple instructions
> > >    in TCG
> > >
> > > as well as some other assorted cleanups and fixes.
> > >
> > 
> > Hi; this pull req produces a bunch of extra warning messages in
> > my log files; is it possible to suppress them ?
> > 
> > 
> > qemu-system-ppc64: warning: TCG doesn't support requested feature,
> > cap-ccf-assist=on
> > qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
> > Interrupts(FWNMI) not supported in TCG
> > qemu-system-ppc64: warning: TCG doesn't support requested feature,
> > cap-ccf-assist=on
> > qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
> > Interrupts(FWNMI) not supported in TCG
> > qemu-system-ppc64: warning: TCG doesn't support requested feature,
> > cap-ccf-assist=on
> > qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
> > Interrupts(FWNMI) not supported in TCG
> 
> As you've seen, Greg has sent a fix for these.  Do you want me to
> resend the series with his patch included, or will you merge this lot
> and I'll follow up with Greg's patch?
> 

In any case, could you please add the Reported-by: tag suggested by Philippe ?

Thanks!