From 6632e0eb1ecd3776993a79459a8b5ed277ec0a59 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Fri, 9 Aug 2024 10:45:40 +0200 Subject: sys/linux: add ARM VGIC device groups/attributes Do not specify the attribute input types for now. --- sys/linux/dev_kvm.txt | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'sys/linux/dev_kvm.txt') diff --git a/sys/linux/dev_kvm.txt b/sys/linux/dev_kvm.txt index c1278a177..f3b6932a4 100644 --- a/sys/linux/dev_kvm.txt +++ b/sys/linux/dev_kvm.txt @@ -435,16 +435,35 @@ kvm_reg_list { reg array[int64] } -kvm_device_attr { +kvm_device_attr [ + attr_arm64 kvm_device_attr_arm64 + attr_other kvm_device_attr_generic +] + +kvm_device_attr_generic { flags const[0, int32] group int32 attr int64 addr ptr64[in, int64] } +kvm_device_attr_arm64 { + flags const[0, int32] + group flags[kvm_device_attr_arm64_groups, int32] + attr flags[kvm_device_attr_arm64_attrs, int64] + addr ptr64[in, int64] +} + +# Assorted device attributes from +# - https://docs.kernel.org/virt/kvm/devices/arm-vgic-its.html, +# - https://docs.kernel.org/virt/kvm/devices/arm-vgic.html, +# - https://docs.kernel.org/virt/kvm/devices/arm-vgic-v3.html +kvm_device_attr_arm64_groups = KVM_DEV_ARM_VGIC_GRP_ADDR, KVM_DEV_ARM_VGIC_GRP_DIST_REGS, KVM_DEV_ARM_VGIC_GRP_CPU_REGS, KVM_DEV_ARM_VGIC_GRP_NR_IRQS, KVM_DEV_ARM_VGIC_GRP_CTRL, KVM_DEV_ARM_VGIC_GRP_REDIST_REGS, KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS, KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO, KVM_DEV_ARM_VGIC_GRP_ITS_REGS +kvm_device_attr_arm64_attrs = 0, KVM_VGIC_ITS_ADDR_TYPE, KVM_VGIC_V2_ADDR_TYPE_DIST, KVM_VGIC_V2_ADDR_TYPE_CPU, KVM_VGIC_V3_ADDR_TYPE_DIST, KVM_VGIC_V3_ADDR_TYPE_REDIST, KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION, KVM_DEV_ARM_VGIC_CTRL_INIT, KVM_DEV_ARM_ITS_CTRL_RESET, KVM_DEV_ARM_ITS_SAVE_TABLES, KVM_DEV_ARM_ITS_RESTORE_TABLES, KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES + kvm_device_attr_vm [ attr_arm64 kvm_device_attr_vm_arm64 - attr_other kvm_device_attr + attr_other kvm_device_attr_generic ] kvm_device_attr_vcpu [ @@ -454,7 +473,7 @@ kvm_device_attr_vcpu [ attr_set_pmu kvm_vcpu_attr_set_pmu attr_irq_timer kvm_vcpu_attr_irq_timer attr_pvtime_ipa kvm_vcpu_attr_pvtime_ipa - attr_other kvm_device_attr + attr_other kvm_device_attr_generic ] kvm_vm_attr_group_arm64 = KVM_ARM_VM_SMCCC_CTRL -- cgit mrf-deployment