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 <m...@ellerman.id.au> --- 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 <stdbool.h> #include <pthread.h> -#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 { -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html