]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
Fix the terminal driver to call hotkey callback even no one is calling ReadKeyStroke
[mirror_edk2.git] / MdeModulePkg / Universal / Console / TerminalDxe / TerminalConOut.c
index 2f1762f037202a47e5b81ee09ba6bbe8e6af9078..8f2675228ff7f3350c4c5681ed2cff4bff764723 100644 (file)
@@ -205,7 +205,7 @@ TerminalConOutOutputString (
   //\r
   Mode = This->Mode;\r
 \r
-  if (Mode->Mode > 2) {\r
+  if (Mode->Mode >= TERMINAL_MAX_MODE) {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
@@ -414,7 +414,7 @@ TerminalConOutQueryMode (
   OUT UINTN                            *Rows\r
   )\r
 {\r
-  if (This->Mode->MaxMode > 3) {\r
+  if (This->Mode->MaxMode > TERMINAL_MAX_MODE) {\r
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
@@ -430,6 +430,16 @@ TerminalConOutQueryMode (
     *Columns  = MODE2_COLUMN_COUNT;\r
     *Rows     = MODE2_ROW_COUNT;\r
     return EFI_SUCCESS;\r
+  } else if (ModeNumber == 3) {\r
+    *Columns  = (UINTN) PcdGet32 (PcdConOutColumn);\r
+    if (*Columns == 0) {\r
+      *Columns = MODE0_COLUMN_COUNT;\r
+    }\r
+    *Rows  = (UINTN) PcdGet32 (PcdConOutRow);\r
+    if (*Rows == 0) {\r
+      *Rows     = MODE0_ROW_COUNT;\r
+    }\r
+    return EFI_SUCCESS;\r
   }\r
 \r
   return EFI_UNSUPPORTED;\r
@@ -466,7 +476,7 @@ TerminalConOutSetMode (
   //\r
   TerminalDevice = TERMINAL_CON_OUT_DEV_FROM_THIS (This);\r
 \r
-  if (ModeNumber > 2) {\r
+  if (ModeNumber >= TERMINAL_MAX_MODE) {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r