On Wed, 2013-06-19 at 16:28 +1000, Michael Ellerman wrote:
> On Wed, 2013-06-19 at 11:10 +0530, Sravan V Dodla wrote:
> > On Tue, 2013-06-18 at 11:39 -0400, Dave Jones wrote:
> > > On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote:
> > 
> > > Does this help ?
> > Thanks a lot Dave. That did help :)
> > Still compilation does not complete successfully. I'm seeing the
> > following issue on both ppc64 and s390x archs:
> 
> I have the following patch that I've been meaning to cleanup and send,
> it works for me on ppc64.
> 
Yes Michael, it worked for me on ppc64. Thank you.
I have also made the following changes to make it work for s390x, not
sure of the impact though!

--- kvm.c.orig  2013-06-19 14:04:37.814590066 +0530
+++ kvm.c       2013-06-19 14:04:43.306415094 +0530
@@ -87,8 +87,6 @@ static const struct ioctl kvm_ioctls[] =
        IOCTL(KVM_SET_VAPIC_ADDR),
 #if defined(__s390__)
        IOCTL(KVM_S390_INTERRUPT),
-       IOCTL(KVM_S390_STORE_STATUS_NOADDR),
-       IOCTL(KVM_S390_STORE_STATUS_PREFIXED),
        IOCTL(KVM_S390_STORE_STATUS),
        IOCTL(KVM_S390_SET_INITIAL_PSW),
        IOCTL(KVM_S390_INITIAL_RESET),


> cheers
> 
> 
> diff --git a/include/compat.h b/include/compat.h
> index 20455f3..bba5560 100644
> --- a/include/compat.h
> +++ b/include/compat.h
> @@ -669,6 +669,42 @@ struct kvm_one_reg {
>  #define KVM_KVMCLOCK_CTRL         _IO(KVMIO,   0xad)
>  #endif
> 
> +#ifndef KVM_PPC_GET_SMMU_INFO
> +#define KVM_PPC_PAGE_SIZES_MAX_SZ    8
> +
> +struct kvm_ppc_one_page_size {
> +     __u32 page_shift;       /* Page shift (or 0) */
> +     __u32 pte_enc;          /* Encoding in the HPTE (>>12) */
> +};
> +
> +struct kvm_ppc_one_seg_page_size {
> +     __u32 page_shift;       /* Base page shift of segment (or 0) */
> +     __u32 slb_enc;          /* SLB encoding for BookS */
> +     struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ];
> +};
> +
> +struct kvm_ppc_smmu_info {
> +     __u64 flags;
> +     __u32 slb_size;
> +     __u32 pad;
> +     struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
> +};
> +#define KVM_PPC_GET_SMMU_INFO          _IOR(KVMIO,  0xa6, struct 
> kvm_ppc_smmu_info)
> +#endif
> +
> +#ifndef KVM_PPC_ALLOCATE_HTAB
> +#define KVM_PPC_ALLOCATE_HTAB          _IOWR(KVMIO, 0xa7, __u32)
> +#endif
> +
> +#ifndef KVM_PPC_GET_HTAB_FD
> +struct kvm_get_htab_fd {
> +     __u64   flags;
> +     __u64   start_index;
> +     __u64   reserved[2];
> +};
> +#define KVM_PPC_GET_HTAB_FD    _IOW(KVMIO,  0xaa, struct kvm_get_htab_fd)
> +#endif
> +
>  #ifndef EM_ARM
>  #define EM_ARM                    40
>  #endif
> diff --git a/ioctls/kvm.c b/ioctls/kvm.c
> index 4620ca8..ffddee4 100644
> --- a/ioctls/kvm.c
> +++ b/ioctls/kvm.c
> @@ -12,7 +12,6 @@ static const struct ioctl kvm_ioctls[] = {
>       IOCTL(KVM_SET_MEMORY_REGION),
>       IOCTL(KVM_CREATE_VCPU),
>       IOCTL(KVM_GET_DIRTY_LOG),
> -     IOCTL(KVM_SET_MEMORY_ALIAS),
>       IOCTL(KVM_SET_NR_MMU_PAGES),
>       IOCTL(KVM_GET_NR_MMU_PAGES),
>       IOCTL(KVM_SET_USER_MEMORY_REGION),
> @@ -26,13 +25,10 @@ static const struct ioctl kvm_ioctls[] = {
>       IOCTL(KVM_GET_IRQCHIP),
>       IOCTL(KVM_SET_IRQCHIP),
>       IOCTL(KVM_CREATE_PIT),
> -     IOCTL(KVM_GET_PIT),
> -     IOCTL(KVM_SET_PIT),
>       IOCTL(KVM_IRQ_LINE_STATUS),
>       IOCTL(KVM_REGISTER_COALESCED_MMIO),
>       IOCTL(KVM_UNREGISTER_COALESCED_MMIO),
>       IOCTL(KVM_ASSIGN_PCI_DEVICE),
> -     IOCTL(KVM_SET_GSI_ROUTING),
>       IOCTL(KVM_ASSIGN_IRQ),
>       IOCTL(KVM_ASSIGN_DEV_IRQ),
>       IOCTL(KVM_REINJECT_CONTROL),
> @@ -44,16 +40,38 @@ static const struct ioctl kvm_ioctls[] = {
>       IOCTL(KVM_CREATE_PIT2),
>       IOCTL(KVM_SET_BOOT_CPU_ID),
>       IOCTL(KVM_IOEVENTFD),
> -     IOCTL(KVM_XEN_HVM_CONFIG),
>       IOCTL(KVM_SET_CLOCK),
>       IOCTL(KVM_GET_CLOCK),
> -     IOCTL(KVM_GET_PIT2),
> -     IOCTL(KVM_SET_PIT2),
>       IOCTL(KVM_PPC_GET_PVINFO),
>       IOCTL(KVM_SET_TSC_KHZ),
>       IOCTL(KVM_GET_TSC_KHZ),
>       IOCTL(KVM_ASSIGN_SET_INTX_MASK),
>       IOCTL(KVM_SIGNAL_MSI),
> +#ifdef X86
> +     IOCTL(KVM_SET_MEMORY_ALIAS),
> +     IOCTL(KVM_GET_PIT),
> +     IOCTL(KVM_SET_PIT),
> +     IOCTL(KVM_GET_PIT2),
> +     IOCTL(KVM_SET_PIT2),
> +     IOCTL(KVM_SET_GSI_ROUTING),
> +     IOCTL(KVM_XEN_HVM_CONFIG),
> +     IOCTL(KVM_GET_MSRS),
> +     IOCTL(KVM_SET_MSRS),
> +     IOCTL(KVM_SET_CPUID),
> +     IOCTL(KVM_GET_LAPIC),
> +     IOCTL(KVM_SET_LAPIC),
> +     IOCTL(KVM_SET_CPUID2),
> +     IOCTL(KVM_GET_CPUID2),
> +     IOCTL(KVM_X86_SET_MCE),
> +     IOCTL(KVM_GET_VCPU_EVENTS),
> +     IOCTL(KVM_SET_VCPU_EVENTS),
> +     IOCTL(KVM_GET_DEBUGREGS),
> +     IOCTL(KVM_SET_DEBUGREGS),
> +     IOCTL(KVM_GET_XSAVE),
> +     IOCTL(KVM_SET_XSAVE),
> +     IOCTL(KVM_GET_XCRS),
> +     IOCTL(KVM_SET_XCRS),
> +#endif
>  #if defined(__powerpc__)
>       IOCTL(KVM_PPC_GET_SMMU_INFO),
>       IOCTL(KVM_PPC_ALLOCATE_HTAB),
> @@ -73,16 +91,9 @@ static const struct ioctl kvm_ioctls[] = {
>       IOCTL(KVM_TRANSLATE),
>       IOCTL(KVM_INTERRUPT),
>       IOCTL(KVM_DEBUG_GUEST),
> -     IOCTL(KVM_GET_MSRS),
> -     IOCTL(KVM_SET_MSRS),
> -     IOCTL(KVM_SET_CPUID),
>       IOCTL(KVM_SET_SIGNAL_MASK),
>       IOCTL(KVM_GET_FPU),
>       IOCTL(KVM_SET_FPU),
> -     IOCTL(KVM_GET_LAPIC),
> -     IOCTL(KVM_SET_LAPIC),
> -     IOCTL(KVM_SET_CPUID2),
> -     IOCTL(KVM_GET_CPUID2),
>       IOCTL(KVM_TPR_ACCESS_REPORTING),
>       IOCTL(KVM_SET_VAPIC_ADDR),
>  #if defined(__s390__)
> @@ -99,18 +110,9 @@ static const struct ioctl kvm_ioctls[] = {
>       IOCTL(KVM_SET_GUEST_DEBUG),
>       IOCTL(KVM_X86_SETUP_MCE),
>       IOCTL(KVM_X86_GET_MCE_CAP_SUPPORTED),
> -     IOCTL(KVM_X86_SET_MCE),
>       IOCTL(KVM_IA64_VCPU_GET_STACK),
>       IOCTL(KVM_IA64_VCPU_SET_STACK),
> -     IOCTL(KVM_GET_VCPU_EVENTS),
> -     IOCTL(KVM_SET_VCPU_EVENTS),
> -     IOCTL(KVM_GET_DEBUGREGS),
> -     IOCTL(KVM_SET_DEBUGREGS),
>       IOCTL(KVM_ENABLE_CAP),
> -     IOCTL(KVM_GET_XSAVE),
> -     IOCTL(KVM_SET_XSAVE),
> -     IOCTL(KVM_GET_XCRS),
> -     IOCTL(KVM_SET_XCRS),
>       IOCTL(KVM_DIRTY_TLB),
>       IOCTL(KVM_GET_ONE_REG),
>       IOCTL(KVM_SET_ONE_REG),


--
To unsubscribe from this list: send the line "unsubscribe trinity" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to