diff options
Diffstat (limited to 'linux-headers/linux/kvm.h')
-rw-r--r-- | linux-headers/linux/kvm.h | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index a8761d3be..8c33a5724 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -654,30 +654,33 @@ struct kvm_dirty_tlb { /* Available with KVM_CAP_ONE_REG */ -#define KVM_ONE_REG_GENERIC 0x0000000000000000ULL +#define KVM_REG_ARCH_MASK 0xff00000000000000ULL +#define KVM_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 +#define KVM_REG_PPC 0x1000000000000000ULL +#define KVM_REG_X86 0x2000000000000000ULL +#define KVM_REG_IA64 0x3000000000000000ULL +#define KVM_REG_ARM 0x4000000000000000ULL +#define KVM_REG_S390 0x5000000000000000ULL + +#define KVM_REG_SIZE_SHIFT 52 +#define KVM_REG_SIZE_MASK 0x00f0000000000000ULL +#define KVM_REG_SIZE_U8 0x0000000000000000ULL +#define KVM_REG_SIZE_U16 0x0010000000000000ULL +#define KVM_REG_SIZE_U32 0x0020000000000000ULL +#define KVM_REG_SIZE_U64 0x0030000000000000ULL +#define KVM_REG_SIZE_U128 0x0040000000000000ULL +#define KVM_REG_SIZE_U256 0x0050000000000000ULL +#define KVM_REG_SIZE_U512 0x0060000000000000ULL +#define KVM_REG_SIZE_U1024 0x0070000000000000ULL 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; + __u64 addr; }; /* |