]> git.proxmox.com Git - mirror_qemu.git/commit - hw/core/loader.c
fw-cfg: support writeable blobs
authorMichael S. Tsirkin <mst@redhat.com>
Thu, 12 Jan 2017 18:24:14 +0000 (19:24 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 18 Jan 2017 20:59:53 +0000 (22:59 +0200)
commitbaf2d5bfbac015b27f4db74feab235e167df0c84
tree960da45b349ef3fd469b3eae0a91df6205c5261b
parentc471ad0e9bd46ca5f5c9c796e727230e043a091d
fw-cfg: support writeable blobs

Useful to send guest data back to QEMU.

Changes from Laszlo Ersek <lersek@redhat.com>:
- rebase the patch from Michael Tsirkin's original postings at [1] and [2]
  to the following patches:
  - loader: Allow a custom AddressSpace when loading ROMs
  - loader: Add AddressSpace loading support to uImages
  - loader: fix handling of custom address spaces when adding ROM blobs
- reject such writes immediately that would exceed the end of the array,
  rather than performing a partial write before setting the error bit: see
  the (len != dma.length) condition
- document the write interface

[1] http://lists.nongnu.org/archive/html/qemu-devel/2016-02/msg04968.html
[2] http://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg02735.html

Cc: "Gabriel L. Somlo" <somlo@cmu.edu>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Michael Walle <michael@walle.cc>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Shannon Zhao <zhaoshenglong@huawei.com>
Cc: qemu-arm@nongnu.org
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Acked-by: Gabriel Somlo <somlo@cmu.edu>
Tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
docs/specs/fw_cfg.txt
hw/arm/virt-acpi-build.c
hw/core/loader.c
hw/i386/acpi-build.c
hw/lm32/lm32_hwsetup.h
hw/nvram/fw_cfg.c
include/hw/loader.h
include/hw/nvram/fw_cfg.h