Define the architecture for compressed dump format

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>
This commit is contained in:
qiaonuohan 2014-02-18 14:11:37 +08:00 committed by Luiz Capitulino
parent b53ccc30c4
commit 4ab23a9182
3 changed files with 8 additions and 2 deletions

7
dump.c
View File

@ -32,6 +32,9 @@
#ifdef CONFIG_SNAPPY #ifdef CONFIG_SNAPPY
#include <snappy-c.h> #include <snappy-c.h>
#endif #endif
#ifndef ELF_MACHINE_UNAME
#define ELF_MACHINE_UNAME "Unknown"
#endif
static uint16_t cpu_convert_to_target16(uint16_t val, int endian) 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); dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian);
bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2; bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2;
dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian); 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) { if (s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) {
status |= 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); dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian);
bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2; bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2;
dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian); 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) { if (s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) {
status |= DUMP_DH_COMPRESSED_ZLIB; status |= DUMP_DH_COMPRESSED_ZLIB;

View File

@ -38,8 +38,10 @@
#ifdef TARGET_X86_64 #ifdef TARGET_X86_64
#define ELF_MACHINE EM_X86_64 #define ELF_MACHINE EM_X86_64
#define ELF_MACHINE_UNAME "x86_64"
#else #else
#define ELF_MACHINE EM_386 #define ELF_MACHINE EM_386
#define ELF_MACHINE_UNAME "i686"
#endif #endif
#define CPUArchState struct CPUX86State #define CPUArchState struct CPUX86State

View File

@ -28,6 +28,7 @@
#define TARGET_LONG_BITS 64 #define TARGET_LONG_BITS 64
#define ELF_MACHINE EM_S390 #define ELF_MACHINE EM_S390
#define ELF_MACHINE_UNAME "S390X"
#define CPUArchState struct CPUS390XState #define CPUArchState struct CPUS390XState