Hi, This series adds DMA operations support to the qemu fw_cfg kernel module and populates "etc/vmcoreinfo" with vmcoreinfo location details.
Note: the support for this entry handling has been merged for upcoming qemu release (2.11). v9: - do not rely on a global struct device * (Michael) - fix dma_mapping_error() calls to take the dev* argument - initialize DMA ops with dma_set_mask_and_coherent() - rebased v8: - fix ltp again: bring back kmalloc() for DMA memory (see "What memory is DMA'able?" limitations in Documentation/DMA-API-HOWTO.txt) Interestingly, it didn't fail when the module was linked in.. v7: - add a patch to fix driver remove() - remove DMA operatiom timeout (qemu finishes sync today) - synchronize the DMA transfer before reading from CPU - removed kmalloc() use static allocation instead - drop some r-b tags v6: - change acpi_acquire_global_lock() error to return EINVAL (instead of EBUSY) - replace 0 as pointer argument for NULL - add Gabriel r-b/a-b tags v5: - resent to CC kdump people on the paddr_vmcoreinfo_note() export patch v4: - export paddr_vmcoreinfo_note() to fix fw_cfg.ko build - fix build with !CONFIG_CRASH_CORE - replace the unbounded yield() loop with a usleep_range() loop and a 200ms timeout - do not write vmcoreinfo entry when running the kdump kernel (D. Hatayama) - drop the experimental sysfs write support patch from this series v3: (thanks kbuild) - add "fw_cfg: fix the command line module name" patch - fix build of "fw_cfg: add DMA register" with CONFIG_FW_CFG_SYSFS_CMDLINE=y - fix 'Wshift-count-overflow' v2: - use platform device for dma mapping - add etc/vmcoreinfo patch - some code cleanups Marc-André Lureau (4): fw_cfg: add DMA register fw_cfg: do DMA read operation crash: export paddr_vmcoreinfo_note() fw_cfg: write vmcoreinfo details drivers/firmware/qemu_fw_cfg.c | 294 ++++++++++++++++++++++++++++++++++++----- kernel/crash_core.c | 1 + 2 files changed, 263 insertions(+), 32 deletions(-) -- 2.15.0.277.ga3d2ad2c43