[PATCH v9 0/4] fw_cfg: add DMA operations & etc/vmcoreinfo support
From: Marc-Andrà Lureau
Date: Tue Dec 05 2017 - 06:47:42 EST
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