From ab6e15500b8029db1c737584b241c178a902638a Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Mon, 17 Jul 2017 13:05:33 +0200 Subject: [PATCH 1/2] linux header sync against v4.13-rc1 Signed-off-by: Christian Borntraeger --- linux-headers/asm-x86/kvm_para.h | 1 + linux-headers/linux/kvm.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/linux-headers/asm-x86/kvm_para.h b/linux-headers/asm-x86/kvm_para.h index 3a5397988e..cefa127d84 100644 --- a/linux-headers/asm-x86/kvm_para.h +++ b/linux-headers/asm-x86/kvm_para.h @@ -67,6 +67,7 @@ struct kvm_clock_pairing { #define KVM_ASYNC_PF_ENABLED (1 << 0) #define KVM_ASYNC_PF_SEND_ALWAYS (1 << 1) +#define KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT (1 << 2) /* Operations for KVM_HC_MMU_OP */ #define KVM_MMU_OP_WRITE_PTE 1 diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index 43e2d82be1..7971a4f8b5 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -927,6 +927,8 @@ struct kvm_ppc_resize_hpt { #define KVM_CAP_S390_CMMA_MIGRATION 145 #define KVM_CAP_PPC_FWNMI 146 #define KVM_CAP_PPC_SMT_POSSIBLE 147 +#define KVM_CAP_HYPERV_SYNIC2 148 +#define KVM_CAP_HYPERV_VP_INDEX 149 #ifdef KVM_CAP_IRQ_ROUTING @@ -1351,7 +1353,7 @@ struct kvm_s390_ucas_mapping { /* Available with KVM_CAP_X86_SMM */ #define KVM_SMI _IO(KVMIO, 0xb7) /* Available with KVM_CAP_S390_CMMA_MIGRATION */ -#define KVM_S390_GET_CMMA_BITS _IOW(KVMIO, 0xb8, struct kvm_s390_cmma_log) +#define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log) #define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log) #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) From cc28a5949bb54df070c38ab505ee2c14385e53d0 Mon Sep 17 00:00:00 2001 From: "Jason J. Herne" Date: Thu, 13 Apr 2017 10:28:41 -0400 Subject: [PATCH 2/2] s390x/cpumodel: z14 cpu models This patch introduces the CPU model for z14, along with all base and optional features. Signed-off-by: Jason J. Herne Acked-by: Christian Borntraeger Signed-off-by: Christian Borntraeger --- target/s390x/cpu_models.c | 1 + target/s390x/gen-features.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index c654279a6c..e2ccc3252d 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -75,6 +75,7 @@ static S390CPUDef s390_cpu_defs[] = { CPUDEF_INIT(0x2964, 13, 1, 47, 0x08000000U, "z13", "IBM z13 GA1"), CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"), CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"), + CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"), }; void s390_cpudef_featoff(uint8_t gen, uint8_t ec_ga, S390Feat feat) diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c index af14b11199..cf69157610 100644 --- a/target/s390x/gen-features.c +++ b/target/s390x/gen-features.c @@ -338,6 +338,14 @@ static uint16_t base_GEN13_GA1[] = { #define base_GEN13_GA2 EmptyFeat +static uint16_t base_GEN14_GA1[] = { + S390_FEAT_ENTROPY_ENC_COMP, + S390_FEAT_MISC_INSTRUCTION_EXT, + S390_FEAT_SEMAPHORE_ASSIST, + S390_FEAT_TIME_SLICE_INSTRUMENTATION, + S390_FEAT_ORDER_PRESERVING_COMPRESSION, +}; + /* Full features (in order of release) * Automatically includes corresponding base features. * Full features are all features this hardware supports even if kvm/QEMU do not @@ -442,6 +450,22 @@ static uint16_t full_GEN13_GA1[] = { #define full_GEN13_GA2 EmptyFeat +static uint16_t full_GEN14_GA1[] = { + S390_FEAT_INSTRUCTION_EXEC_PROT, + S390_FEAT_GUARDED_STORAGE, + S390_FEAT_VECTOR_PACKED_DECIMAL, + S390_FEAT_VECTOR_ENH, + S390_FEAT_MULTIPLE_EPOCH, + S390_FEAT_TEST_PENDING_EXT_INTERRUPTION, + S390_FEAT_INSERT_REFERENCE_BITS_MULT, + S390_FEAT_GROUP_MSA_EXT_6, + S390_FEAT_GROUP_MSA_EXT_7, + S390_FEAT_GROUP_MSA_EXT_8, + S390_FEAT_CMM_NT, + S390_FEAT_HPMA2, + S390_FEAT_SIE_KSS, +}; + /* Default features (in order of release) * Automatically includes corresponding base features. * Default features are all features this version of QEMU supports for this @@ -502,6 +526,18 @@ static uint16_t default_GEN13_GA1[] = { #define default_GEN13_GA2 EmptyFeat +static uint16_t default_GEN14_GA1[] = { + S390_FEAT_ADAPTER_INT_SUPPRESSION, + S390_FEAT_INSTRUCTION_EXEC_PROT, + S390_FEAT_GUARDED_STORAGE, + S390_FEAT_VECTOR_PACKED_DECIMAL, + S390_FEAT_VECTOR_ENH, + S390_FEAT_GROUP_MSA_EXT_6, + S390_FEAT_GROUP_MSA_EXT_7, + S390_FEAT_GROUP_MSA_EXT_8, + S390_FEAT_SIE_KSS, +}; + /****** END FEATURE DEFS ******/ #define _YEARS "2016" @@ -559,6 +595,7 @@ static CpuFeatDefSpec CpuFeatDef[] = { CPU_FEAT_INITIALIZER(GEN12_GA2), CPU_FEAT_INITIALIZER(GEN13_GA1), CPU_FEAT_INITIALIZER(GEN13_GA2), + CPU_FEAT_INITIALIZER(GEN14_GA1), }; #define FEAT_GROUP_INITIALIZER(_name) \