[Concept,00/22] efi: Tidy up some commands and provide a keyboard driver

Message ID 20250925174753.3429102-1-sjg@u-boot.org
Headers
Series efi: Tidy up some commands and provide a keyboard driver |

Message

Simon Glass Sept. 25, 2025, 5:47 p.m. UTC
  From: Simon Glass <sjg@chromium.org>

This series collect various odds and ends to make the ARM EFI app show
a menu that looks reasonable, including truetype fonts and a new
keyboard driver, selectable by setting stdin to 'efi-kbd'.

Some highlights:

- fix some bugs in addr_find and part_find and adds docs / tests
- reset pager when clearing the console
- use at least 1G of memory with EFI since the app allocates 512M
- allow NEON registers so floating point can work (truetype)
- show the global_data flags with bdinfo


Simon Glass (22):
  bdinfo: Show the flags
  script: Use a minimum of 1G of memory for EFI
  console: Reset the pager when clearing the console
  doc: Fix up the booti examples
  efi: Avoid a memory leak in efi_bind_block() on error path
  efi: Drop config.h
  test: Drop an unwanted blank line in dm_test_video_box()
  test: Allow creating disks with a different Ubuntu version
  cmd: part_find: Correct radix and calls
  cmd: sandbox: efi: Enable part_find for sandbox and EFI app
  cmd: Refactor part_find() into separate functions
  doc: test: Add docs and test for part_find
  cmd: Update addr_find to use a simple lmb allocation
  cmd: Update addr_find to ignore the devicetree
  doc: test: Add docs and test for addr_find
  boot: Tidy up positioning in bootflow_menu_new()
  expo: Allow manual positioning of menu items
  Revert "ARM: Prevent the compiler from using NEON registers"
  efi: Enable truetype in the ARM app
  efi: arm: Drop setting of fdt_addr
  efi: Move key decoding into a shared file
  efi: app: Provide a keyboard driver

 arch/arm/config.mk                    |   1 -
 arch/arm/dts/efi-arm_app.dts          |   4 +
 board/efi/efi-arm_app/efi-arm_app.env |   1 -
 boot/bootflow_menu.c                  |   8 +-
 boot/scene.c                          |  14 +++
 cmd/Kconfig                           |   5 +-
 cmd/addr_find.c                       |  23 ++--
 cmd/bdinfo.c                          |   1 +
 cmd/part_find.c                       | 154 ++++++++++++++---------
 common/console.c                      |   1 +
 configs/efi-arm_app64_defconfig       |   1 +
 doc/usage/cmd/addr_find.rst           |  63 ++++++++++
 doc/usage/cmd/booti.rst               |   4 +-
 doc/usage/cmd/part_find.rst           | 119 ++++++++++++++++++
 doc/usage/index.rst                   |   2 +
 drivers/input/Kconfig                 |  14 +++
 drivers/input/Makefile                |   2 +
 drivers/input/efi_keyb.c              | 173 ++++++++++++++++++++++++++
 drivers/net/efi_net.c                 |   1 -
 drivers/serial/serial_efi.c           |  15 +--
 drivers/tpm/tpm2_efi.c                |   1 -
 include/efi.h                         |  32 +++++
 include/expo.h                        |  27 +++-
 lib/efi/Makefile                      |   1 +
 lib/efi/input.c                       |  40 ++++++
 lib/efi_client/efi_app_init.c         |   4 +-
 scripts/build-efi                     |   2 +-
 test/cmd/Makefile                     |   2 +
 test/cmd/addr_find.c                  |  27 ++++
 test/cmd/bdinfo.c                     |   1 +
 test/cmd/part_find.c                  |  42 +++++++
 test/dm/video.c                       |   1 -
 test/py/img/ubuntu.py                 |   8 +-
 33 files changed, 683 insertions(+), 111 deletions(-)
 create mode 100644 doc/usage/cmd/addr_find.rst
 create mode 100644 doc/usage/cmd/part_find.rst
 create mode 100644 drivers/input/efi_keyb.c
 create mode 100644 lib/efi/input.c
 create mode 100644 test/cmd/addr_find.c
 create mode 100644 test/cmd/part_find.c