mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Initial s390-tools-2.0.0 import
This commit is based on the s390-tools-1.39.0 version. Changes on top of s390-tools-1.39.0: - Add MIT license to all source files - Add LICENSE file - Transform REAMDE to README.md (markdown) - Add AUTHORS.md file - Add CONTRIBUTING.md file - Move changelog from README to CHANGELOG.md file Reviewed-by: Stefan Haberland <sth@linux.vnet.ibm.com> Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
This commit is contained in:
117
zdump/df_elf.h
Normal file
117
zdump/df_elf.h
Normal file
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
* zgetdump - Tool for copying and converting System z dumps
|
||||
*
|
||||
* ELF core dump format definitions
|
||||
*
|
||||
* Copyright IBM Corp. 2001, 2017
|
||||
*
|
||||
* s390-tools is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the MIT license. See LICENSE for details.
|
||||
*/
|
||||
|
||||
#ifndef DF_ELF_H
|
||||
#define DF_ELF_H
|
||||
|
||||
#include <elf.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include "dfo.h"
|
||||
#include "zg.h"
|
||||
|
||||
/*
|
||||
* S390 CPU timer note (u64)
|
||||
*/
|
||||
#ifndef NT_S390_TIMER
|
||||
#define NT_S390_TIMER 0x301
|
||||
#endif
|
||||
|
||||
/*
|
||||
* S390 TOD clock comparator note (u64)
|
||||
*/
|
||||
#ifndef NT_S390_TODCMP
|
||||
#define NT_S390_TODCMP 0x302
|
||||
#endif
|
||||
|
||||
/*
|
||||
* S390 TOD programmable register note (u32)
|
||||
*/
|
||||
#ifndef NT_S390_TODPREG
|
||||
#define NT_S390_TODPREG 0x303
|
||||
#endif
|
||||
|
||||
/*
|
||||
* S390 control registers note (16 * u32)
|
||||
*/
|
||||
#ifndef NT_S390_CTRS
|
||||
#define NT_S390_CTRS 0x304
|
||||
#endif
|
||||
|
||||
/*
|
||||
* S390 prefix note (u32)
|
||||
*/
|
||||
#ifndef NT_S390_PREFIX
|
||||
#define NT_S390_PREFIX 0x305
|
||||
#endif
|
||||
|
||||
/*
|
||||
* S390 vector registers 0-15 upper half note (16 * u64)
|
||||
*/
|
||||
#ifndef NT_S390_VXRS_LOW
|
||||
#define NT_S390_VXRS_LOW 0x309
|
||||
#endif
|
||||
|
||||
/*
|
||||
* S390 vector registers 16-31 note (16 * u128)
|
||||
*/
|
||||
#ifndef NT_S390_VXRS_HIGH
|
||||
#define NT_S390_VXRS_HIGH 0x30a
|
||||
#endif
|
||||
|
||||
/*
|
||||
* prstatus ELF Note
|
||||
*/
|
||||
struct nt_prstatus_64 {
|
||||
u8 pad1[32];
|
||||
u32 pr_pid;
|
||||
u8 pad2[76];
|
||||
u64 psw[2];
|
||||
u64 gprs[16];
|
||||
u32 acrs[16];
|
||||
u64 orig_gpr2;
|
||||
u32 pr_fpvalid;
|
||||
u8 pad3[4];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* fpregset ELF Note
|
||||
*/
|
||||
struct nt_fpregset_64 {
|
||||
u32 fpc;
|
||||
u32 pad;
|
||||
u64 fprs[16];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* prpsinfo ELF Note
|
||||
*/
|
||||
struct nt_prpsinfo_64 {
|
||||
char pr_state;
|
||||
char pr_sname;
|
||||
char pr_zomb;
|
||||
char pr_nice;
|
||||
u64 pr_flag;
|
||||
u32 pr_uid;
|
||||
u32 pr_gid;
|
||||
u32 pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
char pr_fname[16];
|
||||
char pr_psargs[80];
|
||||
};
|
||||
|
||||
static inline void df_elf_ensure_s390x(void)
|
||||
{
|
||||
#ifndef __s390x__
|
||||
ERR_EXIT("The ELF dump format is only supported on s390x (64 bit)");
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* DF_ELF_H */
|
||||
Reference in New Issue
Block a user