Document and clean up fw_cfg; additionally, allow user-provided blobs to be inserted into fw_cfg via the qemu command line.
Please consider applying 1-5; Patch 6/6 should be considered as just an RFC at this time, please let me know what you all think about it. Summary of patches in the series: 1/6: resubmit Jordan's documentation patch from back in 2011 2/6: remove support for guest-side writes to fw_cfg data port (this also updates the documentation applied earlier in 1/6) 3/6: add assertion to prevent us from inadvertently introducing memory leaks when adding data blobs to fw_cfg 4/6: adding fw_cfg blobs with the same file name multiple times is a memory-leaking erroneous thing to do: make qemu properly quit with an error instead of just generating a trace event. 5/6: allow users to explicitly insert an arbitrary file as a fw_cfg blob via the qemu command line 6/6: guest-side retrieval of named blob from the fw_cfg device (please do NOT apply 6/6, as I'm just soliciting feedback at this time) Thanks much, Gabriel Gabriel L. Somlo (6): fw_cfg: add documentation file (docs/specs/fw_cfg.txt) fw_cfg: remove support for guest-side data writes fw_cfg: assertion to detect memory leak when adding new data blob fw_cfg: exit with error when dupe fw_cfg file name inserted fw_cfg: insert fw_cfg file blobs via qemu cmdline qga: RFC: guest-side retrieval of fw_cfg file docs/specs/fw_cfg.txt | 154 ++++++++++++++++++++++++++++++++++++++++++++++ hw/nvram/fw_cfg.c | 123 ++++++++++++++++++------------------ include/hw/nvram/fw_cfg.h | 8 ++- qemu-options.hx | 10 +++ qga/Makefile.objs | 1 + qga/get-fwcfg.c | 92 +++++++++++++++++++++++++++ qga/guest-agent-core.h | 2 + qga/main.c | 6 +- vl.c | 27 ++++++++ 9 files changed, 355 insertions(+), 68 deletions(-) create mode 100644 docs/specs/fw_cfg.txt create mode 100644 qga/get-fwcfg.c -- 2.1.0