On Wed, Sep 18, 2013 at 04:41:44PM +0200, Andrew Jones wrote: > Signed-off-by: Andrew Jones <drjo...@redhat.com>
Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> > --- > linux-headers/asm-x86/kvm_para.h | 1 + > linux-headers/linux/kvm.h | 1 + > linux-headers/linux/kvm_para.h | 1 + > linux-headers/linux/vfio.h | 38 ++++++++++++++++++++++++++++++++++++++ > 4 files changed, 41 insertions(+) > > diff --git a/linux-headers/asm-x86/kvm_para.h > b/linux-headers/asm-x86/kvm_para.h > index a1c3d72acd0eb..e41c5c1a28dae 100644 > --- a/linux-headers/asm-x86/kvm_para.h > +++ b/linux-headers/asm-x86/kvm_para.h > @@ -23,6 +23,7 @@ > #define KVM_FEATURE_ASYNC_PF 4 > #define KVM_FEATURE_STEAL_TIME 5 > #define KVM_FEATURE_PV_EOI 6 > +#define KVM_FEATURE_PV_UNHALT 7 > > /* The last 8 bits are used to indicate how to interpret the flags field > * in pvclock structure. If no bits are set, all flags are ignored. > diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h > index 56fce1c400b14..13e890c53b110 100644 > --- a/linux-headers/linux/kvm.h > +++ b/linux-headers/linux/kvm.h > @@ -667,6 +667,7 @@ struct kvm_ppc_smmu_info { > #define KVM_CAP_PPC_RTAS 91 > #define KVM_CAP_IRQ_XICS 92 > #define KVM_CAP_ARM_EL1_32BIT 93 > +#define KVM_CAP_SPAPR_MULTITCE 94 > > #ifdef KVM_CAP_IRQ_ROUTING > > diff --git a/linux-headers/linux/kvm_para.h b/linux-headers/linux/kvm_para.h > index 7bdcf93c1dba4..2dff7838b4398 100644 > --- a/linux-headers/linux/kvm_para.h > +++ b/linux-headers/linux/kvm_para.h > @@ -19,6 +19,7 @@ > #define KVM_HC_MMU_OP 2 > #define KVM_HC_FEATURES 3 > #define KVM_HC_PPC_MAP_MAGIC_PAGE 4 > +#define KVM_HC_KICK_CPU 5 > > /* > * hypercalls use architecture specific > diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h > index b42b9abd0e05a..17c58e0ede420 100644 > --- a/linux-headers/linux/vfio.h > +++ b/linux-headers/linux/vfio.h > @@ -324,6 +324,44 @@ enum { > VFIO_PCI_NUM_IRQS > }; > > +/** > + * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12, > + * struct vfio_pci_hot_reset_info) > + * > + * Return: 0 on success, -errno on failure: > + * -enospc = insufficient buffer, -enodev = unsupported for device. > + */ > +struct vfio_pci_dependent_device { > + __u32 group_id; > + __u16 segment; > + __u8 bus; > + __u8 devfn; /* Use PCI_SLOT/PCI_FUNC */ > +}; > + > +struct vfio_pci_hot_reset_info { > + __u32 argsz; > + __u32 flags; > + __u32 count; > + struct vfio_pci_dependent_device devices[]; > +}; > + > +#define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) > + > +/** > + * VFIO_DEVICE_PCI_HOT_RESET - _IOW(VFIO_TYPE, VFIO_BASE + 13, > + * struct vfio_pci_hot_reset) > + * > + * Return: 0 on success, -errno on failure. > + */ > +struct vfio_pci_hot_reset { > + __u32 argsz; > + __u32 flags; > + __u32 count; > + __s32 group_fds[]; > +}; > + > +#define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13) > + > /* -------- API for Type1 VFIO IOMMU -------- */ > > /** > -- > 1.8.1.4 > > -- Eduardo