qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 1/3] QEMU kvm: Syncing linux headers to 3.2.0-rc1


From: Raghavendra K T
Subject: [Qemu-devel] [PATCH 1/3] QEMU kvm: Syncing linux headers to 3.2.0-rc1
Date: Sun, 04 Dec 2011 23:55:56 +0530

 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 <address@hidden>
---
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;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]