summaryrefslogtreecommitdiff
path: root/sysutils/u-boot-rpi3/files/patch-lib_efi__loader_efi__console.c
blob: 6262ba6ea588d450c196afa027a71603a4abe082 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
--- lib/efi_loader/efi_console.c.orig	2016-11-14 16:27:11 UTC
+++ lib/efi_loader/efi_console.c
@@ -9,9 +9,9 @@
 #include <common.h>
 #include <efi_loader.h>
 
-/* If we can't determine the console size, default to 80x24 */
+/* If we can't determine the console size, default to 80x25 */
 static int console_columns = 80;
-static int console_rows = 24;
+static int console_rows = 25;
 static bool console_size_queried;
 
 const efi_guid_t efi_guid_console_control = CONSOLE_CONTROL_GUID;
@@ -165,6 +165,8 @@ static efi_status_t EFIAPI efi_cout_quer
 			unsigned long mode_number, unsigned long *columns,
 			unsigned long *rows)
 {
+	unsigned long current_mode;
+
 	EFI_ENTRY("%p, %ld, %p, %p", this, mode_number, columns, rows);
 
 	if (!console_size_queried) {
@@ -196,6 +198,16 @@ static efi_status_t EFIAPI efi_cout_quer
 	}
 
 out:
+	if (console_columns == 80 && console_rows == 25)
+		current_mode = 0;
+	else if (console_columns == 80 && console_rows == 50)
+		current_mode = 1;
+	else
+		current_mode = 2;
+
+	if (mode_number != current_mode)
+		return EFI_EXIT(EFI_UNSUPPORTED);
+
 	if (columns)
 		*columns = console_columns;
 	if (rows)