The character device we currently have is cumbersome to use. The Linux way to access it at /sys/firmware/qemu_fw_cfg is much nicer to use, so this series adds support for a similar FS to barebox.
A very nice result of having file system access to the QEMU variables in barebox is that we get a trivial way to pass data to barebox. To make it even more convenient to use, this series enables overriding individual files in the environment via the new mechanism, e.g.: pytest --env nv/boot.default=fit --env boot/[email protected] Ahmad Fatoum (11): video: ramfb: fix frame buffer screen size firmware: qemu_fw_cfg: drop duplicate definitions firmware: qemu_fw_cfg: add support for seeking firmware: qemu_fw_cfg: rename from /dev/fw_cfg0 to /dev/fw_cfg fs: add qemu_fw_cfg file system firmware: qemu_fw_cfg: register at device initcall level video: ramfb: use new qemu fw_cfg FS libfile: give copy_file a flags parameter libfile: pass copy_file flags through copy_recursive libfile: add support for not clobbering files in copy_file fs: qemu_fw_cfg: support populating environment via QEMU fw_cfg commands/Kconfig | 4 +- commands/cp.c | 18 +- commands/defaultenv.c | 2 +- commands/tftp.c | 2 +- common/fastboot.c | 2 +- conftest.py | 22 ++ defaultenv/defaultenv.c | 22 ++ drivers/firmware/qemu_fw_cfg.c | 63 +++-- drivers/video/Kconfig | 2 +- drivers/video/ramfb.c | 116 ++++------ fs/Kconfig | 7 + fs/Makefile | 1 + fs/qemu_fw_cfg.c | 404 +++++++++++++++++++++++++++++++++ include/envfs.h | 5 + include/libfile.h | 8 +- include/string.h | 5 + lib/libfile.c | 43 +++- 17 files changed, 592 insertions(+), 134 deletions(-) create mode 100644 fs/qemu_fw_cfg.c -- 2.39.5
