Define the architecture for compressed dump format
authorqiaonuohan <qiaonuohan@cn.fujitsu.com>
Tue, 18 Feb 2014 06:11:37 +0000 (14:11 +0800)
committerLuiz Capitulino <lcapitulino@redhat.com>
Fri, 28 Feb 2014 16:52:03 +0000 (11:52 -0500)
Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
dump.c
target-i386/cpu.h
target-s390x/cpu.h

diff --git a/dump.c b/dump.c
index fb0c8962afa2e6b51a7f3a9f50e102eed30bcb32..2c81318b80ccde8dcbc5fba146988f103e84c25e 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -32,6 +32,9 @@
 #ifdef CONFIG_SNAPPY
 #include <snappy-c.h>
 #endif
+#ifndef ELF_MACHINE_UNAME
+#define ELF_MACHINE_UNAME "Unknown"
+#endif
 
 static uint16_t cpu_convert_to_target16(uint16_t val, int endian)
 {
@@ -817,7 +820,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 +927,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;
index 1b94f0ffb71c2b89cfcb0f730faab10e6af773a2..6abcd23c483221752dcfa1ad1011ddf672bef081 100644 (file)
 
 #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
index 96c2b4a7e9ffbad61f71b2e28bc1112debdedf5e..6d46827990e9a55069117625d641f0e8f4c05192 100644 (file)
@@ -28,6 +28,7 @@
 #define TARGET_LONG_BITS 64
 
 #define ELF_MACHINE    EM_S390
+#define ELF_MACHINE_UNAME "S390X"
 
 #define CPUArchState struct CPUS390XState