xref: /openbmc/qemu/include/sysemu/dump-arch.h (revision e72629e5)
1acb0ef58SBharata B Rao /*
2acb0ef58SBharata B Rao  * QEMU dump
3acb0ef58SBharata B Rao  *
4acb0ef58SBharata B Rao  * Copyright Fujitsu, Corp. 2011, 2012
5acb0ef58SBharata B Rao  *
6acb0ef58SBharata B Rao  * Authors:
7acb0ef58SBharata B Rao  *     Wen Congyang <wency@cn.fujitsu.com>
8acb0ef58SBharata B Rao  *
9acb0ef58SBharata B Rao  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10acb0ef58SBharata B Rao  * See the COPYING file in the top-level directory.
11acb0ef58SBharata B Rao  *
12acb0ef58SBharata B Rao  */
13acb0ef58SBharata B Rao 
14acb0ef58SBharata B Rao #ifndef DUMP_ARCH_H
15acb0ef58SBharata B Rao #define DUMP_ARCH_H
16acb0ef58SBharata B Rao 
17acb0ef58SBharata B Rao typedef struct ArchDumpInfo {
18acb0ef58SBharata B Rao     int d_machine;           /* Architecture */
19acb0ef58SBharata B Rao     int d_endian;            /* ELFDATA2LSB or ELFDATA2MSB */
20acb0ef58SBharata B Rao     int d_class;             /* ELFCLASS32 or ELFCLASS64 */
218161befdSAndrew Jones     uint32_t page_size;      /* The target's page size. If it's variable and
228161befdSAndrew Jones                               * unknown, then this should be the maximum. */
23b6e05aa4SAndrew Jones     uint64_t phys_base;      /* The target's physmem base. */
249b72224fSJanosch Frank     void (*arch_sections_add_fn)(DumpState *s);
259b72224fSJanosch Frank     uint64_t (*arch_sections_write_hdr_fn)(DumpState *s, uint8_t *buff);
269b72224fSJanosch Frank     int (*arch_sections_write_fn)(DumpState *s, uint8_t *buff);
27*e72629e5SJanosch Frank     void (*arch_cleanup_fn)(DumpState *s);
28acb0ef58SBharata B Rao } ArchDumpInfo;
29acb0ef58SBharata B Rao 
30acb0ef58SBharata B Rao struct GuestPhysBlockList; /* memory_mapping.h */
31acb0ef58SBharata B Rao int cpu_get_dump_info(ArchDumpInfo *info,
32acb0ef58SBharata B Rao                       const struct GuestPhysBlockList *guest_phys_blocks);
33acb0ef58SBharata B Rao ssize_t cpu_get_note_size(int class, int machine, int nr_cpus);
34acb0ef58SBharata B Rao 
35acb0ef58SBharata B Rao #endif
36