mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
efi_loader: clear screen should move cursor to home
On a VT100 terminal <ESC>[2J should be enough to both clear the whole screen and set the cursor to position (1, 1). But the Linux console does not behave like this. So send an extra <ESC>[H. For reference see the console_codes(4) man page. Add a function description. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
3510280960
commit
b0ad9b5b2a
1 changed files with 15 additions and 1 deletions
|
@ -360,12 +360,26 @@ static efi_status_t EFIAPI efi_cout_set_attribute(
|
||||||
return EFI_EXIT(EFI_SUCCESS);
|
return EFI_EXIT(EFI_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* efi_cout_clear_screen() - clear screen
|
||||||
|
*
|
||||||
|
* This function implements the ClearScreen service of the
|
||||||
|
* EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. See the Unified Extensible Firmware
|
||||||
|
* Interface (UEFI) specification for details.
|
||||||
|
*
|
||||||
|
* @this: pointer to the protocol instance
|
||||||
|
* Return: status code
|
||||||
|
*/
|
||||||
static efi_status_t EFIAPI efi_cout_clear_screen(
|
static efi_status_t EFIAPI efi_cout_clear_screen(
|
||||||
struct efi_simple_text_output_protocol *this)
|
struct efi_simple_text_output_protocol *this)
|
||||||
{
|
{
|
||||||
EFI_ENTRY("%p", this);
|
EFI_ENTRY("%p", this);
|
||||||
|
|
||||||
printf(ESC"[2J");
|
/*
|
||||||
|
* The Linux console wants both a clear and a home command. The video
|
||||||
|
* uclass does not support <ESC>[H without coordinates, yet.
|
||||||
|
*/
|
||||||
|
printf(ESC "[2J" ESC "[1;1H");
|
||||||
efi_con_mode.cursor_column = 0;
|
efi_con_mode.cursor_column = 0;
|
||||||
efi_con_mode.cursor_row = 0;
|
efi_con_mode.cursor_row = 0;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue