summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c')
-rw-r--r--MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
index 2f1762f037..8f2675228f 100644
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
@@ -205,7 +205,7 @@ TerminalConOutOutputString (
//
Mode = This->Mode;
- if (Mode->Mode > 2) {
+ if (Mode->Mode >= TERMINAL_MAX_MODE) {
return EFI_UNSUPPORTED;
}
@@ -414,7 +414,7 @@ TerminalConOutQueryMode (
OUT UINTN *Rows
)
{
- if (This->Mode->MaxMode > 3) {
+ if (This->Mode->MaxMode > TERMINAL_MAX_MODE) {
return EFI_DEVICE_ERROR;
}
@@ -430,6 +430,16 @@ TerminalConOutQueryMode (
*Columns = MODE2_COLUMN_COUNT;
*Rows = MODE2_ROW_COUNT;
return EFI_SUCCESS;
+ } else if (ModeNumber == 3) {
+ *Columns = (UINTN) PcdGet32 (PcdConOutColumn);
+ if (*Columns == 0) {
+ *Columns = MODE0_COLUMN_COUNT;
+ }
+ *Rows = (UINTN) PcdGet32 (PcdConOutRow);
+ if (*Rows == 0) {
+ *Rows = MODE0_ROW_COUNT;
+ }
+ return EFI_SUCCESS;
}
return EFI_UNSUPPORTED;
@@ -466,7 +476,7 @@ TerminalConOutSetMode (
//
TerminalDevice = TERMINAL_CON_OUT_DEV_FROM_THIS (This);
- if (ModeNumber > 2) {
+ if (ModeNumber >= TERMINAL_MAX_MODE) {
return EFI_UNSUPPORTED;
}