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/fit=@boot.sh v1 -> v2: - drop already upstream patches - drop truncate (Sascha) - make writing files besides "raw" an error (Sascha) - mount file system unconditionally, so environment can be read from it Ahmad Fatoum (4): fs: add qemu_fw_cfg file system firmware: qemu_fw_cfg: register at device initcall level video: ramfb: use new qemu fw_cfg FS fs: qemu_fw_cfg: support populating environment via QEMU fw_cfg conftest.py | 22 ++ defaultenv/defaultenv.c | 22 ++ drivers/firmware/qemu_fw_cfg.c | 2 +- drivers/video/Kconfig | 2 +- drivers/video/ramfb.c | 98 ++------ fs/Kconfig | 7 + fs/Makefile | 1 + fs/qemu_fw_cfg.c | 446 +++++++++++++++++++++++++++++++++ include/envfs.h | 5 + include/string.h | 5 + 10 files changed, 525 insertions(+), 85 deletions(-) create mode 100644 fs/qemu_fw_cfg.c -- 2.39.5