xref: /openbmc/qemu/include/sysemu/dump.h (revision 9c17d615)
1*9c17d615SPaolo Bonzini /*
2*9c17d615SPaolo Bonzini  * QEMU dump
3*9c17d615SPaolo Bonzini  *
4*9c17d615SPaolo Bonzini  * Copyright Fujitsu, Corp. 2011, 2012
5*9c17d615SPaolo Bonzini  *
6*9c17d615SPaolo Bonzini  * Authors:
7*9c17d615SPaolo Bonzini  *     Wen Congyang <wency@cn.fujitsu.com>
8*9c17d615SPaolo Bonzini  *
9*9c17d615SPaolo Bonzini  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10*9c17d615SPaolo Bonzini  * See the COPYING file in the top-level directory.
11*9c17d615SPaolo Bonzini  *
12*9c17d615SPaolo Bonzini  */
13*9c17d615SPaolo Bonzini 
14*9c17d615SPaolo Bonzini #ifndef DUMP_H
15*9c17d615SPaolo Bonzini #define DUMP_H
16*9c17d615SPaolo Bonzini 
17*9c17d615SPaolo Bonzini typedef struct ArchDumpInfo {
18*9c17d615SPaolo Bonzini     int d_machine;  /* Architecture */
19*9c17d615SPaolo Bonzini     int d_endian;   /* ELFDATA2LSB or ELFDATA2MSB */
20*9c17d615SPaolo Bonzini     int d_class;    /* ELFCLASS32 or ELFCLASS64 */
21*9c17d615SPaolo Bonzini } ArchDumpInfo;
22*9c17d615SPaolo Bonzini 
23*9c17d615SPaolo Bonzini typedef int (*write_core_dump_function)(void *buf, size_t size, void *opaque);
24*9c17d615SPaolo Bonzini int cpu_write_elf64_note(write_core_dump_function f, CPUArchState *env,
25*9c17d615SPaolo Bonzini                                                   int cpuid, void *opaque);
26*9c17d615SPaolo Bonzini int cpu_write_elf32_note(write_core_dump_function f, CPUArchState *env,
27*9c17d615SPaolo Bonzini                                                   int cpuid, void *opaque);
28*9c17d615SPaolo Bonzini int cpu_write_elf64_qemunote(write_core_dump_function f, CPUArchState *env,
29*9c17d615SPaolo Bonzini                                                           void *opaque);
30*9c17d615SPaolo Bonzini int cpu_write_elf32_qemunote(write_core_dump_function f, CPUArchState *env,
31*9c17d615SPaolo Bonzini                                                           void *opaque);
32*9c17d615SPaolo Bonzini int cpu_get_dump_info(ArchDumpInfo *info);
33*9c17d615SPaolo Bonzini ssize_t cpu_get_note_size(int class, int machine, int nr_cpus);
34*9c17d615SPaolo Bonzini 
35*9c17d615SPaolo Bonzini #endif
36