mbox series

[RFC,v2,00/15] KVM: s390: CPU model for gen17

Message ID 20241206122751.189721-1-brueckner@linux.ibm.com (mailing list archive)
Headers show
Series KVM: s390: CPU model for gen17 | expand

Message

Hendrik Brueckner Dec. 6, 2024, 12:27 p.m. UTC
Introducing the gen17 CPU model with feature indications
comprising of:

* Concurrent-function facility with subcodes
* More vector extensions
* Ineffective-nonconstrained-transaction facility
* Even more msa crypto extensions
* Additional PLO subfunctions

For reference, see also the kernel part:
https://lore.kernel.org/kvm/20241107152319.77816-1-brueckner@linux.ibm.com/T/#me506dc2ca538aee3cfc13620a48bdb686c459ab0

Changelog v1->v2:
- Linux headers update to Linux 6.13-rc1 as pre-req
  for the Concurrent-function facility
- Added missing CPU feature (group) initialization
  for the msa12 and PLO extensions


Feedback and review is always welcome.  Thanks a lot!

Kind regards,
Hendrik


Hendrik Brueckner (15):
  s390x/cpumodel: add msa10 subfunctions
  s390x/cpumodel: add msa11 subfunctions
  s390x/cpumodel: add msa12 changes
  s390x/cpumodel: add msa13 subfunctions
  s390x/cpumodel: Add ptff Query Time-Stamp Event (QTSE) support
  linux-headers: Update to Linux 6.13-rc1
  s390x/cpumodel: add Concurrent-functions facility support
  s390x/cpumodel: add Vector Enhancements facility 3
  s390x/cpumodel: add Miscellaneous-Instruction-Extensions Facility 4
  s390x/cpumodel: add Vector-Packed-Decimal-Enhancement facility 3
  s390x/cpumodel: add Ineffective-nonconstrained-transaction facility
  s390x/cpumodel: Add Sequential-Instruction-Fetching facility
  s390x/cpumodel: correct PLO feature wording
  s390x/cpumodel: Add PLO-extension facility
  s390x/cpumodel: gen17 model

 include/standard-headers/drm/drm_fourcc.h     |   1 +
 include/standard-headers/linux/ethtool.h      |   5 +
 include/standard-headers/linux/pci_regs.h     |  38 ++-
 .../standard-headers/linux/virtio_crypto.h    |   1 +
 include/standard-headers/linux/virtio_pci.h   | 131 ++++++++++
 linux-headers/asm-arm64/kvm.h                 |   6 +
 linux-headers/asm-arm64/unistd_64.h           |   4 +
 linux-headers/asm-generic/mman-common.h       |   3 +
 linux-headers/asm-generic/mman.h              |   4 +
 linux-headers/asm-generic/unistd.h            |  11 +-
 linux-headers/asm-loongarch/kvm.h             |  20 ++
 linux-headers/asm-loongarch/unistd_64.h       |   4 +
 linux-headers/asm-mips/mman.h                 |   3 +
 linux-headers/asm-mips/unistd_n32.h           |   4 +
 linux-headers/asm-mips/unistd_n64.h           |   4 +
 linux-headers/asm-mips/unistd_o32.h           |   4 +
 linux-headers/asm-powerpc/unistd_32.h         |   4 +
 linux-headers/asm-powerpc/unistd_64.h         |   4 +
 linux-headers/asm-riscv/kvm.h                 |   4 +
 linux-headers/asm-riscv/unistd_32.h           |   4 +
 linux-headers/asm-riscv/unistd_64.h           |   4 +
 linux-headers/asm-s390/kvm.h                  |   3 +-
 linux-headers/asm-s390/unistd_32.h            |   4 +
 linux-headers/asm-s390/unistd_64.h            |   4 +
 linux-headers/asm-x86/kvm.h                   |   1 +
 linux-headers/asm-x86/mman.h                  |   3 -
 linux-headers/asm-x86/unistd_32.h             |   4 +
 linux-headers/asm-x86/unistd_64.h             |   4 +
 linux-headers/asm-x86/unistd_x32.h            |   4 +
 linux-headers/linux/iommufd.h                 | 224 +++++++++++++++++-
 linux-headers/linux/kvm.h                     |   8 +
 linux-headers/linux/psci.h                    |   5 +
 linux-headers/linux/vfio.h                    |   2 +-
 target/s390x/cpu_features.c                   |  11 +
 target/s390x/cpu_features.h                   |   1 +
 target/s390x/cpu_features_def.h.inc           |  94 +++++++-
 target/s390x/cpu_models.c                     |  61 +++++
 target/s390x/gen-features.c                   | 178 ++++++++++++++
 target/s390x/kvm/kvm.c                        |   6 +
 39 files changed, 851 insertions(+), 29 deletions(-)

Comments

Richard Henderson Dec. 6, 2024, 2:14 p.m. UTC | #1
On 12/6/24 06:27, Hendrik Brueckner wrote:
> Introducing the gen17 CPU model with feature indications
> comprising of:
> 
> * Concurrent-function facility with subcodes
> * More vector extensions
> * Ineffective-nonconstrained-transaction facility
> * Even more msa crypto extensions
> * Additional PLO subfunctions

Is the revised Principals of Operation public yet?
I can only find SA22-7832-13 from 2022.


r~
Janosch Frank Dec. 9, 2024, 10:14 a.m. UTC | #2
On 12/6/24 3:14 PM, Richard Henderson wrote:
> On 12/6/24 06:27, Hendrik Brueckner wrote:
>> Introducing the gen17 CPU model with feature indications
>> comprising of:
>>
>> * Concurrent-function facility with subcodes
>> * More vector extensions
>> * Ineffective-nonconstrained-transaction facility
>> * Even more msa crypto extensions
>> * Additional PLO subfunctions
> 
> Is the revised Principals of Operation public yet?
> I can only find SA22-7832-13 from 2022.
> 

No, the gen17 POP hasn't been published yet AFAIK.
SA22-7832-13 is for gen16.