aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorJason J. Herne <jjherne@linux.vnet.ibm.com>2014-09-23 09:23:01 -0400
committerChristian Borntraeger <borntraeger@de.ibm.com>2015-03-17 11:33:06 -0400
commit30ee2a984f07b00895e0e01d78859b3aff9307c7 (patch)
treeee5c8b449a7030653bccb4829df374f969840328 /include/uapi/linux
parente44fc8c9dab215ac0e398622a05574cffd5f5184 (diff)
KVM: s390: Create ioctl for Getting/Setting guest storage keys
Provide the KVM_S390_GET_SKEYS and KVM_S390_SET_SKEYS ioctl which can be used to get/set guest storage keys. This functionality is needed for live migration of s390 guests that use storage keys. Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/kvm.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 57445ef88097..1162ef7a3fa1 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -147,6 +147,16 @@ struct kvm_pit_config {
147 147
148#define KVM_PIT_SPEAKER_DUMMY 1 148#define KVM_PIT_SPEAKER_DUMMY 1
149 149
150struct kvm_s390_skeys {
151 __u64 start_gfn;
152 __u64 count;
153 __u64 skeydata_addr;
154 __u32 flags;
155 __u32 reserved[9];
156};
157#define KVM_S390_GET_SKEYS_NONE 1
158#define KVM_S390_SKEYS_MAX 1048576
159
150#define KVM_EXIT_UNKNOWN 0 160#define KVM_EXIT_UNKNOWN 0
151#define KVM_EXIT_EXCEPTION 1 161#define KVM_EXIT_EXCEPTION 1
152#define KVM_EXIT_IO 2 162#define KVM_EXIT_IO 2
@@ -791,6 +801,7 @@ struct kvm_ppc_smmu_info {
791#define KVM_CAP_S390_VECTOR_REGISTERS 107 801#define KVM_CAP_S390_VECTOR_REGISTERS 107
792#define KVM_CAP_S390_MEM_OP 108 802#define KVM_CAP_S390_MEM_OP 108
793#define KVM_CAP_S390_USER_STSI 109 803#define KVM_CAP_S390_USER_STSI 109
804#define KVM_CAP_S390_SKEYS 110
794 805
795#ifdef KVM_CAP_IRQ_ROUTING 806#ifdef KVM_CAP_IRQ_ROUTING
796 807
@@ -1168,6 +1179,9 @@ struct kvm_s390_ucas_mapping {
1168#define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list) 1179#define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list)
1169/* Available with KVM_CAP_S390_MEM_OP */ 1180/* Available with KVM_CAP_S390_MEM_OP */
1170#define KVM_S390_MEM_OP _IOW(KVMIO, 0xb1, struct kvm_s390_mem_op) 1181#define KVM_S390_MEM_OP _IOW(KVMIO, 0xb1, struct kvm_s390_mem_op)
1182/* Available with KVM_CAP_S390_SKEYS */
1183#define KVM_S390_GET_SKEYS _IOW(KVMIO, 0xb2, struct kvm_s390_skeys)
1184#define KVM_S390_SET_SKEYS _IOW(KVMIO, 0xb3, struct kvm_s390_skeys)
1171 1185
1172#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) 1186#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
1173#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) 1187#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)