[PATCH 00/11] firmware: qemu_fw_cfg: implement file system

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Apr 22 01:02:14 PDT 2025


Hello Sascha,

On 13.03.25 11:17, Ahmad Fatoum wrote:
> 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

Could the first four patch be applied for now until I revisit
the file system implementation?

Thanks,
Ahmad

> 
> 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
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list