From Marc Zyngier, this branch enables virtual GIC and timer for KVM/ARM. * 'kvm-arm/timer' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms: ARM: KVM: arch_timers: Wire the init code and config option ARM: KVM: arch_timers: Add timer world switch ARM: KVM: arch_timers: Add guest timer core support ARM: KVM: Add VGIC configuration option ARM: KVM: VGIC initialisation code ARM: KVM: VGIC control interface world switch ARM: KVM: VGIC interrupt injection ARM: KVM: vgic: retire queued, disabled interrupts ARM: KVM: VGIC virtual CPU interface management ARM: KVM: VGIC distributor handling ARM: KVM: VGIC accept vcpu and dist base addresses from user space ARM: KVM: Initial VGIC infrastructure code ARM: KVM: Keep track of currently running vcpus KVM: ARM: Introduce KVM_ARM_SET_DEVICE_ADDR ioctl ARM: gic: add __ASSEMBLY__ guard to C definitions ARM: gic: define GICH offsets for VGIC support ARM: gic: add missing distributor defintions
Showing the changes to include/uapi/linux (1 of 18 files). Show all
Unified · Split
| @@ -637,6 +637,7 @@ struct kvm_ppc_smmu_info { · 636 unmodified lines | |||
| 637 | #define KVM_CAP_PPC_BOOKE_WATCHDOG 83 | 637 | #define KVM_CAP_PPC_BOOKE_WATCHDOG 83 |
| 638 | #define KVM_CAP_PPC_HTAB_FD 84 | 638 | #define KVM_CAP_PPC_HTAB_FD 84 |
| 639 | #define KVM_CAP_ARM_PSCI 87 | 639 | #define KVM_CAP_ARM_PSCI 87 |
| 640 | #define KVM_CAP_ARM_SET_DEVICE_ADDR 88 | ||
| 640 | 641 | ||
| 641 | #ifdef KVM_CAP_IRQ_ROUTING | 642 | #ifdef KVM_CAP_IRQ_ROUTING |
| 642 | 643 | ||
| @@ -784,6 +785,11 @@ struct kvm_msi { · 141 unmodified lines | |||
| 784 | __u8 pad[16]; | 785 | __u8 pad[16]; |
| 785 | }; | 786 | }; |
| 786 | 787 | ||
| 788 | struct kvm_arm_device_addr { | ||
| 789 | __u64 id; | ||
| 790 | __u64 addr; | ||
| 791 | }; | ||
| 792 | |||
| 787 | /* | 793 | /* |
| 788 | * ioctls for VM fds | 794 | * ioctls for VM fds |
| 789 | */ | 795 | */ |
| @@ -869,6 +875,8 @@ struct kvm_s390_ucas_mapping { · 79 unmodified lines | |||
| 869 | #define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) | 875 | #define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) |
| 870 | /* Available with KVM_CAP_PPC_HTAB_FD */ | 876 | /* Available with KVM_CAP_PPC_HTAB_FD */ |
| 871 | #define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd) | 877 | #define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd) |
| 878 | /* Available with KVM_CAP_ARM_SET_DEVICE_ADDR */ | ||
| 879 | #define KVM_ARM_SET_DEVICE_ADDR _IOW(KVMIO, 0xab, struct kvm_arm_device_addr) | ||
| 872 | 880 | ||
| 873 | /* | 881 | /* |
| 874 | * ioctls for vcpu fds | 882 | * ioctls for vcpu fds |