Re: [PATCH v8 0/5] fw_cfg: add DMA operations & etc/vmcoreinfo support

From: Michael S. Tsirkin
Date: Tue Nov 28 2017 - 20:23:43 EST


On Thu, Nov 23, 2017 at 03:02:01PM +0100, Marc-André Lureau wrote:
> 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).

I parked this on vhost branch, part of linux-next.

> 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 (5):
> fw_cfg: fix driver remove
> 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 | 283 ++++++++++++++++++++++++++++++++++++-----
> kernel/crash_core.c | 1 +
> 2 files changed, 254 insertions(+), 30 deletions(-)
>
> --
> 2.15.0.277.ga3d2ad2c43