From 85589c8591e4df86079d33868491f43974387302 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Thu, 17 Jul 2025 18:35:35 +0200 Subject: sys/linux/dev_kvm_amd64.txt: define KVM_X86_SET_MSR_FILTER See https://docs.kernel.org/virt/kvm/api.html#kvm-x86-set-msr-filter --- sys/linux/dev_kvm_amd64.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'sys/linux/dev_kvm_amd64.txt') diff --git a/sys/linux/dev_kvm_amd64.txt b/sys/linux/dev_kvm_amd64.txt index 25d3eae00..0e1a27297 100644 --- a/sys/linux/dev_kvm_amd64.txt +++ b/sys/linux/dev_kvm_amd64.txt @@ -376,6 +376,7 @@ ioctl$KVM_SET_NR_MMU_PAGES(fd fd_kvmvm, cmd const[KVM_SET_NR_MMU_PAGES], arg int ioctl$KVM_GET_NR_MMU_PAGES(fd fd_kvmvm, cmd const[KVM_GET_NR_MMU_PAGES], arg intptr) ioctl$KVM_REINJECT_CONTROL(fd fd_kvmvm, cmd const[KVM_REINJECT_CONTROL], arg ptr[in, kvm_reinject_control]) ioctl$KVM_HYPERV_EVENTFD(fd fd_kvmvm, cmd const[KVM_HYPERV_EVENTFD], arg ptr[in, kvm_hyperv_eventfd]) +ioctl$KVM_X86_SET_MSR_FILTER(fd fd_kvmvm, cmd const[KVM_X86_SET_MSR_FILTER], arg ptr[in, kvm_msr_filter]) # Defined by include/linux/kvm_host.h, but for some reason wouldn't extract. define KVM_MAX_IRQ_ROUTES 4096 @@ -611,6 +612,24 @@ kvm_hyperv_eventfd { padding array[const[0, int32], 3] } +kvm_msr_filter_range_flags = KVM_MSR_FILTER_READ, KVM_MSR_FILTER_WRITE + +kvm_msr_filter_range { + flags flags[kvm_msr_filter_range_flags, int32] + nmsrs bitsize[bitmap, int32] + base int32 + bitmap ptr[in, array[int8]] +} + +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 { + flags flags[kvm_msr_filter_flags, int32] + ranges array[kvm_msr_filter_range, KVM_MSR_FILTER_MAX_RANGES] +} + kvm_fpu { fpr array[const[0, int64], 16] fcw int16 -- cgit mrf-deployment