Ingo actually got us to remove all the PRI* specifiers, but that was
back when we only did x86 :)

Ingo, does it make sense to use them now when we support different
architectures?

On Tue, 2011-12-06 at 14:38 +1100, Matt Evans wrote:
> On LP64 systems our u64s are just longs; remove the %llx'es in favour of 
> PRIx64
> etc.
> 
> This patch also adds CFLAGS to the final link, so that any -m64 is obeyed when
> linking, too.
> 
> Signed-off-by: Matt Evans <m...@ozlabs.org>
> ---
>  tools/kvm/Makefile       |    2 +-
>  tools/kvm/builtin-run.c  |   14 ++++++++------
>  tools/kvm/builtin-stat.c |    4 +++-
>  tools/kvm/disk/core.c    |    4 +++-
>  tools/kvm/mmio.c         |    4 +++-
>  5 files changed, 18 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile
> index 009a6ba..57dc521 100644
> --- a/tools/kvm/Makefile
> +++ b/tools/kvm/Makefile
> @@ -218,7 +218,7 @@ KVMTOOLS-VERSION-FILE:
>  
>  $(PROGRAM): $(DEPS) $(OBJS)
>       $(E) "  LINK    " $@
> -     $(Q) $(CC) $(OBJS) $(LIBS) -o $@
> +     $(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@
>  
>  $(GUEST_INIT): guest/init.c
>       $(E) "  LINK    " $@
> diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c
> index e4aa87e..7cf208d 100644
> --- a/tools/kvm/builtin-run.c
> +++ b/tools/kvm/builtin-run.c
> @@ -42,6 +42,8 @@
>  #include <stdlib.h>
>  #include <string.h>
>  #include <unistd.h>
> +#define __STDC_FORMAT_MACROS
> +#include <inttypes.h>
>  #include <ctype.h>
>  #include <stdio.h>
>  
> @@ -383,8 +385,8 @@ static int shmem_parser(const struct option *opt, const 
> char *arg, int unset)
>               strcpy(handle, default_handle);
>       }
>       if (verbose) {
> -             pr_info("shmem: phys_addr = %llx", phys_addr);
> -             pr_info("shmem: size      = %llx", size);
> +             pr_info("shmem: phys_addr = %"PRIx64, phys_addr);
> +             pr_info("shmem: size      = %"PRIx64, size);
>               pr_info("shmem: handle    = %s", handle);
>               pr_info("shmem: create    = %d", create);
>       }
> @@ -545,7 +547,7 @@ panic_kvm:
>               current_kvm_cpu->kvm_run->exit_reason,
>               kvm_exit_reasons[current_kvm_cpu->kvm_run->exit_reason]);
>       if (current_kvm_cpu->kvm_run->exit_reason == KVM_EXIT_UNKNOWN)
> -             fprintf(stderr, "KVM exit code: 0x%Lu\n",
> +             fprintf(stderr, "KVM exit code: 0x%"PRIx64"\n",
>                       current_kvm_cpu->kvm_run->hw.hardware_exit_reason);
>  
>       kvm_cpu__set_debug_fd(STDOUT_FILENO);
> @@ -760,10 +762,10 @@ int kvm_cmd_run(int argc, const char **argv, const char 
> *prefix)
>               ram_size        = get_ram_size(nrcpus);
>  
>       if (ram_size < MIN_RAM_SIZE_MB)
> -             die("Not enough memory specified: %lluMB (min %lluMB)", 
> ram_size, MIN_RAM_SIZE_MB);
> +             die("Not enough memory specified: %"PRIu64"MB (min %lluMB)", 
> ram_size, MIN_RAM_SIZE_MB);
>  
>       if (ram_size > host_ram_size())
> -             pr_warning("Guest memory size %lluMB exceeds host physical RAM 
> size %lluMB", ram_size, host_ram_size());
> +             pr_warning("Guest memory size %"PRIu64"MB exceeds host physical 
> RAM size %"PRIu64"MB", ram_size, host_ram_size());
>  
>       ram_size <<= MB_SHIFT;
>  
> @@ -878,7 +880,7 @@ int kvm_cmd_run(int argc, const char **argv, const char 
> *prefix)
>               virtio_blk__init_all(kvm);
>       }
>  
> -     printf("  # kvm run -k %s -m %Lu -c %d --name %s\n", kernel_filename, 
> ram_size / 1024 / 1024, nrcpus, guest_name);
> +     printf("  # kvm run -k %s -m %"PRId64" -c %d --name %s\n", 
> kernel_filename, ram_size / 1024 / 1024, nrcpus, guest_name);
>  
>       if (!kvm__load_kernel(kvm, kernel_filename, initrd_filename,
>                               real_cmdline, vidmode))
> diff --git a/tools/kvm/builtin-stat.c b/tools/kvm/builtin-stat.c
> index e28eb5b..c1f2605 100644
> --- a/tools/kvm/builtin-stat.c
> +++ b/tools/kvm/builtin-stat.c
> @@ -9,6 +9,8 @@
>  #include <stdio.h>
>  #include <string.h>
>  #include <signal.h>
> +#define __STDC_FORMAT_MACROS
> +#include <inttypes.h>
>  
>  #include <linux/virtio_balloon.h>
>  
> @@ -97,7 +99,7 @@ static int do_memstat(const char *name, int sock)
>                       printf("The total amount of memory available (in 
> bytes):");
>                       break;
>               }
> -             printf("%llu\n", stats[i].val);
> +             printf("%"PRId64"\n", stats[i].val);
>       }
>       printf("\n");
>  
> diff --git a/tools/kvm/disk/core.c b/tools/kvm/disk/core.c
> index 4915efd..a135851 100644
> --- a/tools/kvm/disk/core.c
> +++ b/tools/kvm/disk/core.c
> @@ -4,6 +4,8 @@
>  
>  #include <sys/eventfd.h>
>  #include <sys/poll.h>
> +#define __STDC_FORMAT_MACROS
> +#include <inttypes.h>
>  
>  #define AIO_MAX 32
>  
> @@ -232,7 +234,7 @@ ssize_t disk_image__get_serial(struct disk_image *disk, 
> void *buffer, ssize_t *l
>       if (fstat(disk->fd, &st) != 0)
>               return 0;
>  
> -     *len = snprintf(buffer, *len, "%llu%llu%llu", (u64)st.st_dev, 
> (u64)st.st_rdev, (u64)st.st_ino);
> +     *len = snprintf(buffer, *len, "%"PRId64"%"PRId64"%"PRId64, 
> (u64)st.st_dev, (u64)st.st_rdev, (u64)st.st_ino);
>       return *len;
>  }
>  
> diff --git a/tools/kvm/mmio.c b/tools/kvm/mmio.c
> index de7320f..1158bff 100644
> --- a/tools/kvm/mmio.c
> +++ b/tools/kvm/mmio.c
> @@ -9,6 +9,8 @@
>  #include <linux/kvm.h>
>  #include <linux/types.h>
>  #include <linux/rbtree.h>
> +#define __STDC_FORMAT_MACROS
> +#include <inttypes.h>
>  
>  #define mmio_node(n) rb_entry(n, struct mmio_mapping, node)
>  
> @@ -124,7 +126,7 @@ bool kvm__emulate_mmio(struct kvm *kvm, u64 phys_addr, u8 
> *data, u32 len, u8 is_
>       if (mmio)
>               mmio->mmio_fn(phys_addr, data, len, is_write, mmio->ptr);
>       else
> -             fprintf(stderr, "Warning: Ignoring MMIO %s at %016llx (length 
> %u)\n",
> +             fprintf(stderr, "Warning: Ignoring MMIO %s at %016"PRIx64" 
> (length %u)\n",
>                       to_direction(is_write), phys_addr, len);
>       br_read_unlock();
>  
> --
> 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

-- 

Sasha.

--
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

Reply via email to