diff options
| author | Alexander Potapenko <glider@google.com> | 2025-07-17 18:59:40 +0200 |
|---|---|---|
| committer | Alexander Potapenko <glider@google.com> | 2025-07-18 11:16:37 +0000 |
| commit | 61ca954c06b4688cfa57cdd896d9b6b9260b739d (patch) | |
| tree | 7abfddd9ec4df49ed6dd78ae3f099604f30b50d3 /sys | |
| parent | 85589c8591e4df86079d33868491f43974387302 (diff) | |
sys/linux/dev_kvm_amd64.txt: define KVM_MEMORY_ENCRYPT_REG_REGION and KVM_MEMORY_ENCRYPT_UNREG_REGION
See https://docs.kernel.org/virt/kvm/api.html#kvm-memory-encrypt-reg-region
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/linux/dev_kvm_amd64.txt | 14 | ||||
| -rw-r--r-- | sys/linux/dev_kvm_amd64.txt.const | 2 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sys/linux/dev_kvm_amd64.txt b/sys/linux/dev_kvm_amd64.txt index 0e1a27297..b97409a91 100644 --- a/sys/linux/dev_kvm_amd64.txt +++ b/sys/linux/dev_kvm_amd64.txt @@ -201,6 +201,11 @@ ioctl$KVM_SEV_SNP_LAUNCH_START(fd fd_kvmvm, cmd const[KVM_MEMORY_ENCRYPT_OP], ar ioctl$KVM_SEV_SNP_LAUNCH_UPDATE(fd fd_kvmvm, cmd const[KVM_MEMORY_ENCRYPT_OP], arg ptr[inout, kvm_memory_encrypt_op[KVM_SEV_SNP_LAUNCH_UPDATE, ptr[in, kvm_sev_snp_launch_update]]]) ioctl$KVM_SEV_SNP_LAUNCH_FINISH(fd fd_kvmvm, cmd const[KVM_MEMORY_ENCRYPT_OP], arg ptr[inout, kvm_memory_encrypt_op[KVM_SEV_SNP_LAUNCH_FINISH, ptr[in, kvm_sev_snp_launch_finish]]]) +# Apparently KVM_MEMORY_ENCRYPT_REG_REGION and KVM_MEMORY_ENCRYPT_UNREG_REGION are VM ioctls, despite +# https://docs.kernel.org/virt/kvm/api.html#kvm-memory-encrypt-reg-region says they are system. +ioctl$KVM_MEMORY_ENCRYPT_REG_REGION(fd fd_kvmvm, cmd const[KVM_MEMORY_ENCRYPT_REG_REGION], arg ptr[in, kvm_enc_region]) +ioctl$KVM_MEMORY_ENCRYPT_UNREG_REGION(fd fd_kvmvm, cmd const[KVM_MEMORY_ENCRYPT_UNREG_REGION], arg ptr[in, kvm_enc_region]) + type kvm_memory_encrypt_op[ID, DATA] { id const[ID, int32] data DATA @@ -355,6 +360,11 @@ kvm_sev_snp_launch_finish { pad1 array[const[0, int64], 4] } +kvm_enc_region { + addr flags[kvm_guest_addrs, int64] + size flags[kvm_guest_addr_size, int64] +} + #x86(-64) specific ioctls ioctl$KVM_GET_MSR_INDEX_LIST(fd fd_kvm, cmd const[KVM_GET_MSR_INDEX_LIST], arg ptr[inout, kvm_msr_list]) ioctl$KVM_GET_MSR_FEATURE_INDEX_LIST(fd fd_kvm, cmd const[KVM_GET_MSR_FEATURE_INDEX_LIST], arg ptr[inout, kvm_msr_list]) @@ -621,8 +631,8 @@ kvm_msr_filter_range { bitmap ptr[in, array[int8]] } -define KVM_MSR_FILTER_DEFAULT_ALLOW (0 << 0) -define KVM_MSR_FILTER_DEFAULT_DENY (1 << 0) +define KVM_MSR_FILTER_DEFAULT_ALLOW (0 << 0) +define KVM_MSR_FILTER_DEFAULT_DENY (1 << 0) kvm_msr_filter_flags = KVM_MSR_FILTER_DEFAULT_ALLOW, KVM_MSR_FILTER_DEFAULT_DENY kvm_msr_filter { diff --git a/sys/linux/dev_kvm_amd64.txt.const b/sys/linux/dev_kvm_amd64.txt.const index fe1c33f7c..708be34bf 100644 --- a/sys/linux/dev_kvm_amd64.txt.const +++ b/sys/linux/dev_kvm_amd64.txt.const @@ -76,6 +76,8 @@ KVM_IRQCHIP_PIC_SLAVE = 1 KVM_MAX_IRQ_ROUTES = 4096 KVM_MEMORY_ATTRIBUTE_PRIVATE = 8 KVM_MEMORY_ENCRYPT_OP = 386:3221532346, amd64:3221794490 +KVM_MEMORY_ENCRYPT_REG_REGION = 2148576955 +KVM_MEMORY_ENCRYPT_UNREG_REGION = 2148576956 KVM_MSR_EXIT_REASON_FILTER = 4 KVM_MSR_EXIT_REASON_INVAL = 1 KVM_MSR_EXIT_REASON_UNKNOWN = 2 |
