diff options
Diffstat (limited to 'include/uapi')
| -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 74d0ff3dfd6..d4005192ad6 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h @@ -579,9 +579,7 @@ struct kvm_ppc_smmu_info {  #ifdef __KVM_HAVE_PIT  #define KVM_CAP_REINJECT_CONTROL 24  #endif -#ifdef __KVM_HAVE_IOAPIC  #define KVM_CAP_IRQ_ROUTING 25 -#endif  #define KVM_CAP_IRQ_INJECT_STATUS 26  #ifdef __KVM_HAVE_DEVICE_ASSIGNMENT  #define KVM_CAP_DEVICE_DEASSIGNMENT 27 @@ -668,6 +666,9 @@ struct kvm_ppc_smmu_info {  #define KVM_CAP_PPC_EPR 86  #define KVM_CAP_ARM_PSCI 87  #define KVM_CAP_ARM_SET_DEVICE_ADDR 88 +#define KVM_CAP_DEVICE_CTRL 89 +#define KVM_CAP_IRQ_MPIC 90 +#define KVM_CAP_PPC_RTAS 91  #ifdef KVM_CAP_IRQ_ROUTING @@ -821,6 +822,27 @@ struct kvm_arm_device_addr {  };  /* + * Device control API, available with KVM_CAP_DEVICE_CTRL + */ +#define KVM_CREATE_DEVICE_TEST		1 + +struct kvm_create_device { +	__u32	type;	/* in: KVM_DEV_TYPE_xxx */ +	__u32	fd;	/* out: device handle */ +	__u32	flags;	/* in: KVM_CREATE_DEVICE_xxx */ +}; + +struct kvm_device_attr { +	__u32	flags;		/* no flags currently defined */ +	__u32	group;		/* device-defined */ +	__u64	attr;		/* group-defined */ +	__u64	addr;		/* userspace address of attr data */ +}; + +#define KVM_DEV_TYPE_FSL_MPIC_20	1 +#define KVM_DEV_TYPE_FSL_MPIC_42	2 + +/*   * ioctls for VM fds   */  #define KVM_SET_MEMORY_REGION     _IOW(KVMIO,  0x40, struct kvm_memory_region) @@ -907,6 +929,16 @@ struct kvm_s390_ucas_mapping {  #define KVM_PPC_GET_HTAB_FD	  _IOW(KVMIO,  0xaa, struct kvm_get_htab_fd)  /* Available with KVM_CAP_ARM_SET_DEVICE_ADDR */  #define KVM_ARM_SET_DEVICE_ADDR	  _IOW(KVMIO,  0xab, struct kvm_arm_device_addr) +/* Available with KVM_CAP_PPC_RTAS */ +#define KVM_PPC_RTAS_DEFINE_TOKEN _IOW(KVMIO,  0xac, struct kvm_rtas_token_args) + +/* ioctl for vm fd */ +#define KVM_CREATE_DEVICE	  _IOWR(KVMIO,  0xe0, struct kvm_create_device) + +/* ioctls for fds returned by KVM_CREATE_DEVICE */ +#define KVM_SET_DEVICE_ATTR	  _IOW(KVMIO,  0xe1, struct kvm_device_attr) +#define KVM_GET_DEVICE_ATTR	  _IOW(KVMIO,  0xe2, struct kvm_device_attr) +#define KVM_HAS_DEVICE_ATTR	  _IOW(KVMIO,  0xe3, struct kvm_device_attr)  /*   * ioctls for vcpu fds  |