2012-05-07 12:08:56 +08:00
|
|
|
/*
|
|
|
|
* QEMU dump
|
|
|
|
*
|
|
|
|
* Copyright Fujitsu, Corp. 2011, 2012
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Wen Congyang <wency@cn.fujitsu.com>
|
|
|
|
*
|
2012-06-11 03:34:04 +08:00
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
2012-05-07 12:08:56 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef DUMP_H
|
|
|
|
#define DUMP_H
|
|
|
|
|
2014-02-18 14:11:27 +08:00
|
|
|
#define MAKEDUMPFILE_SIGNATURE "makedumpfile"
|
|
|
|
#define MAX_SIZE_MDF_HEADER (4096) /* max size of makedumpfile_header */
|
|
|
|
#define TYPE_FLAT_HEADER (1) /* type of flattened format */
|
|
|
|
#define VERSION_FLAT_HEADER (1) /* version of flattened format */
|
|
|
|
#define END_FLAG_FLAT_HEADER (-1)
|
|
|
|
|
2014-02-18 14:11:31 +08:00
|
|
|
#define ARCH_PFN_OFFSET (0)
|
|
|
|
|
|
|
|
#define paddr_to_pfn(X, page_shift) \
|
|
|
|
(((unsigned long long)(X) >> (page_shift)) - ARCH_PFN_OFFSET)
|
|
|
|
#define pfn_to_paddr(X, page_shift) \
|
|
|
|
(((unsigned long long)(X) + ARCH_PFN_OFFSET) << (page_shift))
|
|
|
|
|
2012-05-07 12:08:56 +08:00
|
|
|
typedef struct ArchDumpInfo {
|
|
|
|
int d_machine; /* Architecture */
|
|
|
|
int d_endian; /* ELFDATA2LSB or ELFDATA2MSB */
|
|
|
|
int d_class; /* ELFCLASS32 or ELFCLASS64 */
|
|
|
|
} ArchDumpInfo;
|
|
|
|
|
2014-02-18 14:11:27 +08:00
|
|
|
typedef struct QEMU_PACKED MakedumpfileHeader {
|
|
|
|
char signature[16]; /* = "makedumpfile" */
|
|
|
|
int64_t type;
|
|
|
|
int64_t version;
|
|
|
|
} MakedumpfileHeader;
|
|
|
|
|
|
|
|
typedef struct QEMU_PACKED MakedumpfileDataHeader {
|
|
|
|
int64_t offset;
|
|
|
|
int64_t buf_size;
|
|
|
|
} MakedumpfileDataHeader;
|
|
|
|
|
2013-08-06 18:37:11 +08:00
|
|
|
struct GuestPhysBlockList; /* memory_mapping.h */
|
|
|
|
int cpu_get_dump_info(ArchDumpInfo *info,
|
|
|
|
const struct GuestPhysBlockList *guest_phys_blocks);
|
2012-06-07 14:22:56 +08:00
|
|
|
ssize_t cpu_get_note_size(int class, int machine, int nr_cpus);
|
|
|
|
|
2012-05-07 12:08:56 +08:00
|
|
|
#endif
|