[SeaBIOS] [PATCH v4 0/3] QEMU: Add capability to write back fw_cfg address to QEMU

ben at skyportsystems.com ben at skyportsystems.com
Fri Feb 17 07:26:37 CET 2017


From: Ben Warren <ben at skyportsystems.com>

This patch set adds the capability to write to QEMU across the fw_cfg DMA
link.   It adds a higher-level command to write the BIOS-allocated address of
one fw_cfg file into an arbitrary point within another, writeable fw_cfg file
across the above-mentioned link.

The initial use case is for Windows VM
Generation ID, where QEMU needs to change the contents of fw_cfg
data at runtime, while still having BIOS allocate and manage the memory.

The final corresponding QEMU patch can be found here:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg430490.html

v3->v4: - Added a 'src_offset' field in the message so the pointer need not
          point to the beginning of the file.
        - Changed the command struct definitions from anonymous to named.

v2->v3: - fixed up the qemu_cfg_write* functions to allow writing to an
          arbitrary offset within the destination file. 
        - Changed function name to COMMAND_WRITE_POINTER and its functionality
          to not patch memory at all, but write back to a specified offset.
v1->v2: - separated patch into two functional units.
        - changed so writes only occur over the DMA interface.
        - fixed coding style.
        - removed change to romfile struct definition
          (removed new write_back method).


Ben Warren (3):
  QEMU DMA: Add DMA write capability
  romfile-loader: Switch to using named structs
  QEMU fw_cfg: Add command to write back address of file

 src/fw/paravirt.c       | 49 ++++++++++++++++++++++++++++++++
 src/fw/paravirt.h       |  3 ++
 src/fw/romfile_loader.c | 74 +++++++++++++++++++++++++++++++++++++------------
 src/fw/romfile_loader.h | 63 ++++++++++++++++++++++++++---------------
 4 files changed, 149 insertions(+), 40 deletions(-)

-- 
2.7.4




More information about the SeaBIOS mailing list