s390: kvm: Cpu model support for msa6, msa7 and msa8
msa6 and msa7 require no changes. msa8 adds kma instruction and feature area. Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
0850e9219b
commit
e000b8e096
@ -140,7 +140,8 @@ struct kvm_s390_vm_cpu_subfunc {
|
|||||||
u8 kmo[16]; # valid with Message-Security-Assist-Extension 4
|
u8 kmo[16]; # valid with Message-Security-Assist-Extension 4
|
||||||
u8 pcc[16]; # valid with Message-Security-Assist-Extension 4
|
u8 pcc[16]; # valid with Message-Security-Assist-Extension 4
|
||||||
u8 ppno[16]; # valid with Message-Security-Assist-Extension 5
|
u8 ppno[16]; # valid with Message-Security-Assist-Extension 5
|
||||||
u8 reserved[1824]; # reserved for future instructions
|
u8 kma[16]; # valid with Message-Security-Assist-Extension 8
|
||||||
|
u8 reserved[1808]; # reserved for future instructions
|
||||||
};
|
};
|
||||||
|
|
||||||
Parameters: address of a buffer to load the subfunction blocks from.
|
Parameters: address of a buffer to load the subfunction blocks from.
|
||||||
|
@ -141,7 +141,8 @@ struct kvm_s390_vm_cpu_subfunc {
|
|||||||
__u8 kmo[16]; /* with MSA4 */
|
__u8 kmo[16]; /* with MSA4 */
|
||||||
__u8 pcc[16]; /* with MSA4 */
|
__u8 pcc[16]; /* with MSA4 */
|
||||||
__u8 ppno[16]; /* with MSA5 */
|
__u8 ppno[16]; /* with MSA5 */
|
||||||
__u8 reserved[1824];
|
__u8 kma[16]; /* with MSA8 */
|
||||||
|
__u8 reserved[1808];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* kvm attributes for crypto */
|
/* kvm attributes for crypto */
|
||||||
|
@ -276,6 +276,10 @@ static void kvm_s390_cpu_feat_init(void)
|
|||||||
__cpacf_query(CPACF_PPNO, (cpacf_mask_t *)
|
__cpacf_query(CPACF_PPNO, (cpacf_mask_t *)
|
||||||
kvm_s390_available_subfunc.ppno);
|
kvm_s390_available_subfunc.ppno);
|
||||||
|
|
||||||
|
if (test_facility(146)) /* MSA8 */
|
||||||
|
__cpacf_query(CPACF_KMA, (cpacf_mask_t *)
|
||||||
|
kvm_s390_available_subfunc.kma);
|
||||||
|
|
||||||
if (MACHINE_HAS_ESOP)
|
if (MACHINE_HAS_ESOP)
|
||||||
allow_cpu_feat(KVM_S390_VM_CPU_FEAT_ESOP);
|
allow_cpu_feat(KVM_S390_VM_CPU_FEAT_ESOP);
|
||||||
/*
|
/*
|
||||||
|
@ -82,6 +82,7 @@ static struct facility_def facility_defs[] = {
|
|||||||
78, /* enhanced-DAT 2 */
|
78, /* enhanced-DAT 2 */
|
||||||
130, /* instruction-execution-protection */
|
130, /* instruction-execution-protection */
|
||||||
131, /* enhanced-SOP 2 and side-effect */
|
131, /* enhanced-SOP 2 and side-effect */
|
||||||
|
146, /* msa extension 8 */
|
||||||
-1 /* END */
|
-1 /* END */
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -131,7 +131,8 @@ struct kvm_s390_vm_cpu_subfunc {
|
|||||||
__u8 kmo[16]; /* with MSA4 */
|
__u8 kmo[16]; /* with MSA4 */
|
||||||
__u8 pcc[16]; /* with MSA4 */
|
__u8 pcc[16]; /* with MSA4 */
|
||||||
__u8 ppno[16]; /* with MSA5 */
|
__u8 ppno[16]; /* with MSA5 */
|
||||||
__u8 reserved[1824];
|
__u8 kma[16]; /* with MSA8 */
|
||||||
|
__u8 reserved[1808];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* kvm attributes for crypto */
|
/* kvm attributes for crypto */
|
||||||
|
Loading…
Reference in New Issue
Block a user