]> git.proxmox.com Git - mirror_qemu.git/blame - include/sysemu/dump.h
dump: add members to DumpState and init some of them
[mirror_qemu.git] / include / sysemu / dump.h
CommitLineData
25ae9c1d
WC
1/*
2 * QEMU dump
3 *
4 * Copyright Fujitsu, Corp. 2011, 2012
5 *
6 * Authors:
7 * Wen Congyang <wency@cn.fujitsu.com>
8 *
352666e2
SW
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.
25ae9c1d
WC
11 *
12 */
13
14#ifndef DUMP_H
15#define DUMP_H
16
fda05387
QN
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
7aad248d
QN
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
25ae9c1d
WC
30typedef struct ArchDumpInfo {
31 int d_machine; /* Architecture */
32 int d_endian; /* ELFDATA2LSB or ELFDATA2MSB */
33 int d_class; /* ELFCLASS32 or ELFCLASS64 */
34} ArchDumpInfo;
35
fda05387
QN
36typedef struct QEMU_PACKED MakedumpfileHeader {
37 char signature[16]; /* = "makedumpfile" */
38 int64_t type;
39 int64_t version;
40} MakedumpfileHeader;
41
42typedef struct QEMU_PACKED MakedumpfileDataHeader {
43 int64_t offset;
44 int64_t buf_size;
45} MakedumpfileDataHeader;
46
56c4bfb3
LE
47struct GuestPhysBlockList; /* memory_mapping.h */
48int cpu_get_dump_info(ArchDumpInfo *info,
49 const struct GuestPhysBlockList *guest_phys_blocks);
5f86146f
PB
50ssize_t cpu_get_note_size(int class, int machine, int nr_cpus);
51
25ae9c1d 52#endif