diff options
Diffstat (limited to 'include/uapi/linux/kvm.h')
-rw-r--r-- | include/uapi/linux/kvm.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 74d0ff3dfd66..d4005192ad6e 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h | |||
@@ -579,9 +579,7 @@ struct kvm_ppc_smmu_info { | |||
579 | #ifdef __KVM_HAVE_PIT | 579 | #ifdef __KVM_HAVE_PIT |
580 | #define KVM_CAP_REINJECT_CONTROL 24 | 580 | #define KVM_CAP_REINJECT_CONTROL 24 |
581 | #endif | 581 | #endif |
582 | #ifdef __KVM_HAVE_IOAPIC | ||
583 | #define KVM_CAP_IRQ_ROUTING 25 | 582 | #define KVM_CAP_IRQ_ROUTING 25 |
584 | #endif | ||
585 | #define KVM_CAP_IRQ_INJECT_STATUS 26 | 583 | #define KVM_CAP_IRQ_INJECT_STATUS 26 |
586 | #ifdef __KVM_HAVE_DEVICE_ASSIGNMENT | 584 | #ifdef __KVM_HAVE_DEVICE_ASSIGNMENT |
587 | #define KVM_CAP_DEVICE_DEASSIGNMENT 27 | 585 | #define KVM_CAP_DEVICE_DEASSIGNMENT 27 |
@@ -668,6 +666,9 @@ struct kvm_ppc_smmu_info { | |||
668 | #define KVM_CAP_PPC_EPR 86 | 666 | #define KVM_CAP_PPC_EPR 86 |
669 | #define KVM_CAP_ARM_PSCI 87 | 667 | #define KVM_CAP_ARM_PSCI 87 |
670 | #define KVM_CAP_ARM_SET_DEVICE_ADDR 88 | 668 | #define KVM_CAP_ARM_SET_DEVICE_ADDR 88 |
669 | #define KVM_CAP_DEVICE_CTRL 89 | ||
670 | #define KVM_CAP_IRQ_MPIC 90 | ||
671 | #define KVM_CAP_PPC_RTAS 91 | ||
671 | 672 | ||
672 | #ifdef KVM_CAP_IRQ_ROUTING | 673 | #ifdef KVM_CAP_IRQ_ROUTING |
673 | 674 | ||
@@ -821,6 +822,27 @@ struct kvm_arm_device_addr { | |||
821 | }; | 822 | }; |
822 | 823 | ||
823 | /* | 824 | /* |
825 | * Device control API, available with KVM_CAP_DEVICE_CTRL | ||
826 | */ | ||
827 | #define KVM_CREATE_DEVICE_TEST 1 | ||
828 | |||
829 | struct kvm_create_device { | ||
830 | __u32 type; /* in: KVM_DEV_TYPE_xxx */ | ||
831 | __u32 fd; /* out: device handle */ | ||
832 | __u32 flags; /* in: KVM_CREATE_DEVICE_xxx */ | ||
833 | }; | ||
834 | |||
835 | struct kvm_device_attr { | ||
836 | __u32 flags; /* no flags currently defined */ | ||
837 | __u32 group; /* device-defined */ | ||
838 | __u64 attr; /* group-defined */ | ||
839 | __u64 addr; /* userspace address of attr data */ | ||
840 | }; | ||
841 | |||
842 | #define KVM_DEV_TYPE_FSL_MPIC_20 1 | ||
843 | #define KVM_DEV_TYPE_FSL_MPIC_42 2 | ||
844 | |||
845 | /* | ||
824 | * ioctls for VM fds | 846 | * ioctls for VM fds |
825 | */ | 847 | */ |
826 | #define KVM_SET_MEMORY_REGION _IOW(KVMIO, 0x40, struct kvm_memory_region) | 848 | #define KVM_SET_MEMORY_REGION _IOW(KVMIO, 0x40, struct kvm_memory_region) |
@@ -907,6 +929,16 @@ struct kvm_s390_ucas_mapping { | |||
907 | #define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd) | 929 | #define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd) |
908 | /* Available with KVM_CAP_ARM_SET_DEVICE_ADDR */ | 930 | /* Available with KVM_CAP_ARM_SET_DEVICE_ADDR */ |
909 | #define KVM_ARM_SET_DEVICE_ADDR _IOW(KVMIO, 0xab, struct kvm_arm_device_addr) | 931 | #define KVM_ARM_SET_DEVICE_ADDR _IOW(KVMIO, 0xab, struct kvm_arm_device_addr) |
932 | /* Available with KVM_CAP_PPC_RTAS */ | ||
933 | #define KVM_PPC_RTAS_DEFINE_TOKEN _IOW(KVMIO, 0xac, struct kvm_rtas_token_args) | ||
934 | |||
935 | /* ioctl for vm fd */ | ||
936 | #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device) | ||
937 | |||
938 | /* ioctls for fds returned by KVM_CREATE_DEVICE */ | ||
939 | #define KVM_SET_DEVICE_ATTR _IOW(KVMIO, 0xe1, struct kvm_device_attr) | ||
940 | #define KVM_GET_DEVICE_ATTR _IOW(KVMIO, 0xe2, struct kvm_device_attr) | ||
941 | #define KVM_HAS_DEVICE_ATTR _IOW(KVMIO, 0xe3, struct kvm_device_attr) | ||
910 | 942 | ||
911 | /* | 943 | /* |
912 | * ioctls for vcpu fds | 944 | * ioctls for vcpu fds |