[PATCH 00/19] expo: Support a persistent configuration editor
Simon Glass
sjg at chromium.org
Tue Aug 15 00:40:20 CEST 2023
So far cedit does not support reading and writing the configuration.
This series add several features related to this:
First, it adds support for using a file on a filesystem. This is in
FDT format and provides enough information to reset the cedit back to
the saved settings.
Second, it adds support for using the U-Boot environment. Since the
environment is generally saved across reboots, this feature provides an
easy way of storing the state on most boards. The variables all have a
'c.' prefix to avoid confusion with other variables.
Finally it adds support for using CMOS RAM. This is commonly used on x86
devices to store BIOS settings. The expo schema provides information on
the register layout.
Some other minor tweaks and improvements are included along the way.
Simon Glass (19):
expo: Make scene_obj_find() take a const scene
abuf: Allow incrementing the size
expo: Provide a way to iterate through all scene objects
expo: Refactor menu_build() to return the object created
expo: Split out cedit into its own header
expo: Move cedit test into its own file and tidy
expo: Add a function to prepare a cedit
expo: Tidy up the expo.py tool and usage
expo: Add documentation for the configuration editor
expo: Move cedit theme under bootstd
doc: Expand documentation for the cedit command
expo: Export scene_menuitem_find() for use in internal code
expo: cedit: Support writing settings to a file
expo: cedit: Support reading settings from a file
expo: cedit: Support writing settings to environment vars
expo: cedit: Support reading settings from environment vars
expo: cedit: Support writing settings to CMOS RAM
expo: cedit: Support reading settings from CMOS RAM
expo: doc: Update documentation for persistent settings
arch/sandbox/dts/sandbox.dtsi | 12 +-
arch/sandbox/dts/test.dts | 12 +-
boot/cedit.c | 569 +++++++++++++++++++++++++++++++-
boot/expo.c | 15 +
boot/expo_build.c | 22 +-
boot/scene.c | 18 +-
boot/scene_internal.h | 50 ++-
boot/scene_menu.c | 20 +-
cmd/cedit.c | 209 +++++++++++-
doc/develop/cedit.rst | 169 ++++++++++
doc/develop/expo.rst | 48 ++-
doc/develop/index.rst | 1 +
doc/usage/cmd/cedit.rst | 117 +++++++
include/abuf.h | 9 +
include/cedit.h | 125 +++++++
include/expo.h | 33 +-
lib/abuf.c | 5 +
test/boot/Makefile | 1 +
test/boot/cedit.c | 198 +++++++++++
test/boot/expo.c | 88 ++---
test/boot/files/expo_ids.h | 25 ++
test/boot/files/expo_layout.dts | 28 +-
test/lib/abuf.c | 25 ++
test/py/tests/test_ut.py | 4 +-
tools/expo.py | 22 +-
25 files changed, 1679 insertions(+), 146 deletions(-)
create mode 100644 doc/develop/cedit.rst
create mode 100644 include/cedit.h
create mode 100644 test/boot/cedit.c
create mode 100644 test/boot/files/expo_ids.h
--
2.41.0.694.ge786442a9b-goog
More information about the U-Boot
mailing list