qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Define the architecture for compressed dump for


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH] Define the architecture for compressed dump format.
Date: Thu, 30 Jan 2014 18:20:16 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131118 Thunderbird/17.0.11

On 01/30/14 18:01, Ekaterina Tumanova wrote:
> If you apply this patch on top of your changes, your patches will work
> on s390x as well.
> 
> ---
>  dump.c             | 8 ++++++--
>  target-i386/cpu.h  | 2 ++
>  target-s390x/cpu.h | 1 +
>  3 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/dump.c b/dump.c
> index 8f64aab..12ad114 100644
> --- a/dump.c
> +++ b/dump.c
> @@ -32,6 +32,10 @@
>  #ifdef CONFIG_SNAPPY
>  #include <snappy-c.h>
>  #endif
> +#ifndef ELF_MACHINE_UNAME
> +#define ELF_MACHINE_UNAME "Unknown"
> +#warning "Compressed dump is not supported on this architecture"
> +#endif
>  
>  static uint16_t cpu_convert_to_target16(uint16_t val, int endian)
>  {
> @@ -817,7 +821,7 @@ static int create_header32(DumpState *s)
>      dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian);
>      bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2;
>      dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian);
> -    memcpy(&(dh->utsname.machine), "i686", 4);
> +    strncpy(&(dh->utsname.machine), ELF_MACHINE_UNAME, 
> sizeof(dh->utsname.machine));
>  
>      if (s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) {
>          status |= DUMP_DH_COMPRESSED_ZLIB;
> @@ -924,7 +928,7 @@ static int create_header64(DumpState *s)
>      dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian);
>      bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2;
>      dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian);
> -    memcpy(&(dh->utsname.machine), "x86_64", 6);
> +    strncpy(&(dh->utsname.machine), ELF_MACHINE_UNAME, 
> sizeof(dh->utsname.machine));
>  
>      if (s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) {
>          status |= DUMP_DH_COMPRESSED_ZLIB;
> diff --git a/target-i386/cpu.h b/target-i386/cpu.h
> index 1fcbc82..198743c 100644
> --- a/target-i386/cpu.h
> +++ b/target-i386/cpu.h
> @@ -38,8 +38,10 @@
>  
>  #ifdef TARGET_X86_64
>  #define ELF_MACHINE     EM_X86_64
> +#define ELF_MACHINE_UNAME "x86_64"
>  #else
>  #define ELF_MACHINE     EM_386
> +#define ELF_MACHINE_UNAME "i686"
>  #endif
>  
>  #define CPUArchState struct CPUX86State
> diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
> index 68b5ab7..bf7ae4c 100644
> --- a/target-s390x/cpu.h
> +++ b/target-s390x/cpu.h
> @@ -28,6 +28,7 @@
>  #define TARGET_LONG_BITS 64
>  
>  #define ELF_MACHINE  EM_S390
> +#define ELF_MACHINE_UNAME "S390X"
>  
>  #define CPUArchState struct CPUS390XState
>  
> 

Looks good to me, but I wonder if the #warning will break builds on
other architectures.

>From the configure script it appears that -Werror is the default when: -
building a git working copy on Linux, and
- no relevant configure switch has been passed.

Laszlo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]