]> git.proxmox.com Git - mirror_qemu.git/commitdiff
KVM: Update kernel headers
authorAlexander Graf <agraf@suse.de>
Wed, 14 Sep 2011 08:51:29 +0000 (10:51 +0200)
committerAlexander Graf <agraf@suse.de>
Thu, 6 Oct 2011 07:48:07 +0000 (09:48 +0200)
Update HIOR and generic register get/set.

Signed-off-by: Alexander Graf <agraf@suse.de>
linux-headers/asm-powerpc/kvm.h
linux-headers/linux/kvm.h

index 25964ee10732ecb4234dde7770a87fd94de1e6a7..fb3fddcd87f6f7918b0720d5a366df5d948de16b 100644 (file)
@@ -327,4 +327,6 @@ struct kvm_book3e_206_tlb_params {
        __u32 reserved[8];
 };
 
+#define KVM_ONE_REG_PPC_HIOR   KVM_ONE_REG_PPC | 0x100
+
 #endif /* __LINUX_KVM_POWERPC_H */
index 6f5095c8a4acf46ba112f9f36cfc99a4fc83ff8e..a8761d3be6c49a28bf4f4c1a9fec27427c1af3dc 100644 (file)
@@ -554,8 +554,10 @@ struct kvm_ppc_pvinfo {
 #define KVM_CAP_PPC_SMT 64
 #define KVM_CAP_PPC_RMA        65
 #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
 
 #ifdef KVM_CAP_IRQ_ROUTING
 
@@ -650,6 +652,34 @@ struct kvm_dirty_tlb {
        __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
  */
@@ -778,6 +808,9 @@ struct kvm_dirty_tlb {
 #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)