aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2025-07-17 18:59:40 +0200
committerAlexander Potapenko <glider@google.com>2025-07-18 11:16:37 +0000
commit61ca954c06b4688cfa57cdd896d9b6b9260b739d (patch)
tree7abfddd9ec4df49ed6dd78ae3f099604f30b50d3 /sys
parent85589c8591e4df86079d33868491f43974387302 (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.txt14
-rw-r--r--sys/linux/dev_kvm_amd64.txt.const2
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