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

Bin Meng bmeng.cn at gmail.com
Sat Jan 6 05:12:10 CET 2024


Hi Simon,

On Sat, Jan 6, 2024 at 9:38 AM Simon Glass <sjg at chromium.org> wrote:
>
> Hi Bin,
>
> On Fri, Jan 5, 2024 at 4:06 PM Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > Hi Simon,
> >
> > On Sat, Jan 6, 2024 at 4:12 AM Simon Glass <sjg at chromium.org> wrote:
> > >
> > > 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!
> >
> > Since we are talking about the graphics console, and for consoles the
> > fonts used are usually fixed width ones.
> > What it is now looks really bad. Where do yo need proportional font?
> >
> > Can we switch fonts dynamically?
>
> Yes, it is possible, if multiple fonts are enabled; or we could just
> use a monospace one by default.
>

Would you please prepare some new patches, to keep the default console
font as fixed width and select proportional font one some other place
you need that?

Regards,
Bin


More information about the U-Boot mailing list