[PATCH v3 00/20] x86: expo: Add support for editing coreboot CMOS RAM settings
Simon Glass
sjg at chromium.org
Tue Oct 15 00:31:52 CEST 2024
U-Boot provides support for editing settings with an 'expo', as well as
reading and writing settings to CMOS RAM.
This series integrates expo functionality with coreboot, using the
sysinfo table to get a list of settings, creating an expo with them and
allowing them to be edited.
A new CI test provides coverage for some coreboot-related commands. For
this to work, a number of minor tweaks are made to existing tests, so
that they pass on coreboot (x86) or at least are skipped when they
cannot pass. Likely most of these fixes will apply to other boards too.
It includes several other fixes and improvements:
- new -m flag for 'bootflow scan' so it can display a menu automatically
- Fix for video-scrolling crash with Truetype
- menu items can now have individual integer values
- menu items are lined up according to the width of all menu labels
Changes in v3:
- Update Dockerfile instead
Changes in v2:
- Avoid using common.h
- Avoid using common.h
- Rebase to -next
Simon Glass (20):
video: Add a dark-grey console colour
video: Avoid starting a new line to close to the bottom
expo: Place menu items to the right of all labels
expo: Set the initial next_id to 1
expo: Use standard numbering for save and discard
expo: Allow menu items to have values
expo: Add a little more cedit CMOS logging
expo: Support menu-item values in cedit
expo: Drop unneceesary calls to expo_str()
expo: Drop scene_title_set()
expo: Add forward declaration for udevice to cedit
x86: coreboot: Enable unit tests
docker: Update coreboot
doc: Update coreboot's CI information
x86: coreboot: Add a test for cbsysinfo command
x86: coreboot: Show the option table
x86: coreboot: Enable support for the configuration editor
x86: coreboot: Add a command to check and update CMOS RAM
x86: coreboot: Allow building an expo for editing CMOS config
x86: Enable RTC command by default
arch/sandbox/dts/cedit.dtsi | 3 +
arch/x86/dts/coreboot.dts | 7 +
boot/Makefile | 3 +
boot/cedit.c | 191 +++++++++++++++--------
boot/expo.c | 3 +
boot/expo_build.c | 36 ++---
boot/expo_build_cb.c | 245 ++++++++++++++++++++++++++++++
boot/scene.c | 61 ++++++--
boot/scene_internal.h | 30 +++-
boot/scene_menu.c | 26 +++-
boot/scene_textline.c | 3 +-
cmd/Kconfig | 12 ++
cmd/cedit.c | 28 ++++
cmd/x86/Makefile | 1 +
cmd/x86/cbcmos.c | 139 +++++++++++++++++
cmd/x86/cbsysinfo.c | 73 ++++++++-
configs/coreboot64_defconfig | 2 +
configs/coreboot_defconfig | 6 +
doc/board/coreboot/coreboot.rst | 16 +-
doc/develop/cedit.rst | 9 +-
doc/develop/expo.rst | 26 +++-
doc/usage/cmd/cbcmos.rst | 45 ++++++
doc/usage/cmd/cbsysinfo.rst | 99 ++++++++++++
doc/usage/cmd/cedit.rst | 91 ++++++++++-
doc/usage/index.rst | 1 +
drivers/video/vidconsole-uclass.c | 4 +-
drivers/video/video-uclass.c | 3 +
include/cedit.h | 1 +
include/expo.h | 51 +++++--
include/test/cedit-test.h | 30 ++--
include/video.h | 4 +-
include/video_console.h | 8 +
test/boot/cedit.c | 22 ++-
test/boot/expo.c | 26 +++-
test/boot/files/expo_ids.h | 3 +-
test/boot/files/expo_layout.dts | 5 +-
test/cmd/Makefile | 1 +
test/cmd/coreboot.c | 119 +++++++++++++++
tools/docker/Dockerfile | 7 +-
tools/expo.py | 33 +++-
40 files changed, 1309 insertions(+), 164 deletions(-)
create mode 100644 boot/expo_build_cb.c
create mode 100644 cmd/x86/cbcmos.c
create mode 100644 doc/usage/cmd/cbcmos.rst
create mode 100644 test/cmd/coreboot.c
--
2.34.1
More information about the U-Boot
mailing list