]> git.proxmox.com Git - mirror_edk2.git/commit - OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c
OvmfPkg/QemuFwCfgLib: support QEMU's DMA-like fw_cfg access method
authorLaszlo Ersek <lersek@redhat.com>
Wed, 30 Nov 2016 12:13:40 +0000 (13:13 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Mon, 5 Dec 2016 18:44:56 +0000 (19:44 +0100)
commit2c8dcbc65ab6d536731fe84081a7bdec55ebd495
treee6df4ab9e62fbc9d351c9bd5644c2c74bc353a54
parentd61a5f45a9e273f9e03453c158b050e76c7dd1db
OvmfPkg/QemuFwCfgLib: support QEMU's DMA-like fw_cfg access method

The benefits of the DMA-like access method are (a) speed, (b) write
support in QEMU 2.9+.

(IOPort-based write support was discontinued in QEMU 2.4, and the
DMA-based one is being added to QEMU 2.9. Write support needs no separate
feature detection because writeability is governed on the level of
individual fw_cfg files -- if a file meant to be written by the firmware
exists in the directory, then it is writeable with the DMA method.)

We don't enable this feature for the SEC library instance, because:
- the SEC instance remains without clients (I've checked that it builds
  though),
- in SEC, any possible fw_cfg use is expected to be small and read-only.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibInternal.h
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiDxe.c
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c