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