[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