qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [PULL 000/107] ppc-for-2.9 queue 20170202


From: David Gibson
Subject: [Qemu-ppc] [PULL 000/107] ppc-for-2.9 queue 20170202
Date: Thu, 2 Feb 2017 16:12:58 +1100

The following changes since commit a0def594286d9110a6035e02eef558cf3cf5d847:

  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging 
(2017-01-30 10:23:20 +0000)

are available in the git repository at:

  git://github.com/dgibson/qemu.git tags/ppc-for-2.9-20170202

for you to fetch changes up to 7c6e8797337c24520b48d8b50a900a747e50f974:

  hw/ppc/pnv: Use error_report instead of hw_error if a ROM file can't be found 
(2017-02-02 09:30:07 +1100)

----------------------------------------------------------------
ppc patch queue 2017-02-02

This obsoletes ppc-for-2.9-20170112, which had a MacOS build bug.

This is a long overdue ppc pull request for qemu-2.9.  It's been a
long time coming due to some holidays and inconveniently timed
problems with testing.  So, there's a lot in here:

    * More POWER9 instruction implementations for TCG
    * The simpler parts of my CPU compatibility mode cleanup
        * This changes behaviour to prefer compatibility modes over
          "raW" mode for new machine type versions
    * New "40p" machine type which is essentially a modernized and
      cleaned up "prep".  The intention is that it will replace "prep"
      once it has some more testing and polish.
    * Add pseries-2.9 machine type
    * Implement H_SIGNAL_SYS_RESET hypercall
    * Consolidate the two alternate CPU init paths in pseries by
      making it always go through CPU core objects to initialize CPU
    * A number of bugfixes and cleanups
    * Stop the guest timebase when the guest is stopped under KVM.
      This makes the guest system clock also stop when paused, which
      matches the x86 behaviour.
    * Some preliminary cleanups leading towards implementation of the
      POWER9 MMU.

There are also some changes not strictly related to ppc code, but for
its benefit:

    * Limit the pxi-expander-bridge (PXB) device to x86 guests only
      (it's essentially a hack to work around historical x86
      limitations)
    * Some additions to the 128-bit math in host_utils, necessary for
      some of the new instructions.
    * Revise a number of qtests and enable them for ppc

----------------------------------------------------------------
Avinesh Kumar (1):
      target-ppc: add vextu[bhw][lr]x instructions

Bharata B Rao (19):
      target-ppc: Consolidate instruction decode helpers
      target-ppc: Fix xscmpodp and xscmpudp instructions
      target-ppc: Add xscmpexp[dp,qp] instructions
      target-ppc: Add xscmpoqp and xscmpuqp instructions
      target-ppc: Add xxperm and xxpermr instructions
      target-ppc: Use float64 arg in helper_compute_fprf()
      target-ppc: Replace isden by float64_is_zero_or_denormal
      target-ppc: Rename helper_compute_fprf to helper_compute_fprf_float64
      target-ppc: Add xscvdphp, xscvhpdp
      target-ppc: Use correct precision for FPRF setting
      target-ppc: Add xsaddqp instructions
      target-ppc: Add xscvdpqp instruction
      target-ppc: Add xscvqpdp instruction
      softfloat: Fix the default qNAN for target-ppc
      target-ppc: Add xscvqps[d,w]z instructions
      target-ppc: Use ppc_vsr_t.f128 in xscmp[o,u,exp]qp
      target-ppc: Add xscvsdqp and xscvudqp instructions
      target-ppc: Add xsdivqp instruction
      target-ppc: Add xsmulqp instruction

David Gibson (12):
      pseries: Always use core objects for CPU construction
      pseries: Make cpu_update during CAS unconditional
      ppc: Clean up and QOMify hypercall emulation
      ppc: Rename cpu_version to compat_pvr
      target-ppc: implement xsabsqp/xsnabsqp instruction
      pseries: Add pseries-2.9 machine type
      ppc: Rewrite ppc_set_compat()
      ppc: Rewrite ppc_get_compat_smt_threads()
      ppc: Validate compatibility modes when setting
      pxb: Restrict to x86
      pseries: Rewrite CAS PVR compatibility logic
      ppc: Add ppc_set_compat_all()

Hervé Poussineau (5):
      prep: do not use global variable to access nvram
      prep: add PReP System I/O
      prep: add IBM RS/6000 7020 (40p) memory controller
      prep: add IBM RS/6000 7020 (40p) machine emulation
      ppc/prep: update MAINTAINERS file

Jose Ricardo Ziviani (13):
      target-ppc: Implement bcdcfsq. instruction
      target-ppc: Implement bcdctsq. instruction
      target-ppc: Implement bcdcpsgn. instruction
      target-ppc: Implement bcdsetsgn. instruction
      target-ppc: Implement bcd_is_valid function
      ppc: Fix a warning in bcdcfz code and improve BCD_DIG_BYTE macro
      host-utils: Move 128-bit guard macro to .c file
      host-utils: Implement unsigned quadword left/right shift and unit tests
      ppc: Implement bcds. instruction
      ppc: Implement bcdus. instruction
      ppc: Implement bcdsr. instruction
      ppc: Implement bcdtrunc. instruction
      ppc: Implement bcdutrunc. instruction

Laurent Vivier (6):
      qtest: add netfilter tests for ppc64
      qtest: add display-vga-test to ppc64
      libqos: fix spapr qpci_map()
      qtest: convert ivshmem-test to use libqos
      qtest: add ivshmem-test for ppc64
      spapr: clock should count only if vm is running

Michael S. Tsirkin (1):
      ppc: switch to constants within BUILD_BUG_ON

Nicholas Piggin (1):
      ppc/spapr: implement H_SIGNAL_SYS_RESET

Nikunj A Dadhania (30):
      target-ppc: rename CRF_* defines as CRF_*_BIT
      target-ppc: implement lxsd and lxssp instructions
      target-ppc: implement stxsd and stxssp
      target-ppc: implement lxv/lxvx and stxv/stxvx
      target-ppc: move ppc_vsr_t to common header
      target-ppc: implement stop instruction
      target-ppc: implement xsnegqp instruction
      target-ppc: implement xscpsgnqp instruction
      target-ppc: implement lxvl instruction
      target-ppc: implement lxvll instruction
      target-ppc: implement stxvl instruction
      target-ppc: implement stxvll instructions
      target-ppc: Add xxextractuw instruction
      target-ppc: Add xxinsertw instruction
      target-ppc: Add xsxexpdp instruction
      target-ppc: Add xsxexpqp instruction
      target-ppc: Add xsxsigdp instruction
      target-ppc: Add xsxsigqp instructions
      target-ppc: xscvqpdp zero VSR
      target-ppc: Add xsiexpdp instruction
      target-ppc: Add xsiexpqp instruction
      target-ppc: Add xviexpsp instruction
      target-ppc: Add xviexpdp instruction
      target-ppc: Add xvxexpsp instruction
      target-ppc: Add xvxexpdp instruction
      target-ppc: Add xvxsigsp instruction
      target-ppc: Add xvxsigdp instruction
      target-ppc: Add xvcv[hpsp, sphp] instructions
      target-ppc: Add xvtstdc[sp,dp] instructions
      target-ppc: Add xststdc[sp, dp, qp] instructions

Roman Kapl (1):
      ppc: Prevent inifnite loop in decrementer auto-reload.

Stefan Weil (1):
      disas/ppc: Fix indefinite articles in comments

Suraj Jitindar Singh (6):
      powerpc/cpu-models: rename ISAv3.00 logical PVR definition
      target/ppc: Add pcr_supported to POWER9 cpu class definition
      target/ppc/debug: Print LPCR register value if register exists
      tcg/POWER9: NOOP the cp_abort instruction
      target/ppc/mmu_hash64: Fix printing unsigned as signed int
      target/ppc/mmu_hash64: Fix incorrect shift value in amr calculation

Thomas Huth (6):
      hw/ppc/spapr: Fix boot path of usb-host storage devices
      ppc: Remove unused function cpu_ppc601_rtc_init()
      target/ppc: Remove unused POWERPC_FAMILY(POWER)
      target/ppc/cpu-models: Fix/remove bad CPU aliases
      ppc/kvm: Handle the "family" CPU via alias instead of registering new 
types
      hw/ppc/pnv: Use error_report instead of hw_error if a ROM file can't be 
found

Valentin Plotkin (1):
      target-ppc: Add MMU model check for booke machines

xiaoqiang zhao (4):
      hw/gpio: QOM'ify mpc8xxx.c
      hw/ppc: QOM'ify e500.c
      hw/ppc: QOM'ify ppce500_spin.c
      hw/ppc: QOM'ify spapr_vio.c

 MAINTAINERS                         |   5 +-
 default-configs/i386-softmmu.mak    |   1 +
 default-configs/ppc-softmmu.mak     |   2 +
 default-configs/ppc64-softmmu.mak   |   1 +
 default-configs/x86_64-softmmu.mak  |   1 +
 disas/ppc.c                         |  12 +-
 fpu/softfloat-specialize.h          |   2 +-
 hw/gpio/mpc8xxx.c                   |  20 +-
 hw/pci-bridge/Makefile.objs         |   2 +-
 hw/ppc/Makefile.objs                |   2 +
 hw/ppc/e500.c                       |  23 +-
 hw/ppc/pnv.c                        |   6 +-
 hw/ppc/ppc.c                        |  73 ++--
 hw/ppc/ppc440_bamboo.c              |   6 +
 hw/ppc/ppc_booke.c                  |   8 +-
 hw/ppc/ppce500_spin.c               |  18 +-
 hw/ppc/prep.c                       | 234 ++++++++++-
 hw/ppc/prep_systemio.c              | 303 +++++++++++++++
 hw/ppc/rs6000_mc.c                  | 232 +++++++++++
 hw/ppc/spapr.c                      | 214 ++++++----
 hw/ppc/spapr_cpu_core.c             |  38 +-
 hw/ppc/spapr_hcall.c                | 160 ++++----
 hw/ppc/spapr_vio.c                  |  10 -
 hw/ppc/trace-events                 |  13 +-
 hw/ppc/virtex_ml507.c               |   7 +
 hw/usb/host-libusb.c                |  29 ++
 hw/usb/host-stub.c                  |   5 +
 include/fpu/softfloat.h             |  20 +
 include/hw/ppc/spapr.h              |   7 +-
 include/hw/usb.h                    |   1 +
 include/qemu/host-utils.h           |  27 ++
 target/ppc/Makefile.objs            |   2 +-
 target/ppc/compat.c                 | 185 +++++++++
 target/ppc/cpu-models.c             |  22 +-
 target/ppc/cpu-models.h             |   2 +-
 target/ppc/cpu-qom.h                |   3 +
 target/ppc/cpu.h                    |  67 +++-
 target/ppc/excp_helper.c            |  11 +-
 target/ppc/fpu_helper.c             | 756 +++++++++++++++++++++++++++++-------
 target/ppc/helper.h                 |  50 ++-
 target/ppc/int_helper.c             | 473 +++++++++++++++++++++-
 target/ppc/internal.h               | 202 ++++++++++
 target/ppc/kvm.c                    |  40 +-
 target/ppc/kvm_ppc.h                |   4 +-
 target/ppc/mem_helper.c             |  66 ++++
 target/ppc/mmu-hash64.c             |   4 +-
 target/ppc/mmu-hash64.h             |   2 +-
 target/ppc/translate.c              | 244 ++++--------
 target/ppc/translate/fp-impl.inc.c  |  20 +-
 target/ppc/translate/fp-ops.inc.c   |   2 -
 target/ppc/translate/vmx-impl.inc.c |  64 +++
 target/ppc/translate/vmx-ops.inc.c  |  23 +-
 target/ppc/translate/vsx-impl.inc.c | 484 +++++++++++++++++++++++
 target/ppc/translate/vsx-ops.inc.c  |  74 ++++
 target/ppc/translate_init.c         |  97 +----
 tests/.gitignore                    |   1 +
 tests/Makefile.include              |  12 +-
 tests/display-vga-test.c            |   7 +-
 tests/ivshmem-test.c                |  46 ++-
 tests/libqos/pci-spapr.c            |   4 +-
 tests/test-shift128.c               | 139 +++++++
 util/Makefile.objs                  |   2 +-
 util/host-utils.c                   |  66 ++++
 63 files changed, 3877 insertions(+), 779 deletions(-)
 create mode 100644 hw/ppc/prep_systemio.c
 create mode 100644 hw/ppc/rs6000_mc.c
 create mode 100644 target/ppc/compat.c
 create mode 100644 tests/test-shift128.c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]