mirror of https://github.com/crash-utility/crash
103 lines
3.7 KiB
C
103 lines
3.7 KiB
C
|
/* ibm_common.h - core analysis suite
|
||
|
*
|
||
|
* Copyright (C) 2001, 2002 Mission Critical Linux, Inc.
|
||
|
* Copyright (C) 2002, 2003, 2004, 2005 David Anderson
|
||
|
* Copyright (C) 2002, 2003, 2004, 2005 Red Hat, Inc. All rights reserved.
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License as published by
|
||
|
* the Free Software Foundation; either version 2 of the License, or
|
||
|
* (at your option) any later version.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* header file for zgetdump
|
||
|
* Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
|
||
|
* Author(s): Despina Papadopoulou
|
||
|
*/
|
||
|
|
||
|
/* This header file holds the architecture specific crash dump header */
|
||
|
#ifndef _ZGETDUMP_H
|
||
|
#define _ZGETDUMP_H
|
||
|
|
||
|
/* definitions (this has to match with vmdump.h of lcrash */
|
||
|
|
||
|
#define DUMP_MAGIC_S390 0xa8190173618f23fdULL /* s390 magic number */
|
||
|
#define S390_DUMP_HEADER_SIZE 4096
|
||
|
#define DUMP_ASM_MAGIC_NUMBER 0xdeaddeadULL /* magic number */
|
||
|
|
||
|
/*
|
||
|
* Structure: s390_dump_header_t
|
||
|
* Function: This is the header dumped at the top of every valid s390 crash
|
||
|
* dump.
|
||
|
*/
|
||
|
|
||
|
typedef struct _s390_dump_header_s {
|
||
|
/* the dump magic number -- unique to verify dump is valid */
|
||
|
uint64_t dh_magic_number; /* 0x000 */
|
||
|
|
||
|
/* the version number of this dump */
|
||
|
uint32_t dh_version; /* 0x008 */
|
||
|
|
||
|
/* the size of this header (in case we can't read it) */
|
||
|
uint32_t dh_header_size; /* 0x00c */
|
||
|
|
||
|
/* the level of this dump (just a header?) */
|
||
|
uint32_t dh_dump_level; /* 0x010 */
|
||
|
|
||
|
/* the size of a Linux memory page (4K, 8K, 16K, etc.) */
|
||
|
uint32_t dh_page_size; /* 0x014 */
|
||
|
|
||
|
/* the size of all physical memory */
|
||
|
uint64_t dh_memory_size; /* 0x018 */
|
||
|
|
||
|
/* the start of physical memory */
|
||
|
uint64_t dh_memory_start; /* 0x020 */
|
||
|
|
||
|
/* the end of physical memory */
|
||
|
uint64_t dh_memory_end; /* 0x028 */
|
||
|
|
||
|
/* the number of pages in this dump specifically */
|
||
|
uint32_t dh_num_pages; /* 0x030 */
|
||
|
|
||
|
/* ensure that dh_tod and dh_cpu_id are 8 byte aligned */
|
||
|
uint32_t dh_pad; /* 0x034 */
|
||
|
|
||
|
/* the time of the dump generation using stck */
|
||
|
uint64_t dh_tod; /* 0x038 */
|
||
|
|
||
|
/* cpu id */
|
||
|
uint64_t dh_cpu_id; /* 0x040 */
|
||
|
|
||
|
/* arch */
|
||
|
uint32_t dh_arch; /* 0x048 */
|
||
|
|
||
|
/* volume number */
|
||
|
uint32_t dh_volnr; /* 0x04c */
|
||
|
|
||
|
/* build arch */
|
||
|
uint32_t dh_build_arch; /* 0x050 */
|
||
|
|
||
|
/* fill up to 4096 byte */
|
||
|
unsigned char end_pad[0x1000-0x054]; /* 0x054 */
|
||
|
|
||
|
} __attribute__((packed)) s390_dump_header_t;
|
||
|
|
||
|
/*
|
||
|
* Structure: s390_dump_end_marker_t
|
||
|
* Function: This end marker should be at the end of every valid s390 crash
|
||
|
* dump.
|
||
|
*/
|
||
|
|
||
|
typedef struct _s390_dump_end_marker_{
|
||
|
char end_string[8];
|
||
|
unsigned long long end_time;
|
||
|
} __attribute__((packed)) s390_dump_end_marker_t;
|
||
|
|
||
|
#endif /* _ASM_VMDUMP_H */
|