From patchwork Fri Jun 19 07:21:01 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Ellerman X-Patchwork-Id: 6643241 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id ACC239F3D1 for ; Fri, 19 Jun 2015 07:21:22 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BEFC420964 for ; Fri, 19 Jun 2015 07:21:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B8AC520967 for ; Fri, 19 Jun 2015 07:21:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751178AbbFSHVS (ORCPT ); Fri, 19 Jun 2015 03:21:18 -0400 Received: from ozlabs.org ([103.22.144.67]:39895 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751517AbbFSHVP (ORCPT ); Fri, 19 Jun 2015 03:21:15 -0400 Received: by ozlabs.org (Postfix, from userid 1034) id C539A14029D; Fri, 19 Jun 2015 17:21:13 +1000 (AEST) From: Michael Ellerman To: will.deacon@arm.com Cc: andre.przywara@arm.com, , , svaidy@linux.vnet.ibm.com, Subject: [PATCH 2/2] powerpc: Enable 32-bit build Date: Fri, 19 Jun 2015 17:21:01 +1000 Message-Id: <1434698461-15539-2-git-send-email-mpe@ellerman.id.au> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1434698461-15539-1-git-send-email-mpe@ellerman.id.au> References: <1434698461-15539-1-git-send-email-mpe@ellerman.id.au> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We have always built kvmtool as 64-bit on powerpc, but mainly just out of habit. There's not AFAIK any reason we *can't* build 32-bit. So fix up a few places where we were assuming 64-bit, and drop the Makefile logic that forces 64-bit. Signed-off-by: Michael Ellerman --- Makefile | 2 -- powerpc/include/kvm/kvm-cpu-arch.h | 36 ++++++++++++++++++------------------ powerpc/kvm-cpu.c | 2 +- powerpc/kvm.c | 4 ++-- 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/Makefile b/Makefile index 6110b8e11611..151fa9de07cb 100644 --- a/Makefile +++ b/Makefile @@ -148,8 +148,6 @@ ifeq ($(ARCH), powerpc) OBJS += powerpc/spapr_pci.o OBJS += powerpc/xics.o ARCH_INCLUDE := powerpc/include - CFLAGS += -m64 - LDFLAGS += -m elf64ppc ARCH_WANT_LIBFDT := y endif diff --git a/powerpc/include/kvm/kvm-cpu-arch.h b/powerpc/include/kvm/kvm-cpu-arch.h index e256f5d0733e..01eafdf09785 100644 --- a/powerpc/include/kvm/kvm-cpu-arch.h +++ b/powerpc/include/kvm/kvm-cpu-arch.h @@ -17,24 +17,24 @@ #include #include -#define MSR_SF (1UL<<63) -#define MSR_HV (1UL<<60) -#define MSR_VEC (1UL<<25) -#define MSR_VSX (1UL<<23) -#define MSR_POW (1UL<<18) -#define MSR_EE (1UL<<15) -#define MSR_PR (1UL<<14) -#define MSR_FP (1UL<<13) -#define MSR_ME (1UL<<12) -#define MSR_FE0 (1UL<<11) -#define MSR_SE (1UL<<10) -#define MSR_BE (1UL<<9) -#define MSR_FE1 (1UL<<8) -#define MSR_IR (1UL<<5) -#define MSR_DR (1UL<<4) -#define MSR_PMM (1UL<<2) -#define MSR_RI (1UL<<1) -#define MSR_LE (1UL<<0) +#define MSR_SF (1ULL<<63) +#define MSR_HV (1ULL<<60) +#define MSR_VEC (1ULL<<25) +#define MSR_VSX (1ULL<<23) +#define MSR_POW (1ULL<<18) +#define MSR_EE (1ULL<<15) +#define MSR_PR (1ULL<<14) +#define MSR_FP (1ULL<<13) +#define MSR_ME (1ULL<<12) +#define MSR_FE0 (1ULL<<11) +#define MSR_SE (1ULL<<10) +#define MSR_BE (1ULL<<9) +#define MSR_FE1 (1ULL<<8) +#define MSR_IR (1ULL<<5) +#define MSR_DR (1ULL<<4) +#define MSR_PMM (1ULL<<2) +#define MSR_RI (1ULL<<1) +#define MSR_LE (1ULL<<0) #define POWER7_EXT_IRQ 0 diff --git a/powerpc/kvm-cpu.c b/powerpc/kvm-cpu.c index 2f5cfc691f42..461e0a907f6d 100644 --- a/powerpc/kvm-cpu.c +++ b/powerpc/kvm-cpu.c @@ -147,7 +147,7 @@ static void kvm_cpu__setup_sregs(struct kvm_cpu *vcpu) reg.id = KVM_REG_PPC_HIOR; value = 0; - reg.addr = (u64)&value; + reg.addr = (u64)(unsigned long)&value; if (ioctl(vcpu->vcpu_fd, KVM_SET_ONE_REG, ®) < 0) die("KVM_SET_ONE_REG failed"); } diff --git a/powerpc/kvm.c b/powerpc/kvm.c index 2b03a1213159..b4c331068374 100644 --- a/powerpc/kvm.c +++ b/powerpc/kvm.c @@ -172,7 +172,7 @@ int load_flat_binary(struct kvm *kvm, int fd_kernel, int fd_initrd, const char * while ((nr = read(fd_kernel, p, 65536)) > 0) p += nr; - pr_info("Loaded kernel to 0x%x (%ld bytes)", KERNEL_LOAD_ADDR, p-k_start); + pr_info("Loaded kernel to 0x%x (%ld bytes)", KERNEL_LOAD_ADDR, (long)(p-k_start)); if (fd_initrd != -1) { if (lseek(fd_initrd, 0, SEEK_SET) < 0) @@ -192,7 +192,7 @@ int load_flat_binary(struct kvm *kvm, int fd_kernel, int fd_initrd, const char * die("initrd too big to contain in guest RAM.\n"); pr_info("Loaded initrd to 0x%x (%ld bytes)", - INITRD_LOAD_ADDR, p-i_start); + INITRD_LOAD_ADDR, (long)(p-i_start)); kvm->arch.initrd_gra = INITRD_LOAD_ADDR; kvm->arch.initrd_size = p-i_start; } else {