mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
pc, pci, virtio: fixes, features
A bunch of fixes all over the place. A new vmcore device - the user interface around it is still somewhat controversial, but I feel most of the code is fine, suggestions can be addressed by adding patches on top. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJZ4s+/AAoJECgfDbjSjVRpHQMH/2fVQ9b70BvG4KFpzwhIT3dg eyglA9NsXTVINcGu598ZoBD+1OF1N23o6SpcOd56nyLnBwAWiwfnOk05Ncx7WQ4g VZoxWcpzrG6SO1Hczg4y1EfT1+cIhlaf3a0kuVGmDTb/zPdMwAqAzw0rjvY5uIjY wixOWXfJ34Tq8PNrFIaWECuI5Php+QVTNnvvKQTzgWn1iksj1a4pdZb6/Jd5SLFY 6hjtfZccDSsqeOduoJMJGJ2pHLbZEaqpxzPBM/AVW0BdWTpeOPI12SazZwUfEcLe uHoIASknekX9E6U57l0syRHlvBTnaZkJ0YIw4e3Z08qPBYOL8eFr+M8kjHaIIxc= =yEmz -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging pc, pci, virtio: fixes, features A bunch of fixes all over the place. A new vmcore device - the user interface around it is still somewhat controversial, but I feel most of the code is fine, suggestions can be addressed by adding patches on top. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Sun 15 Oct 2017 04:02:23 BST # gpg: using RSA key 0x281F0DB8D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * remotes/mst/tags/for_upstream: (26 commits) tests/pxe: Test more NICs when running in SPEED=slow mode pc: remove useless hot_add_cpu initialisation isapc: Remove unnecessary migration compatibility code virtio-pci: Replace modern_as with direct access to modern_bar virtio: fix descriptor counting in virtqueue_pop hw/gen_pcie_root_port: make IO RO 0 on IO disabled pci: Validate interfaces on base_class_init xen/pt: Mark TYPE_XEN_PT_DEVICE as hybrid pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices pci: Add INTERFACE_PCIE_DEVICE to all PCIe devices pci: Add interface names to hybrid PCI devices pci: conventional-pci-device and pci-express-device interfaces PCI: PCIe access should always be little endian virtio/pci/migration: Convert to VMState hw/pci-bridge/pcie_pci_bridge: properly handle MSI unavailability case pci: allow 32-bit PCI IO accesses to pass through the PCI bridge virtio/vhost: reset dev->log after syncing MAINTAINERS: add Dump maintainers scripts/dump-guest-memory.py: add vmcoreinfo kdump: set vmcoreinfo location ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
c5bbcaa4b7
100 changed files with 985 additions and 159 deletions
49
docs/specs/vmcoreinfo.txt
Normal file
49
docs/specs/vmcoreinfo.txt
Normal file
|
@ -0,0 +1,49 @@
|
|||
=================
|
||||
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.
|
Loading…
Add table
Add a link
Reference in a new issue