Message ID | 20111204182555.28487.78641.sendpatchset@oc5400248562.ibm.com |
---|---|
State | New |
Headers | show |
On 04.12.2011, at 19:25, Raghavendra K T wrote: > Update the kvm kernel headers to the 3.2.0-rc1 post using > scripts/update-linux-headers.sh script. > > Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> > --- > diff --git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h > index fb3fddc..08fe69e 100644 > --- a/linux-headers/asm-powerpc/kvm.h > +++ b/linux-headers/asm-powerpc/kvm.h > @@ -149,6 +149,12 @@ struct kvm_regs { > #define KVM_SREGS_E_UPDATE_DBSR (1 << 3) > > /* > + * Book3S special bits to indicate contents in the struct by maintaining > + * backwards compatibility with older structs. If adding a new field, > + * please make sure to add a flag for that new field */ > +#define KVM_SREGS_S_HIOR (1 << 0) > + > +/* > * In KVM_SET_SREGS, reserved/pad fields must be left untouched from a > * previous KVM_GET_REGS. > * > @@ -170,9 +176,11 @@ struct kvm_sregs { > } ppc64; > struct { > __u32 sr[16]; > - __u64 ibat[8]; > - __u64 dbat[8]; > + __u64 ibat[8]; > + __u64 dbat[8]; > } ppc32; > + __u64 flags; /* KVM_SREGS_S_ */ > + __u64 hior; > } s; > struct { > union { > @@ -292,41 +300,4 @@ struct kvm_allocate_rma { > __u64 rma_size; > }; > > -struct kvm_book3e_206_tlb_entry { > - __u32 mas8; > - __u32 mas1; > - __u64 mas2; > - __u64 mas7_3; > -}; > - > -struct kvm_book3e_206_tlb_params { > - /* > - * For mmu types KVM_MMU_FSL_BOOKE_NOHV and KVM_MMU_FSL_BOOKE_HV: > - * > - * - The number of ways of TLB0 must be a power of two between 2 and > - * 16. > - * - TLB1 must be fully associative. > - * - The size of TLB0 must be a multiple of the number of ways, and > - * the number of sets must be a power of two. > - * - The size of TLB1 may not exceed 64 entries. > - * - TLB0 supports 4 KiB pages. > - * - The page sizes supported by TLB1 are as indicated by > - * TLB1CFG (if MMUCFG[MAVN] = 0) or TLB1PS (if MMUCFG[MAVN] = 1) > - * as returned by KVM_GET_SREGS. > - * - TLB2 and TLB3 are reserved, and their entries in tlb_sizes[] > - * and tlb_ways[] must be zero. > - * > - * tlb_ways[n] = tlb_sizes[n] means the array is fully associative. > - * > - * KVM will adjust TLBnCFG based on the sizes configured here, > - * though arrays greater than 2048 entries will have TLBnCFG[NENTRY] > - * set to zero. > - */ > - __u32 tlb_sizes[4]; > - __u32 tlb_ways[4]; > - __u32 reserved[8]; > -}; > - > -#define KVM_ONE_REG_PPC_HIOR KVM_ONE_REG_PPC | 0x100 > - > #endif /* __LINUX_KVM_POWERPC_H */ > diff --git a/linux-headers/asm-x86/hyperv.h b/linux-headers/asm-x86/hyperv.h > index 5df477a..b80420b 100644 > --- a/linux-headers/asm-x86/hyperv.h > +++ b/linux-headers/asm-x86/hyperv.h > @@ -189,5 +189,6 @@ > #define HV_STATUS_INVALID_HYPERCALL_CODE 2 > #define HV_STATUS_INVALID_HYPERCALL_INPUT 3 > #define HV_STATUS_INVALID_ALIGNMENT 4 > +#define HV_STATUS_INSUFFICIENT_BUFFERS 19 > > #endif > diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h > index a8761d3..07bd557 100644 > --- a/linux-headers/linux/kvm.h > +++ b/linux-headers/linux/kvm.h > @@ -371,6 +371,7 @@ struct kvm_s390_psw { > #define KVM_S390_INT_VIRTIO 0xffff2603u > #define KVM_S390_INT_SERVICE 0xffff2401u > #define KVM_S390_INT_EMERGENCY 0xffff1201u > +#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u > > struct kvm_s390_interrupt { > __u32 type; > @@ -556,8 +557,7 @@ struct kvm_ppc_pvinfo { > #define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ > #define KVM_CAP_PPC_HIOR 67 > #define KVM_CAP_PPC_PAPR 68 > -#define KVM_CAP_SW_TLB 69 > -#define KVM_CAP_ONE_REG 70 > +#define KVM_CAP_S390_GMAP 71 > > #ifdef KVM_CAP_IRQ_ROUTING > > @@ -637,49 +637,6 @@ struct kvm_clock_data { > __u32 pad[9]; > }; > > -#define KVM_MMU_FSL_BOOKE_NOHV 0 > -#define KVM_MMU_FSL_BOOKE_HV 1 > - > -struct kvm_config_tlb { > - __u64 params; > - __u64 array; > - __u32 mmu_type; > - __u32 array_len; > -}; > - > -struct kvm_dirty_tlb { > - __u64 bitmap; > - __u32 num_dirty; > -}; > - > -/* Available with KVM_CAP_ONE_REG */ > - > -#define KVM_ONE_REG_GENERIC 0x0000000000000000ULL You're removing definitions here, indicating that something is going wrong :). Alex
diff --git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h index fb3fddc..08fe69e 100644 --- a/linux-headers/asm-powerpc/kvm.h +++ b/linux-headers/asm-powerpc/kvm.h @@ -149,6 +149,12 @@ struct kvm_regs { #define KVM_SREGS_E_UPDATE_DBSR (1 << 3) /* + * Book3S special bits to indicate contents in the struct by maintaining + * backwards compatibility with older structs. If adding a new field, + * please make sure to add a flag for that new field */ +#define KVM_SREGS_S_HIOR (1 << 0) + +/* * In KVM_SET_SREGS, reserved/pad fields must be left untouched from a * previous KVM_GET_REGS. * @@ -170,9 +176,11 @@ struct kvm_sregs { } ppc64; struct { __u32 sr[16]; - __u64 ibat[8]; - __u64 dbat[8]; + __u64 ibat[8]; + __u64 dbat[8]; } ppc32; + __u64 flags; /* KVM_SREGS_S_ */ + __u64 hior; } s; struct { union { @@ -292,41 +300,4 @@ struct kvm_allocate_rma { __u64 rma_size; }; -struct kvm_book3e_206_tlb_entry { - __u32 mas8; - __u32 mas1; - __u64 mas2; - __u64 mas7_3; -}; - -struct kvm_book3e_206_tlb_params { - /* - * For mmu types KVM_MMU_FSL_BOOKE_NOHV and KVM_MMU_FSL_BOOKE_HV: - * - * - The number of ways of TLB0 must be a power of two between 2 and - * 16. - * - TLB1 must be fully associative. - * - The size of TLB0 must be a multiple of the number of ways, and - * the number of sets must be a power of two. - * - The size of TLB1 may not exceed 64 entries. - * - TLB0 supports 4 KiB pages. - * - The page sizes supported by TLB1 are as indicated by - * TLB1CFG (if MMUCFG[MAVN] = 0) or TLB1PS (if MMUCFG[MAVN] = 1) - * as returned by KVM_GET_SREGS. - * - TLB2 and TLB3 are reserved, and their entries in tlb_sizes[] - * and tlb_ways[] must be zero. - * - * tlb_ways[n] = tlb_sizes[n] means the array is fully associative. - * - * KVM will adjust TLBnCFG based on the sizes configured here, - * though arrays greater than 2048 entries will have TLBnCFG[NENTRY] - * set to zero. - */ - __u32 tlb_sizes[4]; - __u32 tlb_ways[4]; - __u32 reserved[8]; -}; - -#define KVM_ONE_REG_PPC_HIOR KVM_ONE_REG_PPC | 0x100 - #endif /* __LINUX_KVM_POWERPC_H */ diff --git a/linux-headers/asm-x86/hyperv.h b/linux-headers/asm-x86/hyperv.h index 5df477a..b80420b 100644 --- a/linux-headers/asm-x86/hyperv.h +++ b/linux-headers/asm-x86/hyperv.h @@ -189,5 +189,6 @@ #define HV_STATUS_INVALID_HYPERCALL_CODE 2 #define HV_STATUS_INVALID_HYPERCALL_INPUT 3 #define HV_STATUS_INVALID_ALIGNMENT 4 +#define HV_STATUS_INSUFFICIENT_BUFFERS 19 #endif diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index a8761d3..07bd557 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -371,6 +371,7 @@ struct kvm_s390_psw { #define KVM_S390_INT_VIRTIO 0xffff2603u #define KVM_S390_INT_SERVICE 0xffff2401u #define KVM_S390_INT_EMERGENCY 0xffff1201u +#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u struct kvm_s390_interrupt { __u32 type; @@ -556,8 +557,7 @@ struct kvm_ppc_pvinfo { #define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ #define KVM_CAP_PPC_HIOR 67 #define KVM_CAP_PPC_PAPR 68 -#define KVM_CAP_SW_TLB 69 -#define KVM_CAP_ONE_REG 70 +#define KVM_CAP_S390_GMAP 71 #ifdef KVM_CAP_IRQ_ROUTING @@ -637,49 +637,6 @@ struct kvm_clock_data { __u32 pad[9]; }; -#define KVM_MMU_FSL_BOOKE_NOHV 0 -#define KVM_MMU_FSL_BOOKE_HV 1 - -struct kvm_config_tlb { - __u64 params; - __u64 array; - __u32 mmu_type; - __u32 array_len; -}; - -struct kvm_dirty_tlb { - __u64 bitmap; - __u32 num_dirty; -}; - -/* Available with KVM_CAP_ONE_REG */ - -#define KVM_ONE_REG_GENERIC 0x0000000000000000ULL - -/* - * Architecture specific registers are to be defined in arch headers and - * ORed with the arch identifier. - */ -#define KVM_ONE_REG_PPC 0x1000000000000000ULL -#define KVM_ONE_REG_X86 0x2000000000000000ULL -#define KVM_ONE_REG_IA64 0x3000000000000000ULL -#define KVM_ONE_REG_ARM 0x4000000000000000ULL -#define KVM_ONE_REG_S390 0x5000000000000000ULL - -struct kvm_one_reg { - __u64 id; - union { - __u8 reg8; - __u16 reg16; - __u32 reg32; - __u64 reg64; - __u8 reg128[16]; - __u8 reg256[32]; - __u8 reg512[64]; - __u8 reg1024[128]; - } u; -}; - /* * ioctls for VM fds */ @@ -806,11 +763,6 @@ struct kvm_one_reg { #define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce) /* Available with KVM_CAP_RMA */ #define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) -/* Available with KVM_CAP_SW_TLB */ -#define KVM_DIRTY_TLB _IOW(KVMIO, 0xaa, struct kvm_dirty_tlb) -/* Available with KVM_CAP_ONE_REG */ -#define KVM_GET_ONE_REG _IOWR(KVMIO, 0xab, struct kvm_one_reg) -#define KVM_SET_ONE_REG _IOW(KVMIO, 0xac, struct kvm_one_reg) #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) diff --git a/linux-headers/linux/virtio_ring.h b/linux-headers/linux/virtio_ring.h index 78289ee..1b333e2 100644 --- a/linux-headers/linux/virtio_ring.h +++ b/linux-headers/linux/virtio_ring.h @@ -135,13 +135,13 @@ static __inline__ void vring_init(struct vring *vr, unsigned int num, void *p, vr->num = num; vr->desc = p; vr->avail = p + num*sizeof(struct vring_desc); - vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + align-1) - & ~(align - 1)); + vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__u16) + + align-1) & ~(align - 1)); } static __inline__ unsigned vring_size(unsigned int num, unsigned long align) { - return ((sizeof(struct vring_desc) * num + sizeof(__u16) * (2 + num) + return ((sizeof(struct vring_desc) * num + sizeof(__u16) * (3 + num) + align - 1) & ~(align - 1)) + sizeof(__u16) * 3 + sizeof(struct vring_used_elem) * num; }
Update the kvm kernel headers to the 3.2.0-rc1 post using scripts/update-linux-headers.sh script. Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> ---