These patches implement enough to install a distro, boot, run SMP KVM
guests with libvirt with good performance using MTTCG (as reported by
Cedric).
There are a few more SPRs that need to be done, and per-LPAR SPRs are
mostly not annotated yet so it can't run in 1 LPAR mode. But those can
be added in time, it will take a bit of time to get everything exactly
as hardware does so I consider this good enough to run common
software usefully.
Since RFC:
- Rebased against ppc-next (no conflicts vs upstream anyway).
- Add patch 4 avocado boot test with SMT, as was added with pseries SMT.
- Renamed POWERPC_FLAG_1LPAR to POWERPC_FLAG_SMT_1LPAR since it implies
SMT.
- Fixed typos, patch 1, 3 changelogs improvement (hopefully).
Since v1:
- Fix clang compile bug
- Fix LPAR-per-thread bug in CTRL/DPDES/msgsndp in patch 1
- Add 2-socket test case to powernv Linux boot avocado test
- Remove SMT caveat from docs/system/ppc/powernv.rst
Thanks,
Nick
Nicholas Piggin (4):
target/ppc: Add LPAR-per-core vs per-thread mode flag
target/ppc: SMT support for the HID SPR
ppc/pnv: SMT support for powernv
tests/avocado: Add powernv machine test script
docs/system/ppc/powernv.rst | 5 ---
hw/ppc/pnv.c | 12 +++++
hw/ppc/pnv_core.c | 13 +++---
hw/ppc/spapr_cpu_core.c | 2 +
target/ppc/cpu.h | 3 ++
target/ppc/cpu_init.c | 14 +++++-
target/ppc/excp_helper.c | 4 ++
target/ppc/helper.h | 1 +
target/ppc/misc_helper.c | 29 ++++++++++++
target/ppc/spr_common.h | 1 +
target/ppc/translate.c | 27 ++++++++---
tests/avocado/ppc_powernv.py | 87 ++++++++++++++++++++++++++++++++++++
12 files changed, 179 insertions(+), 19 deletions(-)
create mode 100644 tests/avocado/ppc_powernv.py