aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/dev_kvm.txt
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2024-08-09 10:45:40 +0200
committerAlexander Potapenko <glider@google.com>2024-09-03 12:16:36 +0000
commit6632e0eb1ecd3776993a79459a8b5ed277ec0a59 (patch)
tree81581dcdf9e9a67d5ab3b6067a40fa11b639feaa /sys/linux/dev_kvm.txt
parent63c1a4dfb5943c5af91e42a16bf3953757c8e05d (diff)
sys/linux: add ARM VGIC device groups/attributes
Do not specify the attribute input types for now.
Diffstat (limited to 'sys/linux/dev_kvm.txt')
-rw-r--r--sys/linux/dev_kvm.txt25
1 files changed, 22 insertions, 3 deletions
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