From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: [PATCH] kvm tools: Fix 64-bit assumptions and type uglinesses Date: Sat, 9 Apr 2011 13:21:24 +0200 Message-ID: <20110409112124.GA15296@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: KVM devel mailing list To: Pekka Enberg Return-path: Received: from mx3.mail.elte.hu ([157.181.1.138]:34190 "EHLO mx3.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754259Ab1DILVe (ORCPT ); Sat, 9 Apr 2011 07:21:34 -0400 Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: Make the MIN_RAM_SIZE_MB constant 64-bit on 32-bit systems as well, oth= erwise we get this build failure: kvm-run.c: In function =E2=80=98kvm_cmd_run=E2=80=99: kvm-run.c:119: error: format =E2=80=98%lu=E2=80=99 expects type =E2=80= =98long unsigned int=E2=80=99, but argument 2 has type =E2=80=98u64=E2=80= =99 Also adjust affected printf format string - this necessiates the use of the sane Linux definition of u64 instead of the brain-dead int64_t variant. That also allows (and necessiates) the removal of the ugly PRIu64 forma= t string hackery. Friends don't let friends use PRI* hackeries! :-) Signed-off-by: Ingo Molnar --- tools/kvm/include/linux/types.h | 4 ++-- tools/kvm/kvm-run.c | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/tools/kvm/include/linux/types.h b/tools/kvm/include/linux/= types.h index b989d2a..8b608e7 100644 --- a/tools/kvm/include/linux/types.h +++ b/tools/kvm/include/linux/types.h @@ -12,8 +12,8 @@ #define __s32 int32_t #define __u32 uint32_t =20 -#define __s64 int64_t -#define __u64 uint64_t +#define __s64 long long +#define __u64 unsigned long long =20 typedef __u64 u64; typedef __s64 s64; diff --git a/tools/kvm/kvm-run.c b/tools/kvm/kvm-run.c index 9b0786a..5697d82 100644 --- a/tools/kvm/kvm-run.c +++ b/tools/kvm/kvm-run.c @@ -25,7 +25,7 @@ #define DEFAULT_KVM_DEV "/dev/kvm" =20 #define MB_SHIFT (20) -#define MIN_RAM_SIZE_MB (64UL) +#define MIN_RAM_SIZE_MB (64ULL) #define MIN_RAM_SIZE_BYTE (MIN_RAM_SIZE_MB << MB_SHIFT) =20 static struct kvm *kvm; @@ -114,10 +114,9 @@ int kvm_cmd_run(int argc, const char **argv, const= char *prefix) =20 } =20 - if (ram_size < MIN_RAM_SIZE_MB) { - die("Not enough memory specified: %luMB (min %luMB)", ram_size, - MIN_RAM_SIZE_MB); - } + if (ram_size < MIN_RAM_SIZE_MB) + die("Not enough memory specified: %lluMB (min %lluMB)", ram_size, MI= N_RAM_SIZE_MB); + ram_size <<=3D MB_SHIFT; =20 if (!kvm_dev) @@ -230,7 +229,7 @@ panic_kvm: kvm->kvm_run->exit_reason, kvm_exit_reasons[kvm->kvm_run->exit_reason]); if (kvm->kvm_run->exit_reason =3D=3D KVM_EXIT_UNKNOWN) - fprintf(stderr, "KVM exit code: 0x%" PRIu64 "\n", + fprintf(stderr, "KVM exit code: 0x%Lu\n", kvm->kvm_run->hw.hardware_exit_reason); disk_image__close(kvm->disk_image); kvm__show_registers(kvm);