diff mbox series

[U-Boot,1/1] efi_loader: EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.Reset()

Message ID 20180705175807.2661-1-xypron.glpk@gmx.de
State Accepted
Commit 9d12daff6c3c12a6c30c01a1937305c2e63fae8b
Delegated to: Alexander Graf
Headers show
Series [U-Boot,1/1] efi_loader: EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.Reset() | expand

Commit Message

Heinrich Schuchardt July 5, 2018, 5:58 p.m. UTC
Implement the reset service of the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.

This should resolve the error reported by the SCT in
Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestFunction_uefi.c:639

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 lib/efi_loader/efi_console.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c
index 3fd0d2fd51..b487288785 100644
--- a/lib/efi_loader/efi_console.c
+++ b/lib/efi_loader/efi_console.c
@@ -105,14 +105,6 @@  static int term_read_reply(int *n, int num, char end_char)
 	return 0;
 }
 
-static efi_status_t EFIAPI efi_cout_reset(
-			struct efi_simple_text_output_protocol *this,
-			char extended_verification)
-{
-	EFI_ENTRY("%p, %d", this, extended_verification);
-	return EFI_EXIT(EFI_UNSUPPORTED);
-}
-
 static efi_status_t EFIAPI efi_cout_output_string(
 			struct efi_simple_text_output_protocol *this,
 			const efi_string_t string)
@@ -341,6 +333,20 @@  static efi_status_t EFIAPI efi_cout_clear_screen(
 	return EFI_EXIT(EFI_SUCCESS);
 }
 
+static efi_status_t EFIAPI efi_cout_reset(
+			struct efi_simple_text_output_protocol *this,
+			char extended_verification)
+{
+	EFI_ENTRY("%p, %d", this, extended_verification);
+
+	/* Clear screen */
+	EFI_CALL(efi_cout_clear_screen(this));
+	/* Set default colors */
+	printf(ESC "[0;37;40m");
+
+	return EFI_EXIT(EFI_SUCCESS);
+}
+
 static efi_status_t EFIAPI efi_cout_set_cursor_position(
 			struct efi_simple_text_output_protocol *this,
 			unsigned long column, unsigned long row)