=================
VMCoreInfo device
=================

The `-device vmcoreinfo` will create a fw_cfg entry for a guest to
store dump details.

etc/vmcoreinfo
**************

A guest may use this fw_cfg entry to add information details to qemu
dumps.

The entry of 16 bytes has the following layout, in little-endian::

#define VMCOREINFO_FORMAT_NONE 0x0
#define VMCOREINFO_FORMAT_ELF 0x1

    struct FWCfgVMCoreInfo {
        uint16_t host_format;  /* formats host supports */
        uint16_t guest_format; /* format guest supplies */
        uint32_t size;         /* size of vmcoreinfo region */
        uint64_t paddr;        /* physical address of vmcoreinfo region */
    };

Only full write (of 16 bytes) are considered valid for further
processing of entry values.

A write of 0 in guest_format will disable further processing of
vmcoreinfo entry values & content.

Format & content
****************

As of qemu 2.11, only VMCOREINFO_FORMAT_ELF is supported.

The entry gives location and size of an ELF note that is appended in
qemu dumps.

The note format/class must be of the target bitness and the size must
be less than 1Mb.

If the ELF note name is "VMCOREINFO", it is expected to be the Linux
vmcoreinfo note (see Documentation/ABI/testing/sysfs-kernel-vmcoreinfo
in Linux source). In this case, qemu dump code will read the content
as a key=value text file, looking for "NUMBER(phys_base)" key
value. The value is expected to be more accurate than architecture
guess of the value. This is useful for KASLR-enabled guest with
ancient tools not handling the VMCOREINFO note.
