diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-01-17 05:56:45 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-01-17 05:56:45 +0000 |
commit | 3012ce5cf75f938a79c70568595454e27b2f014a (patch) | |
tree | d924d6c391796ef7ccc54d743f02d2db49ec0b86 /MdeModulePkg/Universal/Console/TerminalDxe | |
parent | b290614d493ff72fc2a4410d169314e501b7e79e (diff) | |
download | edk2-3012ce5cf75f938a79c70568595454e27b2f014a.zip edk2-3012ce5cf75f938a79c70568595454e27b2f014a.tar.gz edk2-3012ce5cf75f938a79c70568595454e27b2f014a.tar.bz2 |
1. Fixed bugs in DxeNetLib to meet consistence with network module DriverBinding protocol.
2. Sync bugs in console modules.
3. Sync bugs in PlatDriOverLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4571 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/Console/TerminalDxe')
3 files changed, 39 insertions, 10 deletions
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c index aaeca12..8a38aa8 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c +++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c @@ -489,8 +489,30 @@ TerminalDriverBindingStart ( //
// Simple Text Output Protocol
//
+ TerminalDevice->SimpleTextOutput.Reset = TerminalConOutReset;
+ TerminalDevice->SimpleTextOutput.OutputString = TerminalConOutOutputString;
+ TerminalDevice->SimpleTextOutput.TestString = TerminalConOutTestString;
+ TerminalDevice->SimpleTextOutput.QueryMode = TerminalConOutQueryMode;
+ TerminalDevice->SimpleTextOutput.SetMode = TerminalConOutSetMode;
+ TerminalDevice->SimpleTextOutput.SetAttribute = TerminalConOutSetAttribute;
+ TerminalDevice->SimpleTextOutput.ClearScreen = TerminalConOutClearScreen;
+ TerminalDevice->SimpleTextOutput.SetCursorPosition = TerminalConOutSetCursorPosition;
+ TerminalDevice->SimpleTextOutput.EnableCursor = TerminalConOutEnableCursor;
TerminalDevice->SimpleTextOutput.Mode = &TerminalDevice->SimpleTextOutputMode;
+ TerminalDevice->SimpleTextOutputMode.MaxMode = 2;
+ //
+ // For terminal devices, cursor is always visible
+ //
+ TerminalDevice->SimpleTextOutputMode.CursorVisible = TRUE;
+ Status = TerminalDevice->SimpleTextOutput.SetAttribute (
+ &TerminalDevice->SimpleTextOutput,
+ EFI_TEXT_ATTR (EFI_LIGHTGRAY, EFI_BLACK)
+ );
+ if (EFI_ERROR (Status)) {
+ goto ReportError;
+ }
+
Status = TerminalDevice->SimpleTextOutput.Reset (
&TerminalDevice->SimpleTextOutput,
FALSE
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h index b352c66..103adfb 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h +++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h @@ -143,6 +143,8 @@ typedef union { #define MODE0_COLUMN_COUNT 80
#define MODE0_ROW_COUNT 25
+#define MODE1_COLUMN_COUNT 100
+#define MODE1_ROW_COUNT 31
#define BACKSPACE 8
#define ESC 27
#define CSI 0x9B
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c index 1931c22..74def9e 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c @@ -226,11 +226,11 @@ TerminalConOutOutputString ( TerminalDevice = TERMINAL_CON_OUT_DEV_FROM_THIS (This);
//
- // get current display mode
- // Terminal driver only support mode 0
+ // Get current display mode
//
Mode = This->Mode;
- if (Mode->Mode != 0) {
+
+ if (Mode->Mode > 1) {
return EFI_UNSUPPORTED;
}
@@ -464,15 +464,17 @@ TerminalConOutQueryMode ( --*/
{
- if (This->Mode->MaxMode > 1) {
+ if (This->Mode->MaxMode > 2) {
return EFI_DEVICE_ERROR;
}
if (ModeNumber == 0) {
-
*Columns = MODE0_COLUMN_COUNT;
*Rows = MODE0_ROW_COUNT;
-
+ return EFI_SUCCESS;
+ } else if (ModeNumber == 1) {
+ *Columns = MODE1_COLUMN_COUNT;
+ *Rows = MODE1_ROW_COUNT;
return EFI_SUCCESS;
}
@@ -521,11 +523,14 @@ TerminalConOutSetMode ( //
TerminalDevice = TERMINAL_CON_OUT_DEV_FROM_THIS (This);
- if (ModeNumber != 0) {
+ if (ModeNumber > 1) {
return EFI_UNSUPPORTED;
}
-
- This->Mode->Mode = 0;
+
+ //
+ // Set the current mode
+ //
+ This->Mode->Mode = (INT32) ModeNumber;
This->ClearScreen (This);
@@ -537,7 +542,7 @@ TerminalConOutSetMode ( return EFI_DEVICE_ERROR;
}
- This->Mode->Mode = 0;
+ This->Mode->Mode = (INT32) ModeNumber;
Status = This->ClearScreen (This);
if (EFI_ERROR (Status)) {
|