[PATCH v2 00/19] x86: expo: Add support for editing coreboot CMOS RAM settings

Simon Glass sjg at chromium.org
Fri Jan 5 21:12:08 CET 2024


Hi Bin,

On Thu, Jan 4, 2024 at 4:02 PM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Hi Simon,
>
> On Thu, Jan 4, 2024 at 11:11 PM 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
> >
> > Changes in v2:
> > - Avoid using common.h
> > - Avoid using common.h
> > - Rebase to -next
> >
> > Simon Glass (19):
> >   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/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              | 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   |   6 +
> >  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                   |   2 +
> >  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/expo.py                     |  33 +++-
> >  41 files changed, 1309 insertions(+), 153 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
> >
>
> I have applied all patches in the queue to u-boot-x86/master. When
> testing coreboot with the graphics console, I found a regression. See
> below:
>
> With u-boot/master, I got:
> https://ibb.co/swt8ZQ5
>
> With u-boot-x86/master, I got:
> https://ibb.co/5MZ76mC
>
> As you can see, the text is crooked and misaligned. I didn't have time
> to locate which commit(s) is the culprit.
>
> Would you please take a look?

Actually this is WAI since it now uses a proportional font instead of
fixed width!

Regards,
Simon


More information about the U-Boot mailing list