[PATCH v3 2/3] efi_loader: Set default console colors on efi_cout_clear_screen if needed
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Nov 7 18:06:26 CET 2022
On 11/4/22 09:06, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka at siemens.com>
>
> Ensures a consistent background color of the whole screen for succeeding
> outputs as both demanded by the spec and implemented in EDK2 as well.
To which sentence in the UEFI 2.10 spec are you relating?
>
> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
> ---
> lib/efi_loader/efi_console.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c
> index 6ce0fcc168d..4228a509caf 100644
> --- a/lib/efi_loader/efi_console.c
> +++ b/lib/efi_loader/efi_console.c
> @@ -495,6 +495,12 @@ static efi_status_t EFIAPI efi_cout_clear_screen(
> {
> EFI_ENTRY("%p", this);
>
> + /* Set default colors if not done yet */
> + if (efi_con_mode.attribute == 0) {
> + efi_con_mode.attribute = 0x07;
> + printf(ESC "[0;37;40m");
These values are correct for CONFIG_SYS_WHITE_ON_BLACK=y. But for
CONFIG_SYS_WHITE_ON_BLACK=n I would expect black letters on white as
default.
This requires adding support background color values 100 - 107 (cf.
https://en.wikipedia.org/w/index.php?title=ANSI_escape_code§ion=15#3-bit_and_4-bit)
in vidconsole_escape_char().
UEFI background color white should be translated to 107 if
CONFIG_SYS_WHITE_ON_BLACK=n.
It seems this patch is trying to solve a problem caused by patch 1 of
the series. Or do I miss something?
Best regards
Heinrich
> + }
> +
> efi_clear_screen();
>
> return EFI_EXIT(EFI_SUCCESS);
More information about the U-Boot
mailing list