[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 33/58] KVM: update kernel headers
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [PATCH 33/58] KVM: update kernel headers |
Date: |
Sat, 17 Sep 2011 19:17:48 +0200 |
Am 17.09.2011 um 18:59 schrieb Blue Swirl <address@hidden>:
> On Wed, Sep 14, 2011 at 8:42 AM, Alexander Graf <address@hidden> wrote:
>> This patch updates the kvm kernel headers to the latest version.
>>
>> Signed-off-by: Alexander Graf <address@hidden>
>> ---
>> linux-headers/asm-powerpc/kvm.h | 23 +++++++++++++++++++++++
>> linux-headers/asm-x86/kvm_para.h | 14 ++++++++++++++
>> linux-headers/linux/kvm.h | 25 +++++++++++++++++--------
>> linux-headers/linux/kvm_para.h | 1 +
>> 4 files changed, 55 insertions(+), 8 deletions(-)
>>
>> diff --git a/linux-headers/asm-powerpc/kvm.h
>> b/linux-headers/asm-powerpc/kvm.h
>> index 777d307..579e219 100644
>> --- a/linux-headers/asm-powerpc/kvm.h
>> +++ b/linux-headers/asm-powerpc/kvm.h
>> @@ -22,6 +22,10 @@
>>
>> #include <linux/types.h>
>>
>> +/* Select powerpc specific features in <linux/kvm.h> */
>> +#define __KVM_HAVE_SPAPR_TCE
>> +#define __KVM_HAVE_PPC_SMT
>> +
>> struct kvm_regs {
>> __u64 pc;
>> __u64 cr;
>> @@ -145,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.
>> *
>> @@ -169,6 +179,8 @@ struct kvm_sregs {
>> __u64 ibat[8];
>> __u64 dbat[8];
>> } ppc32;
>> + __u64 flags; /* KVM_SREGS_S_ */
>> + __u64 hior;
>> } s;
>> struct {
>> union {
>> @@ -272,4 +284,15 @@ struct kvm_guest_debug_arch {
>> #define KVM_INTERRUPT_UNSET -2U
>> #define KVM_INTERRUPT_SET_LEVEL -3U
>>
>> +/* for KVM_CAP_SPAPR_TCE */
>> +struct kvm_create_spapr_tce {
>> + __u64 liobn;
>> + __u32 window_size;
>> +};
>> +
>> +/* for KVM_ALLOCATE_RMA */
>> +struct kvm_allocate_rma {
>> + __u64 rma_size;
>> +};
>> +
>> #endif /* __LINUX_KVM_POWERPC_H */
>> diff --git a/linux-headers/asm-x86/kvm_para.h
>> b/linux-headers/asm-x86/kvm_para.h
>> index 834d71e..f2ac46a 100644
>> --- a/linux-headers/asm-x86/kvm_para.h
>> +++ b/linux-headers/asm-x86/kvm_para.h
>> @@ -21,6 +21,7 @@
>> */
>> #define KVM_FEATURE_CLOCKSOURCE2 3
>> #define KVM_FEATURE_ASYNC_PF 4
>> +#define KVM_FEATURE_STEAL_TIME 5
>>
>> /* 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.
>> @@ -30,10 +31,23 @@
>> #define MSR_KVM_WALL_CLOCK 0x11
>> #define MSR_KVM_SYSTEM_TIME 0x12
>>
>> +#define KVM_MSR_ENABLED 1
>> /* Custom MSRs falls in the range 0x4b564d00-0x4b564dff */
>> #define MSR_KVM_WALL_CLOCK_NEW 0x4b564d00
>> #define MSR_KVM_SYSTEM_TIME_NEW 0x4b564d01
>> #define MSR_KVM_ASYNC_PF_EN 0x4b564d02
>> +#define MSR_KVM_STEAL_TIME 0x4b564d03
>> +
>> +struct kvm_steal_time {
>> + __u64 steal;
>> + __u32 version;
>> + __u32 flags;
>> + __u32 pad[12];
>> +};
>> +
>> +#define KVM_STEAL_ALIGNMENT_BITS 5
>> +#define KVM_STEAL_VALID_BITS ((-1ULL << (KVM_STEAL_ALIGNMENT_BITS + 1)))
>> +#define KVM_STEAL_RESERVED_MASK (((1 << KVM_STEAL_ALIGNMENT_BITS) - 1 ) <<
>> 1)
>>
>> #define KVM_MAX_MMU_OP_BATCH 32
>>
>> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
>> index fc63b73..2062375 100644
>> --- a/linux-headers/linux/kvm.h
>> +++ b/linux-headers/linux/kvm.h
>> @@ -161,6 +161,7 @@ struct kvm_pit_config {
>> #define KVM_EXIT_NMI 16
>> #define KVM_EXIT_INTERNAL_ERROR 17
>> #define KVM_EXIT_OSI 18
>> +#define KVM_EXIT_PAPR_HCALL 19
>>
>> /* For KVM_EXIT_INTERNAL_ERROR */
>> #define KVM_INTERNAL_ERROR_EMULATION 1
>> @@ -264,6 +265,11 @@ struct kvm_run {
>> struct {
>> __u64 gprs[32];
>> } osi;
>> + struct {
>> + __u64 nr;
>> + __u64 ret;
>> + __u64 args[9];
>> + } papr_hcall;
>> /* Fix the size of the union. */
>> char padding[256];
>> };
>> @@ -457,7 +463,7 @@ struct kvm_ppc_pvinfo {
>> #define KVM_CAP_VAPIC 6
>> #define KVM_CAP_EXT_CPUID 7
>> #define KVM_CAP_CLOCKSOURCE 8
>> -#define KVM_CAP_NR_VCPUS 9 /* returns max vcpus per vm */
>> +#define KVM_CAP_NR_VCPUS 9 /* returns recommended max vcpus per vm */
>> #define KVM_CAP_NR_MEMSLOTS 10 /* returns max memory slots per vm */
>> #define KVM_CAP_PIT 11
>> #define KVM_CAP_NOP_IO_DELAY 12
>> @@ -544,6 +550,12 @@ struct kvm_ppc_pvinfo {
>> #define KVM_CAP_TSC_CONTROL 60
>> #define KVM_CAP_GET_TSC_KHZ 61
>> #define KVM_CAP_PPC_BOOKE_SREGS 62
>> +#define KVM_CAP_SPAPR_TCE 63
>> +#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
>>
>> #ifdef KVM_CAP_IRQ_ROUTING
>>
>> @@ -746,6 +758,9 @@ struct kvm_clock_data {
>> /* Available with KVM_CAP_XCRS */
>> #define KVM_GET_XCRS _IOR(KVMIO, 0xa6, struct kvm_xcrs)
>> #define KVM_SET_XCRS _IOW(KVMIO, 0xa7, struct kvm_xcrs)
>> +#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)
>>
>> #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
>>
>> @@ -773,20 +788,14 @@ struct kvm_assigned_pci_dev {
>>
>> struct kvm_assigned_irq {
>> __u32 assigned_dev_id;
>> - __u32 host_irq;
>> + __u32 host_irq; /* ignored (legacy field) */
>> __u32 guest_irq;
>> __u32 flags;
>> union {
>> - struct {
>> - __u32 addr_lo;
>> - __u32 addr_hi;
>> - __u32 data;
>> - } guest_msi;
>> __u32 reserved[12];
>> };
>> };
>>
>> -
>> struct kvm_assigned_msix_nr {
>> __u32 assigned_dev_id;
>> __u16 entry_nr;
>> diff --git a/linux-headers/linux/kvm_para.h b/linux-headers/linux/kvm_para.h
>> index 7bdcf93..b315e27 100644
>> --- a/linux-headers/linux/kvm_para.h
>> +++ b/linux-headers/linux/kvm_para.h
>> @@ -26,3 +26,4 @@
>> #include <asm/kvm_para.h>
>>
>> #endif /* __LINUX_KVM_PARA_H */
>> +
>
> Can we avoid this?
It's a conflict generated by how the real header files look like and what
whitespace fixing makes of them.
I suppose the best way to fix this would be to also whitespace-fix the Linux
headers :).
Will send a patch.
Alex
>
[Qemu-devel] [PATCH 19/58] PPC: bamboo: Use kvm api for freq and clock frequencies, Alexander Graf, 2011/09/14
[Qemu-devel] [PATCH 16/58] PPC: KVM: Add generic function to read host clockfreq, Alexander Graf, 2011/09/14
[Qemu-devel] [PATCH 46/58] ppc: booke206: use MAV=2.0 TSIZE definition, fix 4G pages, Alexander Graf, 2011/09/14
[Qemu-devel] [PATCH 23/58] PPC: E500: Remove unneeded CPU nodes, Alexander Graf, 2011/09/14
[Qemu-devel] [PATCH 13/58] PPC: E500: Generate IRQ lines for many CPUs, Alexander Graf, 2011/09/14
[Qemu-devel] [PATCH 10/58] PPC: MPIC: Fix CI bit definitions, Alexander Graf, 2011/09/14
[Qemu-devel] [PATCH 07/58] PPC: Fix IPI support in MPIC, Alexander Graf, 2011/09/14