summaryrefslogtreecommitdiffstats
path: root/qemu/include/sysemu/dump.h
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/include/sysemu/dump.h')
-rw-r--r--qemu/include/sysemu/dump.h199
1 files changed, 0 insertions, 199 deletions
diff --git a/qemu/include/sysemu/dump.h b/qemu/include/sysemu/dump.h
deleted file mode 100644
index ef931be46..000000000
--- a/qemu/include/sysemu/dump.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * QEMU dump
- *
- * Copyright Fujitsu, Corp. 2011, 2012
- *
- * Authors:
- * Wen Congyang <wency@cn.fujitsu.com>
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- *
- */
-
-#ifndef DUMP_H
-#define DUMP_H
-
-#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)
-
-#ifndef ARCH_PFN_OFFSET
-#define ARCH_PFN_OFFSET (0)
-#endif
-
-/*
- * flag for compressed format
- */
-#define DUMP_DH_COMPRESSED_ZLIB (0x1)
-#define DUMP_DH_COMPRESSED_LZO (0x2)
-#define DUMP_DH_COMPRESSED_SNAPPY (0x4)
-
-#define KDUMP_SIGNATURE "KDUMP "
-#define SIG_LEN (sizeof(KDUMP_SIGNATURE) - 1)
-#define DUMP_LEVEL (1)
-#define DISKDUMP_HEADER_BLOCKS (1)
-
-#include "sysemu/dump-arch.h"
-#include "sysemu/memory_mapping.h"
-#include "qapi-types.h"
-
-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;
-
-typedef struct QEMU_PACKED NewUtsname {
- char sysname[65];
- char nodename[65];
- char release[65];
- char version[65];
- char machine[65];
- char domainname[65];
-} NewUtsname;
-
-typedef struct QEMU_PACKED DiskDumpHeader32 {
- char signature[SIG_LEN]; /* = "KDUMP " */
- uint32_t header_version; /* Dump header version */
- NewUtsname utsname; /* copy of system_utsname */
- char timestamp[10]; /* Time stamp */
- uint32_t status; /* Above flags */
- uint32_t block_size; /* Size of a block in byte */
- uint32_t sub_hdr_size; /* Size of arch dependent header in block */
- uint32_t bitmap_blocks; /* Size of Memory bitmap in block */
- uint32_t max_mapnr; /* = max_mapnr ,
- obsoleted in header_version 6 */
- uint32_t total_ram_blocks; /* Number of blocks should be written */
- uint32_t device_blocks; /* Number of total blocks in dump device */
- uint32_t written_blocks; /* Number of written blocks */
- uint32_t current_cpu; /* CPU# which handles dump */
- uint32_t nr_cpus; /* Number of CPUs */
-} DiskDumpHeader32;
-
-typedef struct QEMU_PACKED DiskDumpHeader64 {
- char signature[SIG_LEN]; /* = "KDUMP " */
- uint32_t header_version; /* Dump header version */
- NewUtsname utsname; /* copy of system_utsname */
- char timestamp[22]; /* Time stamp */
- uint32_t status; /* Above flags */
- uint32_t block_size; /* Size of a block in byte */
- uint32_t sub_hdr_size; /* Size of arch dependent header in block */
- uint32_t bitmap_blocks; /* Size of Memory bitmap in block */
- uint32_t max_mapnr; /* = max_mapnr,
- obsoleted in header_version 6 */
- uint32_t total_ram_blocks; /* Number of blocks should be written */
- uint32_t device_blocks; /* Number of total blocks in dump device */
- uint32_t written_blocks; /* Number of written blocks */
- uint32_t current_cpu; /* CPU# which handles dump */
- uint32_t nr_cpus; /* Number of CPUs */
-} DiskDumpHeader64;
-
-typedef struct QEMU_PACKED KdumpSubHeader32 {
- uint32_t phys_base;
- uint32_t dump_level; /* header_version 1 and later */
- uint32_t split; /* header_version 2 and later */
- uint32_t start_pfn; /* header_version 2 and later,
- obsoleted in header_version 6 */
- uint32_t end_pfn; /* header_version 2 and later,
- obsoleted in header_version 6 */
- uint64_t offset_vmcoreinfo; /* header_version 3 and later */
- uint32_t size_vmcoreinfo; /* header_version 3 and later */
- uint64_t offset_note; /* header_version 4 and later */
- uint32_t note_size; /* header_version 4 and later */
- uint64_t offset_eraseinfo; /* header_version 5 and later */
- uint32_t size_eraseinfo; /* header_version 5 and later */
- uint64_t start_pfn_64; /* header_version 6 and later */
- uint64_t end_pfn_64; /* header_version 6 and later */
- uint64_t max_mapnr_64; /* header_version 6 and later */
-} KdumpSubHeader32;
-
-typedef struct QEMU_PACKED KdumpSubHeader64 {
- uint64_t phys_base;
- uint32_t dump_level; /* header_version 1 and later */
- uint32_t split; /* header_version 2 and later */
- uint64_t start_pfn; /* header_version 2 and later,
- obsoleted in header_version 6 */
- uint64_t end_pfn; /* header_version 2 and later,
- obsoleted in header_version 6 */
- uint64_t offset_vmcoreinfo; /* header_version 3 and later */
- uint64_t size_vmcoreinfo; /* header_version 3 and later */
- uint64_t offset_note; /* header_version 4 and later */
- uint64_t note_size; /* header_version 4 and later */
- uint64_t offset_eraseinfo; /* header_version 5 and later */
- uint64_t size_eraseinfo; /* header_version 5 and later */
- uint64_t start_pfn_64; /* header_version 6 and later */
- uint64_t end_pfn_64; /* header_version 6 and later */
- uint64_t max_mapnr_64; /* header_version 6 and later */
-} KdumpSubHeader64;
-
-typedef struct DataCache {
- int fd; /* fd of the file where to write the cached data */
- uint8_t *buf; /* buffer for cached data */
- size_t buf_size; /* size of the buf */
- size_t data_size; /* size of cached data in buf */
- off_t offset; /* offset of the file */
-} DataCache;
-
-typedef struct QEMU_PACKED PageDescriptor {
- uint64_t offset; /* the offset of the page data*/
- uint32_t size; /* the size of this dump page */
- uint32_t flags; /* flags */
- uint64_t page_flags; /* page flags */
-} PageDescriptor;
-
-typedef struct DumpState {
- GuestPhysBlockList guest_phys_blocks;
- ArchDumpInfo dump_info;
- MemoryMappingList list;
- uint16_t phdr_num;
- uint32_t sh_info;
- bool have_section;
- bool resume;
- ssize_t note_size;
- hwaddr memory_offset;
- int fd;
-
- GuestPhysBlock *next_block;
- ram_addr_t start;
- bool has_filter;
- int64_t begin;
- int64_t length;
-
- uint8_t *note_buf; /* buffer for notes */
- size_t note_buf_offset; /* the writing place in note_buf */
- uint32_t nr_cpus; /* number of guest's cpu */
- uint64_t max_mapnr; /* the biggest guest's phys-mem's number */
- size_t len_dump_bitmap; /* the size of the place used to store
- dump_bitmap in vmcore */
- off_t offset_dump_bitmap; /* offset of dump_bitmap part in vmcore */
- off_t offset_page; /* offset of page part in vmcore */
- size_t num_dumpable; /* number of page that can be dumped */
- uint32_t flag_compress; /* indicate the compression format */
- DumpStatus status; /* current dump status */
-
- bool has_format; /* whether format is provided */
- DumpGuestMemoryFormat format; /* valid only if has_format == true */
- QemuThread dump_thread; /* thread for detached dump */
-
- int64_t total_size; /* total memory size (in bytes) to
- * be dumped. When filter is
- * enabled, this will only count
- * those to be written. */
- int64_t written_size; /* written memory size (in bytes),
- * this could be used to calculate
- * how much work we have
- * finished. */
-} DumpState;
-
-uint16_t cpu_to_dump16(DumpState *s, uint16_t val);
-uint32_t cpu_to_dump32(DumpState *s, uint32_t val);
-uint64_t cpu_to_dump64(DumpState *s, uint64_t val);
-#endif