diff options
| author | Alexander Potapenko <glider@google.com> | 2024-08-09 10:45:40 +0200 |
|---|---|---|
| committer | Alexander Potapenko <glider@google.com> | 2024-09-03 12:16:36 +0000 |
| commit | 6632e0eb1ecd3776993a79459a8b5ed277ec0a59 (patch) | |
| tree | 81581dcdf9e9a67d5ab3b6067a40fa11b639feaa /sys/linux | |
| parent | 63c1a4dfb5943c5af91e42a16bf3953757c8e05d (diff) | |
sys/linux: add ARM VGIC device groups/attributes
Do not specify the attribute input types for now.
Diffstat (limited to 'sys/linux')
| -rw-r--r-- | sys/linux/dev_kvm.txt | 25 | ||||
| -rw-r--r-- | sys/linux/dev_kvm.txt.const | 20 |
2 files changed, 42 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 diff --git a/sys/linux/dev_kvm.txt.const b/sys/linux/dev_kvm.txt.const index 1a0ae35d0..7a2d9fa82 100644 --- a/sys/linux/dev_kvm.txt.const +++ b/sys/linux/dev_kvm.txt.const @@ -67,6 +67,20 @@ KVM_CREATE_VCPU = 44609, mips64le:ppc64le:536915521 KVM_CREATE_VM = 44545, mips64le:ppc64le:536915457 KVM_DEASSIGN_DEV_IRQ = 1077980789 KVM_DEASSIGN_PCI_DEVICE = 1077980786 +KVM_DEV_ARM_ITS_CTRL_RESET = 386:amd64:mips64le:ppc64le:s390x:???, arm64:4 +KVM_DEV_ARM_ITS_RESTORE_TABLES = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2 +KVM_DEV_ARM_ITS_SAVE_TABLES = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1 +KVM_DEV_ARM_VGIC_CTRL_INIT = 386:amd64:mips64le:ppc64le:s390x:???, arm64:0 +KVM_DEV_ARM_VGIC_GRP_ADDR = 386:amd64:mips64le:ppc64le:s390x:???, arm64:0 +KVM_DEV_ARM_VGIC_GRP_CPU_REGS = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2 +KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS = 386:amd64:mips64le:ppc64le:s390x:???, arm64:6 +KVM_DEV_ARM_VGIC_GRP_CTRL = 386:amd64:mips64le:ppc64le:s390x:???, arm64:4 +KVM_DEV_ARM_VGIC_GRP_DIST_REGS = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1 +KVM_DEV_ARM_VGIC_GRP_ITS_REGS = 386:amd64:mips64le:ppc64le:s390x:???, arm64:8 +KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO = 386:amd64:mips64le:ppc64le:s390x:???, arm64:7 +KVM_DEV_ARM_VGIC_GRP_NR_IRQS = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3 +KVM_DEV_ARM_VGIC_GRP_REDIST_REGS = 386:amd64:mips64le:ppc64le:s390x:???, arm64:5 +KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3 KVM_DEV_TYPE_ARM_PV_TIME = 10 KVM_DEV_TYPE_ARM_VGIC_ITS = 8 KVM_DEV_TYPE_ARM_VGIC_V2 = 5 @@ -222,6 +236,12 @@ KVM_STATE_NESTED_SMM_VMXON = 2, arm64:mips64le:ppc64le:s390x:??? KVM_TPR_ACCESS_REPORTING = 3223891602 KVM_TRANSLATE = 3222843013 KVM_UNREGISTER_COALESCED_MMIO = 1074835048, mips64le:ppc64le:2148576872 +KVM_VGIC_ITS_ADDR_TYPE = 386:amd64:mips64le:ppc64le:s390x:???, arm64:4 +KVM_VGIC_V2_ADDR_TYPE_CPU = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1 +KVM_VGIC_V2_ADDR_TYPE_DIST = 386:amd64:mips64le:ppc64le:s390x:???, arm64:0 +KVM_VGIC_V3_ADDR_TYPE_DIST = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2 +KVM_VGIC_V3_ADDR_TYPE_REDIST = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3 +KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION = 386:amd64:mips64le:ppc64le:s390x:???, arm64:5 KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK = 2, arm64:mips64le:ppc64le:s390x:??? KVM_X2APIC_API_USE_32BIT_IDS = 1, arm64:mips64le:ppc64le:s390x:??? KVM_X86_DISABLE_EXITS_CSTATE = 8 |
