If hardware supports memory encryption then KVM_MEMORY_ENCRYPT_REG_REGION and KVM_MEMORY_ENCRYPT_UNREG_REGION ioctl's can be used by userspace to register/unregister the guest memory regions which may contain the encrypted data (e.g guest RAM, PCI BAR, SMRAM etc).
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -1361,6 +1361,14 @@ struct kvm_s390_ucas_mapping { · 1360 unmodified lines | |||
| 1361 | /* Memory Encryption Commands */ | 1361 | /* Memory Encryption Commands */ |
| 1362 | #define KVM_MEMORY_ENCRYPT_OP _IOWR(KVMIO, 0xba, unsigned long) | 1362 | #define KVM_MEMORY_ENCRYPT_OP _IOWR(KVMIO, 0xba, unsigned long) |
| 1363 | 1363 | ||
| 1364 | struct kvm_enc_region { | ||
| 1365 | __u64 addr; | ||
| 1366 | __u64 size; | ||
| 1367 | }; | ||
| 1368 | |||
| 1369 | #define KVM_MEMORY_ENCRYPT_REG_REGION _IOR(KVMIO, 0xbb, struct kvm_enc_region) | ||
| 1370 | #define KVM_MEMORY_ENCRYPT_UNREG_REGION _IOR(KVMIO, 0xbc, struct kvm_enc_region) | ||
| 1371 | |||
| 1364 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | 1372 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
| 1365 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) | 1373 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) |
| 1366 | #define KVM_DEV_ASSIGN_MASK_INTX (1 << 2) | 1374 | #define KVM_DEV_ASSIGN_MASK_INTX (1 << 2) |