]> Git Repo - qemu.git/blob - include/sysemu/dump.h
dump: add members to DumpState and init some of them
[qemu.git] / include / sysemu / dump.h
1 /*
2  * QEMU dump
3  *
4  * Copyright Fujitsu, Corp. 2011, 2012
5  *
6  * Authors:
7  *     Wen Congyang <[email protected]>
8  *
9  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10  * See the COPYING file in the top-level directory.
11  *
12  */
13
14 #ifndef DUMP_H
15 #define DUMP_H
16
17 #define MAKEDUMPFILE_SIGNATURE      "makedumpfile"
18 #define MAX_SIZE_MDF_HEADER         (4096) /* max size of makedumpfile_header */
19 #define TYPE_FLAT_HEADER            (1)    /* type of flattened format */
20 #define VERSION_FLAT_HEADER         (1)    /* version of flattened format */
21 #define END_FLAG_FLAT_HEADER        (-1)
22
23 #define ARCH_PFN_OFFSET             (0)
24
25 #define paddr_to_pfn(X, page_shift) \
26     (((unsigned long long)(X) >> (page_shift)) - ARCH_PFN_OFFSET)
27 #define pfn_to_paddr(X, page_shift) \
28     (((unsigned long long)(X) + ARCH_PFN_OFFSET) << (page_shift))
29
30 typedef struct ArchDumpInfo {
31     int d_machine;  /* Architecture */
32     int d_endian;   /* ELFDATA2LSB or ELFDATA2MSB */
33     int d_class;    /* ELFCLASS32 or ELFCLASS64 */
34 } ArchDumpInfo;
35
36 typedef struct QEMU_PACKED MakedumpfileHeader {
37     char signature[16];     /* = "makedumpfile" */
38     int64_t type;
39     int64_t version;
40 } MakedumpfileHeader;
41
42 typedef struct QEMU_PACKED MakedumpfileDataHeader {
43     int64_t offset;
44     int64_t buf_size;
45 } MakedumpfileDataHeader;
46
47 struct GuestPhysBlockList; /* memory_mapping.h */
48 int cpu_get_dump_info(ArchDumpInfo *info,
49                       const struct GuestPhysBlockList *guest_phys_blocks);
50 ssize_t cpu_get_note_size(int class, int machine, int nr_cpus);
51
52 #endif
This page took 0.02423 seconds and 4 git commands to generate.