summaryrefslogtreecommitdiffstats
path: root/arch/s390/include
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2016-08-16 10:31:10 +0200
committerChristian Borntraeger <borntraeger@de.ibm.com>2016-08-25 22:47:03 +0200
commitf6c1d359be6bb0aa0715b4b75d9ecf63bdb07c4a (patch)
treecddb8bfaccaecdaf7f7a0d2eeadd5e3156948bd6 /arch/s390/include
parent29b4817d4018df78086157ea3a55c1d9424a7cfc (diff)
downloadlinux-f6c1d359be6bb0aa0715b4b75d9ecf63bdb07c4a.tar.gz
linux-f6c1d359be6bb0aa0715b4b75d9ecf63bdb07c4a.tar.bz2
linux-f6c1d359be6bb0aa0715b4b75d9ecf63bdb07c4a.zip
KVM: s390: generate facility mask from readable list
Automatically generate the KVM facility mask out of a readable list. Manually changing the masks is very error prone, especially if the special IBM bit numbering has to be considered. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r--arch/s390/include/asm/facilities_src.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/s390/include/asm/facilities_src.h b/arch/s390/include/asm/facilities_src.h
index 4917728e5828..3b758f66e48b 100644
--- a/arch/s390/include/asm/facilities_src.h
+++ b/arch/s390/include/asm/facilities_src.h
@@ -55,4 +55,28 @@ static struct facility_def facility_defs[] = {
-1 /* END */
}
},
+ {
+ .name = "FACILITIES_KVM",
+ .bits = (int[]){
+ 0, /* N3 instructions */
+ 1, /* z/Arch mode installed */
+ 2, /* z/Arch mode active */
+ 3, /* DAT-enhancement */
+ 4, /* idte segment table */
+ 5, /* idte region table */
+ 6, /* ASN-and-LX reuse */
+ 7, /* stfle */
+ 8, /* enhanced-DAT 1 */
+ 9, /* sense-running-status */
+ 10, /* conditional sske */
+ 13, /* ipte-range */
+ 14, /* nonquiescing key-setting */
+ 73, /* transactional execution */
+ 75, /* access-exception-fetch/store indication */
+ 76, /* msa extension 3 */
+ 77, /* msa extension 4 */
+ 78, /* enhanced-DAT 2 */
+ -1 /* END */
+ }
+ },
};