[PATCH v2 00/19] x86: expo: Add support for editing coreboot CMOS RAM settings
Simon Glass
sjg at chromium.org
Sat Jan 6 02:38:22 CET 2024
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.
Regards,
Simon
More information about the U-Boot
mailing list