[PATCH 00/11] firmware: qemu_fw_cfg: implement file system
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu Mar 13 03:17:17 PDT 2025
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
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
More information about the barebox
mailing list