[PATCH 00/34] x86: expo: Add support for editing coreboot CMOS RAM settings
Simon Glass
sjg at chromium.org
Wed Nov 15 14:23:48 CET 2023
Hi Bin,
On Sun, 1 Oct 2023 at 19:16, Simon Glass <sjg at chromium.org> wrote:
>
> 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
>
>
> Simon Glass (34):
> test: Run tests that don't need devices
> test: Add a new suite for commands
> test: Add helper to skip to partial console line
> test: Make UT_LIB_ASN1 depend on sandbox
> test: Run bootstd tests only on sandbox
> test: Handle use of stack pointer in bdinfo
> test: bdinfo: Add missing asserts
> test: fdt: Add a special case for real boards
> test: font: Add dependencies on fonts
> test: event: Only run test_event_probe() on sandbox
> test: lmb: Move tests into the lib suite
> test: print: Skip test on x86
> video: Add a function to clear the display
> sandbox: Add a dummy booti command
> bootstd: Add a menu option to bootflow scan
> 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
> x86: CI: Update coreboot
> 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
>
> .azure-pipelines.yml | 2 +-
> .gitlab-ci.yml | 2 +-
> arch/sandbox/dts/cedit.dtsi | 3 +
> arch/sandbox/lib/bootm.c | 7 +
> arch/x86/dts/coreboot.dts | 7 +
> boot/Makefile | 4 +
> boot/cedit.c | 191 +++++++++++++++--------
> boot/expo.c | 3 +
> boot/expo_build.c | 36 ++---
> boot/expo_build_cb.c | 244 ++++++++++++++++++++++++++++++
> boot/scene.c | 61 ++++++--
> boot/scene_internal.h | 30 +++-
> boot/scene_menu.c | 26 +++-
> boot/scene_textline.c | 3 +-
> cmd/Kconfig | 14 +-
> cmd/bootflow.c | 27 +++-
> cmd/booti.c | 2 +-
> cmd/cedit.c | 28 ++++
> cmd/cls.c | 25 +--
> cmd/x86/Makefile | 1 +
> cmd/x86/cbcmos.c | 141 +++++++++++++++++
> cmd/x86/cbsysinfo.c | 73 ++++++++-
> common/console.c | 31 ++++
> configs/coreboot64_defconfig | 2 +
> configs/coreboot_defconfig | 6 +
> configs/tools-only_defconfig | 3 +-
> doc/board/coreboot/coreboot.rst | 6 +
> doc/develop/cedit.rst | 9 +-
> doc/develop/expo.rst | 26 +++-
> doc/usage/cmd/bootflow.rst | 5 +
> 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/console.h | 10 ++
> include/expo.h | 51 +++++--
> include/test/cedit-test.h | 30 ++--
> include/test/cmd.h | 15 ++
> include/test/suites.h | 1 +
> include/test/ut.h | 30 ++++
> include/video.h | 4 +-
> include/video_console.h | 8 +
> test/Kconfig | 6 +
> test/Makefile | 2 +-
> test/boot/bootflow.c | 82 ++++++++++
> 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 | 3 +
> test/cmd/bdinfo.c | 23 ++-
> test/cmd/cmd_ut_cmd.c | 21 +++
> test/cmd/coreboot.c | 120 +++++++++++++++
> test/cmd/fdt.c | 8 +-
> test/cmd/font.c | 6 +-
> test/cmd_ut.c | 8 +-
> test/common/event.c | 3 +
> test/lib/lmb.c | 36 ++---
> test/print_ut.c | 8 +
> test/test-main.c | 3 +-
> test/ut.c | 27 ++++
> tools/expo.py | 33 +++-
> 65 files changed, 1640 insertions(+), 216 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 include/test/cmd.h
> create mode 100644 test/cmd/cmd_ut_cmd.c
> create mode 100644 test/cmd/coreboot.c
>
> --
> 2.42.0.582.g8ccd20d70d-goog
>
Any thoughts on this series, please?
Regards,
Simon
More information about the U-Boot
mailing list