1. Removed #ifdef EDK_RELEASE_VERSION from all c files for all modules
2. Removed #ifdef EFI_SPECIFICATION_VERSION from all c files for all modules 3. Added comments for file VariableWorker.c git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2495 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,30 +1,30 @@
|
||||
/**@file
|
||||
Console Splitter Driver. Any Handle that attatched
|
||||
Console Splitter Driver. Any Handle that attatched
|
||||
EFI_CONSOLE_IDENTIFIER_PROTOCOL can be bound by this driver.
|
||||
|
||||
So far it works like any other driver by opening a SimpleTextIn and/or
|
||||
SimpleTextOut protocol with EFI_OPEN_PROTOCOL_BY_DRIVER attributes. The big
|
||||
|
||||
So far it works like any other driver by opening a SimpleTextIn and/or
|
||||
SimpleTextOut protocol with EFI_OPEN_PROTOCOL_BY_DRIVER attributes. The big
|
||||
difference is this driver does not layer a protocol on the passed in
|
||||
handle, or construct a child handle like a standard device or bus driver.
|
||||
This driver produces three virtual handles as children, one for console input
|
||||
handle, or construct a child handle like a standard device or bus driver.
|
||||
This driver produces three virtual handles as children, one for console input
|
||||
splitter, one for console output splitter and one for error output splitter.
|
||||
EFI_CONSOLE_SPLIT_PROTOCOL will be attatched onto each virtual handle to
|
||||
EFI_CONSOLE_SPLIT_PROTOCOL will be attatched onto each virtual handle to
|
||||
identify the splitter type.
|
||||
|
||||
|
||||
Each virtual handle, that supports both the EFI_CONSOLE_SPLIT_PROTOCOL
|
||||
and Console I/O protocol, will be produced in the driver entry point.
|
||||
and Console I/O protocol, will be produced in the driver entry point.
|
||||
The virtual handle are added on driver entry and never removed.
|
||||
Such design ensures sytem function well during none console device situation.
|
||||
|
||||
Copyright (c) 2006 Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Copyright (c) 2006 - 2007 Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#include "ConSplitter.h"
|
||||
@@ -104,18 +104,6 @@ STATIC TEXT_OUT_SPLITTER_PRIVATE_DATA mConOut = {
|
||||
0,
|
||||
FALSE,
|
||||
},
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
{
|
||||
ConSpliterUgaDrawGetMode,
|
||||
ConSpliterUgaDrawSetMode,
|
||||
ConSpliterUgaDrawBlt
|
||||
},
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
(EFI_UGA_PIXEL *) NULL,
|
||||
#else
|
||||
{
|
||||
ConSpliterGraphicsOutputQueryMode,
|
||||
ConSpliterGraphicsOutputSetMode,
|
||||
@@ -126,7 +114,6 @@ STATIC TEXT_OUT_SPLITTER_PRIVATE_DATA mConOut = {
|
||||
(TEXT_OUT_GOP_MODE *) NULL,
|
||||
0,
|
||||
TRUE,
|
||||
#endif
|
||||
{
|
||||
ConSpliterConsoleControlGetMode,
|
||||
ConSpliterConsoleControlSetMode,
|
||||
@@ -170,18 +157,6 @@ STATIC TEXT_OUT_SPLITTER_PRIVATE_DATA mStdErr = {
|
||||
0,
|
||||
FALSE,
|
||||
},
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
{
|
||||
ConSpliterUgaDrawGetMode,
|
||||
ConSpliterUgaDrawSetMode,
|
||||
ConSpliterUgaDrawBlt
|
||||
},
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
(EFI_UGA_PIXEL *) NULL,
|
||||
#else
|
||||
{
|
||||
ConSpliterGraphicsOutputQueryMode,
|
||||
ConSpliterGraphicsOutputSetMode,
|
||||
@@ -192,7 +167,6 @@ STATIC TEXT_OUT_SPLITTER_PRIVATE_DATA mStdErr = {
|
||||
(TEXT_OUT_GOP_MODE *) NULL,
|
||||
0,
|
||||
TRUE,
|
||||
#endif
|
||||
{
|
||||
ConSpliterConsoleControlGetMode,
|
||||
ConSpliterConsoleControlSetMode,
|
||||
@@ -259,12 +233,12 @@ ConSplitterDriverEntry (
|
||||
|
||||
Routine Description:
|
||||
Intialize a virtual console device to act as an agrigator of physical console
|
||||
devices.
|
||||
devices.
|
||||
|
||||
Arguments:
|
||||
ImageHandle - (Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT)
|
||||
SystemTable - (Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT)
|
||||
Returns:
|
||||
Returns:
|
||||
EFI_SUCCESS
|
||||
|
||||
--*/
|
||||
@@ -318,23 +292,6 @@ Returns:
|
||||
//
|
||||
Status = ConSplitterTextOutConstructor (&mConOut);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
//
|
||||
// In EFI mode, UGA Draw protocol is installed
|
||||
//
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&mConOut.VirtualHandle,
|
||||
&gEfiSimpleTextOutProtocolGuid,
|
||||
&mConOut.TextOut,
|
||||
&gEfiUgaDrawProtocolGuid,
|
||||
&mConOut.UgaDraw,
|
||||
&gEfiConsoleControlProtocolGuid,
|
||||
&mConOut.ConsoleControl,
|
||||
&gEfiPrimaryConsoleOutDeviceGuid,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
#else
|
||||
//
|
||||
// In UEFI mode, Graphics Output Protocol is installed on virtual handle.
|
||||
//
|
||||
@@ -350,7 +307,6 @@ Returns:
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
#endif
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
//
|
||||
@@ -388,7 +344,7 @@ Arguments:
|
||||
|
||||
ConInPrivate - A pointer to the TEXT_IN_SPLITTER_PRIVATE_DATA structure.
|
||||
|
||||
Returns:
|
||||
Returns:
|
||||
EFI_OUT_OF_RESOURCES - Out of resources.
|
||||
|
||||
--*/
|
||||
@@ -485,12 +441,6 @@ ConSplitterTextOutConstructor (
|
||||
ConOutPrivate->TextOutQueryData[0].Rows = 25;
|
||||
DevNullTextOutSetMode (ConOutPrivate, 0);
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
//
|
||||
// Setup the DevNullUgaDraw to 800 x 600 x 32 bits per pixel
|
||||
//
|
||||
ConSpliterUgaDrawSetMode (&ConOutPrivate->UgaDraw, 800, 600, 32, 60);
|
||||
#else
|
||||
//
|
||||
// Setup resource for mode information in Graphics Output Protocol interface
|
||||
//
|
||||
@@ -526,7 +476,6 @@ ConSplitterTextOutConstructor (
|
||||
//
|
||||
ConOutPrivate->GraphicsOutput.Mode->Mode = 0xffff;
|
||||
ConOutPrivate->GraphicsOutput.SetMode (&ConOutPrivate->GraphicsOutput, 0);
|
||||
#endif
|
||||
|
||||
return Status;
|
||||
}
|
||||
@@ -732,7 +681,7 @@ ConSplitterStart (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
agrogated console device on first call Start for a SimpleTextIn handle.
|
||||
|
||||
Arguments:
|
||||
@@ -793,7 +742,7 @@ ConSplitterConInDriverBindingStart (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
agrogated console device on first call Start for a SimpleTextIn handle.
|
||||
|
||||
Arguments:
|
||||
@@ -840,7 +789,7 @@ ConSplitterSimplePointerDriverBindingStart (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
agrogated console device on first call Start for a SimpleTextIn handle.
|
||||
|
||||
Arguments:
|
||||
@@ -882,7 +831,7 @@ ConSplitterConOutDriverBindingStart (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
agrogated console device on first call Start for a SimpleTextIn handle.
|
||||
|
||||
Arguments:
|
||||
@@ -946,21 +895,6 @@ Returns:
|
||||
Status = ConSplitterTextOutAddDevice (&mConOut, TextOut, GraphicsOutput, UgaDraw);
|
||||
ConSplitterTextOutSetAttribute (&mConOut.TextOut, EFI_TEXT_ATTR (EFI_LIGHTGRAY, EFI_BLACK));
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
//
|
||||
// Match the UGA mode data of ConOut with the current mode
|
||||
//
|
||||
if (UgaDraw != NULL) {
|
||||
UgaDraw->GetMode (
|
||||
UgaDraw,
|
||||
&mConOut.UgaHorizontalResolution,
|
||||
&mConOut.UgaVerticalResolution,
|
||||
&mConOut.UgaColorDepth,
|
||||
&mConOut.UgaRefreshRate
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -974,7 +908,7 @@ ConSplitterStdErrDriverBindingStart (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
Start ConSplitter on ControllerHandle, and create the virtual
|
||||
agrogated console device on first call Start for a SimpleTextIn handle.
|
||||
|
||||
Arguments:
|
||||
@@ -1930,7 +1864,6 @@ Returns:
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ConSplitterAddGraphicsOutputMode (
|
||||
@@ -2116,7 +2049,6 @@ Returns:
|
||||
|
||||
return Status;
|
||||
}
|
||||
#endif
|
||||
|
||||
EFI_STATUS
|
||||
ConSplitterTextOutAddDevice (
|
||||
@@ -2207,21 +2139,15 @@ Returns:
|
||||
MaxMode = Private->TextOutMode.MaxMode;
|
||||
ASSERT (MaxMode >= 1);
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
if ((GraphicsOutput != NULL) || (UgaDraw != NULL)) {
|
||||
ConSplitterAddGraphicsOutputMode (Private, GraphicsOutput, UgaDraw);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (Private->ConsoleOutputMode == EfiConsoleControlScreenGraphics && GraphicsOutput != NULL) {
|
||||
//
|
||||
// We just added a new UGA device in graphics mode
|
||||
//
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
DevNullGopSync (Private, GraphicsOutput, UgaDraw);
|
||||
#else
|
||||
DevNullUgaSync (Private, UgaDraw);
|
||||
#endif
|
||||
} else if ((CurrentMode >= 0) && ((GraphicsOutput != NULL) || (UgaDraw != NULL)) && (CurrentMode < Private->TextOutMode.MaxMode)) {
|
||||
//
|
||||
// The new console supports the same mode of the current console so sync up
|
||||
@@ -2351,7 +2277,7 @@ ConSplitterTextInReset (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The device was reset.
|
||||
EFI_DEVICE_ERROR - The device is not functioning properly and could
|
||||
EFI_DEVICE_ERROR - The device is not functioning properly and could
|
||||
not be reset.
|
||||
|
||||
--*/
|
||||
@@ -2390,7 +2316,7 @@ ConSplitterTextInPrivateReadKeyStroke (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
be used to test for existance of a keystroke via WaitForEvent () call.
|
||||
|
||||
Arguments:
|
||||
@@ -2400,7 +2326,7 @@ ConSplitterTextInPrivateReadKeyStroke (
|
||||
Returns:
|
||||
EFI_SUCCESS - The keystroke information was returned.
|
||||
EFI_NOT_READY - There was no keystroke data availiable.
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
hardware errors.
|
||||
|
||||
--*/
|
||||
@@ -2462,14 +2388,14 @@ ConSpliterConsoleControlLockStdInEvent (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This timer event will fire when StdIn is locked. It will check the key
|
||||
This timer event will fire when StdIn is locked. It will check the key
|
||||
sequence on StdIn to see if it matches the password. Any error in the
|
||||
password will cause the check to reset. As long a mConIn.PasswordEnabled is
|
||||
TRUE the StdIn splitter will not report any input.
|
||||
|
||||
Arguments:
|
||||
(Standard EFI_EVENT_NOTIFY)
|
||||
|
||||
|
||||
Returns:
|
||||
None
|
||||
|
||||
@@ -2546,7 +2472,7 @@ ConSpliterConsoleControlLockStdIn (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
If Password is NULL unlock the password state variable and set the event
|
||||
If Password is NULL unlock the password state variable and set the event
|
||||
timer. If the Password is too big return an error. If the Password is valid
|
||||
Copy the Password and enable state variable and then arm the periodic timer
|
||||
|
||||
@@ -2589,7 +2515,7 @@ ConSplitterTextInReadKeyStroke (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
be used to test for existance of a keystroke via WaitForEvent () call.
|
||||
If the ConIn is password locked make it look like no keystroke is availible
|
||||
|
||||
@@ -2600,7 +2526,7 @@ ConSplitterTextInReadKeyStroke (
|
||||
Returns:
|
||||
EFI_SUCCESS - The keystroke information was returned.
|
||||
EFI_NOT_READY - There was no keystroke data availiable.
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
hardware errors.
|
||||
|
||||
--*/
|
||||
@@ -2632,7 +2558,7 @@ Routine Description:
|
||||
This event agregates all the events of the ConIn devices in the spliter.
|
||||
If the ConIn is password locked then return.
|
||||
If any events of physical ConIn devices are signaled, signal the ConIn
|
||||
spliter event. This will cause the calling code to call
|
||||
spliter event. This will cause the calling code to call
|
||||
ConSplitterTextInReadKeyStroke ().
|
||||
|
||||
Arguments:
|
||||
@@ -2692,7 +2618,7 @@ ConSplitterSimplePointerReset (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The device was reset.
|
||||
EFI_DEVICE_ERROR - The device is not functioning properly and could
|
||||
EFI_DEVICE_ERROR - The device is not functioning properly and could
|
||||
not be reset.
|
||||
|
||||
--*/
|
||||
@@ -2735,17 +2661,17 @@ ConSplitterSimplePointerPrivateGetState (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
be used to test for existance of a keystroke via WaitForEvent () call.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
State -
|
||||
State -
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The keystroke information was returned.
|
||||
EFI_NOT_READY - There was no keystroke data availiable.
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
hardware errors.
|
||||
|
||||
--*/
|
||||
@@ -2814,18 +2740,18 @@ ConSplitterSimplePointerGetState (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
Reads the next keystroke from the input device. The WaitForKey Event can
|
||||
be used to test for existance of a keystroke via WaitForEvent () call.
|
||||
If the ConIn is password locked make it look like no keystroke is availible
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
State -
|
||||
State -
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The keystroke information was returned.
|
||||
EFI_NOT_READY - There was no keystroke data availiable.
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
EFI_DEVICE_ERROR - The keydtroke information was not returned due to
|
||||
hardware errors.
|
||||
|
||||
--*/
|
||||
@@ -2857,7 +2783,7 @@ Routine Description:
|
||||
This event agregates all the events of the ConIn devices in the spliter.
|
||||
If the ConIn is password locked then return.
|
||||
If any events of physical ConIn devices are signaled, signal the ConIn
|
||||
spliter event. This will cause the calling code to call
|
||||
spliter event. This will cause the calling code to call
|
||||
ConSplitterTextInReadKeyStroke ().
|
||||
|
||||
Arguments:
|
||||
@@ -2913,7 +2839,7 @@ ConSplitterTextOutReset (
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
ExtendedVerification - Driver may perform more exhaustive verfication
|
||||
ExtendedVerification - Driver may perform more exhaustive verfication
|
||||
operation of the device during reset.
|
||||
|
||||
Returns:
|
||||
@@ -2971,17 +2897,17 @@ ConSplitterTextOutOutputString (
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
String - The NULL-terminated Unicode string to be displayed on the output
|
||||
device(s). All output devices must also support the Unicode
|
||||
device(s). All output devices must also support the Unicode
|
||||
drawing defined in this file.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The string was output to the device.
|
||||
EFI_DEVICE_ERROR - The device reported an error while attempting to output
|
||||
the text.
|
||||
EFI_UNSUPPORTED - The output device's mode is not currently in a
|
||||
EFI_UNSUPPORTED - The output device's mode is not currently in a
|
||||
defined text mode.
|
||||
EFI_WARN_UNKNOWN_GLYPH - This warning code indicates that some of the
|
||||
characters in the Unicode string could not be
|
||||
EFI_WARN_UNKNOWN_GLYPH - This warning code indicates that some of the
|
||||
characters in the Unicode string could not be
|
||||
rendered and were skipped.
|
||||
|
||||
--*/
|
||||
@@ -3048,7 +2974,7 @@ ConSplitterTextOutTestString (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Verifies that all characters in a Unicode string can be output to the
|
||||
Verifies that all characters in a Unicode string can be output to the
|
||||
target device.
|
||||
|
||||
Arguments:
|
||||
@@ -3058,8 +2984,8 @@ ConSplitterTextOutTestString (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The device(s) are capable of rendering the output string.
|
||||
EFI_UNSUPPORTED - Some of the characters in the Unicode string cannot be
|
||||
rendered by one or more of the output devices mapped
|
||||
EFI_UNSUPPORTED - Some of the characters in the Unicode string cannot be
|
||||
rendered by one or more of the output devices mapped
|
||||
by the EFI handle.
|
||||
|
||||
--*/
|
||||
@@ -3115,7 +3041,7 @@ ConSplitterTextOutQueryMode (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The requested mode information was returned.
|
||||
EFI_DEVICE_ERROR - The device had an error and could not
|
||||
EFI_DEVICE_ERROR - The device had an error and could not
|
||||
complete the request.
|
||||
EFI_UNSUPPORTED - The mode number was not valid.
|
||||
|
||||
@@ -3132,7 +3058,7 @@ ConSplitterTextOutQueryMode (
|
||||
if ( (ModeNumber > (UINTN)(((UINT32)-1)>>1)) ) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
if ((INT32) ModeNumber >= This->Mode->MaxMode) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -3165,7 +3091,7 @@ ConSplitterTextOutSetMode (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The requested text mode was set.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The mode number was not valid.
|
||||
|
||||
@@ -3251,7 +3177,7 @@ ConSplitterTextOutSetAttribute (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The attribute was set.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The attribute requested is not defined.
|
||||
|
||||
@@ -3269,7 +3195,7 @@ ConSplitterTextOutSetAttribute (
|
||||
//
|
||||
if ( (Attribute > (UINTN)(((UINT32)-1)>>1)) ) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// return the worst status met
|
||||
@@ -3300,7 +3226,7 @@ ConSplitterTextOutClearScreen (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Clears the output device(s) display to the currently selected background
|
||||
Clears the output device(s) display to the currently selected background
|
||||
color.
|
||||
|
||||
Arguments:
|
||||
@@ -3308,7 +3234,7 @@ ConSplitterTextOutClearScreen (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The operation completed successfully.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode.
|
||||
|
||||
@@ -3362,9 +3288,9 @@ ConSplitterTextOutSetCursorPosition (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The operation completed successfully.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode, or the
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode, or the
|
||||
cursor position is invalid for the current mode.
|
||||
|
||||
--*/
|
||||
@@ -3424,7 +3350,7 @@ ConSplitterTextOutEnableCursor (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The operation completed successfully.
|
||||
EFI_DEVICE_ERROR - The device had an error and could not complete the
|
||||
EFI_DEVICE_ERROR - The device had an error and could not complete the
|
||||
request, or the device does not support changing
|
||||
the cursor mode.
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode.
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
|
||||
ConSplitterGraphics.c
|
||||
|
||||
Abstract:
|
||||
@@ -96,7 +96,7 @@ ConSpliterConsoleControlSetMode (
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Mode - Mode to set the
|
||||
Mode - Mode to set the
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Mode information returned.
|
||||
@@ -118,7 +118,7 @@ ConSpliterConsoleControlSetMode (
|
||||
|
||||
//
|
||||
// Judge current mode with wanted mode at first.
|
||||
//
|
||||
//
|
||||
if (Private->ConsoleOutputMode == Mode) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -147,11 +147,7 @@ ConSpliterConsoleControlSetMode (
|
||||
//
|
||||
if ((Mode == EfiConsoleControlScreenGraphics) &&((TextAndGop->GraphicsOutput != NULL) || (TextAndGop->UgaDraw != NULL))) {
|
||||
TextAndGop->TextOutEnabled = FALSE;
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
DevNullGopSync (Private, TextAndGop->GraphicsOutput, TextAndGop->UgaDraw);
|
||||
#else
|
||||
DevNullUgaSync (Private, TextAndGop->UgaDraw);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,7 +158,6 @@ ConSpliterConsoleControlSetMode (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterGraphicsOutputQueryMode (
|
||||
@@ -374,7 +369,7 @@ DevNullGraphicsOutputBlt (
|
||||
)
|
||||
{
|
||||
UINTN SrcY;
|
||||
BOOLEAN Forward;
|
||||
BOOLEAN Forward;
|
||||
UINTN Index;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltPtr;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *ScreenPtr;
|
||||
@@ -658,396 +653,6 @@ DevNullGopSync (
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterUgaDrawGetMode (
|
||||
IN EFI_UGA_DRAW_PROTOCOL *This,
|
||||
OUT UINT32 *HorizontalResolution,
|
||||
OUT UINT32 *VerticalResolution,
|
||||
OUT UINT32 *ColorDepth,
|
||||
OUT UINT32 *RefreshRate
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the current video mode information.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
HorizontalResolution - Current video horizontal resolution in pixels
|
||||
VerticalResolution - Current video vertical resolution in pixels
|
||||
ColorDepth - Current video color depth in bits per pixel
|
||||
RefreshRate - Current video refresh rate in Hz.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Mode information returned.
|
||||
EFI_NOT_STARTED - Video display is not initialized. Call SetMode ()
|
||||
EFI_INVALID_PARAMETER - One of the input args was NULL.
|
||||
|
||||
--*/
|
||||
{
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA *Private;
|
||||
|
||||
if (!(HorizontalResolution && VerticalResolution && RefreshRate && ColorDepth)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
//
|
||||
// retrieve private data
|
||||
//
|
||||
Private = UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
*HorizontalResolution = Private->UgaHorizontalResolution;
|
||||
*VerticalResolution = Private->UgaVerticalResolution;
|
||||
*ColorDepth = Private->UgaColorDepth;
|
||||
*RefreshRate = Private->UgaRefreshRate;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterUgaDrawSetMode (
|
||||
IN EFI_UGA_DRAW_PROTOCOL *This,
|
||||
IN UINT32 HorizontalResolution,
|
||||
IN UINT32 VerticalResolution,
|
||||
IN UINT32 ColorDepth,
|
||||
IN UINT32 RefreshRate
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the current video mode information.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
HorizontalResolution - Current video horizontal resolution in pixels
|
||||
VerticalResolution - Current video vertical resolution in pixels
|
||||
ColorDepth - Current video color depth in bits per pixel
|
||||
RefreshRate - Current video refresh rate in Hz.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Mode information returned.
|
||||
EFI_NOT_STARTED - Video display is not initialized. Call SetMode ()
|
||||
EFI_OUT_OF_RESOURCES - Out of resources.
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA *Private;
|
||||
UINTN Index;
|
||||
EFI_STATUS ReturnStatus;
|
||||
UINTN Size;
|
||||
|
||||
Private = UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
//
|
||||
// UgaDevNullSetMode ()
|
||||
//
|
||||
ReturnStatus = EFI_SUCCESS;
|
||||
|
||||
//
|
||||
// Free the old version
|
||||
//
|
||||
FreePool (Private->UgaBlt);
|
||||
|
||||
//
|
||||
// Allocate the virtual Blt buffer
|
||||
//
|
||||
Size = HorizontalResolution * VerticalResolution * sizeof (EFI_UGA_PIXEL);
|
||||
Private->UgaBlt = AllocateZeroPool (Size);
|
||||
if (Private->UgaBlt == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
//
|
||||
// Update the Mode data
|
||||
//
|
||||
Private->UgaHorizontalResolution = HorizontalResolution;
|
||||
Private->UgaVerticalResolution = VerticalResolution;
|
||||
Private->UgaColorDepth = ColorDepth;
|
||||
Private->UgaRefreshRate = RefreshRate;
|
||||
|
||||
if (Private->ConsoleOutputMode != EfiConsoleControlScreenGraphics) {
|
||||
return ReturnStatus;
|
||||
}
|
||||
//
|
||||
// return the worst status met
|
||||
//
|
||||
for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {
|
||||
if (Private->TextOutList[Index].UgaDraw != NULL) {
|
||||
Status = Private->TextOutList[Index].UgaDraw->SetMode (
|
||||
Private->TextOutList[Index].UgaDraw,
|
||||
HorizontalResolution,
|
||||
VerticalResolution,
|
||||
ColorDepth,
|
||||
RefreshRate
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ReturnStatus = Status;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ReturnStatus;
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
DevNullUgaBlt (
|
||||
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,
|
||||
IN EFI_UGA_PIXEL *BltBuffer, OPTIONAL
|
||||
IN EFI_UGA_BLT_OPERATION BltOperation,
|
||||
IN UINTN SourceX,
|
||||
IN UINTN SourceY,
|
||||
IN UINTN DestinationX,
|
||||
IN UINTN DestinationY,
|
||||
IN UINTN Width,
|
||||
IN UINTN Height,
|
||||
IN UINTN Delta OPTIONAL
|
||||
)
|
||||
{
|
||||
UINTN SrcY;
|
||||
BOOLEAN Forward;
|
||||
UINTN Index;
|
||||
EFI_UGA_PIXEL *BltPtr;
|
||||
EFI_UGA_PIXEL *ScreenPtr;
|
||||
UINT32 HorizontalResolution;
|
||||
UINT32 VerticalResolution;
|
||||
|
||||
if ((BltOperation < 0) || (BltOperation >= EfiUgaBltMax)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Width == 0 || Height == 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Delta == 0) {
|
||||
Delta = Width * sizeof (EFI_UGA_PIXEL);
|
||||
}
|
||||
|
||||
HorizontalResolution = Private->UgaHorizontalResolution;
|
||||
VerticalResolution = Private->UgaVerticalResolution;
|
||||
|
||||
//
|
||||
// We need to fill the Virtual Screen buffer with the blt data.
|
||||
//
|
||||
if (BltOperation == EfiUgaVideoToBltBuffer) {
|
||||
//
|
||||
// Video to BltBuffer: Source is Video, destination is BltBuffer
|
||||
//
|
||||
if ((SourceY + Height) > VerticalResolution) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if ((SourceX + Width) > HorizontalResolution) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
BltPtr = (EFI_UGA_PIXEL *) ((UINT8 *) BltBuffer + DestinationY * Delta + DestinationX * sizeof (EFI_UGA_PIXEL));
|
||||
ScreenPtr = &Private->UgaBlt[SourceY * HorizontalResolution + SourceX];
|
||||
while (Height) {
|
||||
CopyMem (BltPtr, ScreenPtr, Width * sizeof (EFI_UGA_PIXEL));
|
||||
BltPtr = (EFI_UGA_PIXEL *) ((UINT8 *) BltPtr + Delta);
|
||||
ScreenPtr += HorizontalResolution;
|
||||
Height--;
|
||||
}
|
||||
} else {
|
||||
//
|
||||
// BltBuffer to Video: Source is BltBuffer, destination is Video
|
||||
//
|
||||
if (DestinationY + Height > VerticalResolution) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (DestinationX + Width > HorizontalResolution) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if ((BltOperation == EfiUgaVideoToVideo) && (DestinationY > SourceY)) {
|
||||
//
|
||||
// Copy backwards, only care the Video to Video Blt
|
||||
//
|
||||
ScreenPtr = &Private->UgaBlt[(DestinationY + Height - 1) * HorizontalResolution + DestinationX];
|
||||
SrcY = SourceY + Height - 1;
|
||||
Forward = FALSE;
|
||||
} else {
|
||||
//
|
||||
// Copy forwards, for other cases
|
||||
//
|
||||
ScreenPtr = &Private->UgaBlt[DestinationY * HorizontalResolution + DestinationX];
|
||||
SrcY = SourceY;
|
||||
Forward = TRUE;
|
||||
}
|
||||
|
||||
while (Height != 0) {
|
||||
if (BltOperation == EfiUgaVideoFill) {
|
||||
for (Index = 0; Index < Width; Index++) {
|
||||
ScreenPtr[Index] = *BltBuffer;
|
||||
}
|
||||
} else {
|
||||
if (BltOperation == EfiUgaBltBufferToVideo) {
|
||||
BltPtr = (EFI_UGA_PIXEL *) ((UINT8 *) BltBuffer + SrcY * Delta + SourceX * sizeof (EFI_UGA_PIXEL));
|
||||
} else {
|
||||
BltPtr = &Private->UgaBlt[SrcY * HorizontalResolution + SourceX];
|
||||
}
|
||||
|
||||
CopyMem (ScreenPtr, BltPtr, Width * sizeof (EFI_UGA_PIXEL));
|
||||
}
|
||||
|
||||
if (Forward) {
|
||||
ScreenPtr += HorizontalResolution;
|
||||
SrcY ++;
|
||||
} else {
|
||||
ScreenPtr -= HorizontalResolution;
|
||||
SrcY --;
|
||||
}
|
||||
Height--;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterUgaDrawBlt (
|
||||
IN EFI_UGA_DRAW_PROTOCOL *This,
|
||||
IN EFI_UGA_PIXEL *BltBuffer, OPTIONAL
|
||||
IN EFI_UGA_BLT_OPERATION BltOperation,
|
||||
IN UINTN SourceX,
|
||||
IN UINTN SourceY,
|
||||
IN UINTN DestinationX,
|
||||
IN UINTN DestinationY,
|
||||
IN UINTN Width,
|
||||
IN UINTN Height,
|
||||
IN UINTN Delta OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
The following table defines actions for BltOperations:
|
||||
EfiUgaVideoFill - Write data from the BltBuffer pixel (SourceX, SourceY)
|
||||
directly to every pixel of the video display rectangle
|
||||
(DestinationX, DestinationY)
|
||||
(DestinationX + Width, DestinationY + Height).
|
||||
Only one pixel will be used from the BltBuffer. Delta is NOT used.
|
||||
EfiUgaVideoToBltBuffer - Read data from the video display rectangle
|
||||
(SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
|
||||
the BltBuffer rectangle (DestinationX, DestinationY )
|
||||
(DestinationX + Width, DestinationY + Height). If DestinationX or
|
||||
DestinationY is not zero then Delta must be set to the length in bytes
|
||||
of a row in the BltBuffer.
|
||||
EfiUgaBltBufferToVideo - Write data from the BltBuffer rectangle
|
||||
(SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
|
||||
video display rectangle (DestinationX, DestinationY)
|
||||
(DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
|
||||
not zero then Delta must be set to the length in bytes of a row in the
|
||||
BltBuffer.
|
||||
EfiUgaVideoToVideo - Copy from the video display rectangle
|
||||
(SourceX, SourceY) (SourceX + Width, SourceY + Height) .
|
||||
to the video display rectangle (DestinationX, DestinationY)
|
||||
(DestinationX + Width, DestinationY + Height).
|
||||
The BltBuffer and Delta are not used in this mode.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
BltBuffer - Buffer containing data to blit into video buffer. This
|
||||
buffer has a size of Width*Height*sizeof(EFI_UGA_PIXEL)
|
||||
BltOperation - Operation to perform on BlitBuffer and video memory
|
||||
SourceX - X coordinate of source for the BltBuffer.
|
||||
SourceY - Y coordinate of source for the BltBuffer.
|
||||
DestinationX - X coordinate of destination for the BltBuffer.
|
||||
DestinationY - Y coordinate of destination for the BltBuffer.
|
||||
Width - Width of rectangle in BltBuffer in pixels.
|
||||
Height - Hight of rectangle in BltBuffer in pixels.
|
||||
Delta -
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The Blt operation completed.
|
||||
EFI_INVALID_PARAMETER - BltOperation is not valid.
|
||||
EFI_DEVICE_ERROR - A hardware error occured writting to the video
|
||||
buffer.
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA *Private;
|
||||
UINTN Index;
|
||||
EFI_STATUS ReturnStatus;
|
||||
|
||||
Private = UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
//
|
||||
// Sync up DevNull UGA device
|
||||
//
|
||||
ReturnStatus = DevNullUgaBlt (
|
||||
Private,
|
||||
BltBuffer,
|
||||
BltOperation,
|
||||
SourceX,
|
||||
SourceY,
|
||||
DestinationX,
|
||||
DestinationY,
|
||||
Width,
|
||||
Height,
|
||||
Delta
|
||||
);
|
||||
if (Private->ConsoleOutputMode != EfiConsoleControlScreenGraphics) {
|
||||
return ReturnStatus;
|
||||
}
|
||||
//
|
||||
// return the worst status met
|
||||
//
|
||||
for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {
|
||||
if (Private->TextOutList[Index].UgaDraw != NULL) {
|
||||
Status = Private->TextOutList[Index].UgaDraw->Blt (
|
||||
Private->TextOutList[Index].UgaDraw,
|
||||
BltBuffer,
|
||||
BltOperation,
|
||||
SourceX,
|
||||
SourceY,
|
||||
DestinationX,
|
||||
DestinationY,
|
||||
Width,
|
||||
Height,
|
||||
Delta
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ReturnStatus = Status;
|
||||
} else if (BltOperation == EfiUgaVideoToBltBuffer) {
|
||||
//
|
||||
// Only need to read the data into buffer one time
|
||||
//
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ReturnStatus;
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
DevNullUgaSync (
|
||||
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,
|
||||
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
|
||||
)
|
||||
{
|
||||
return UgaDraw->Blt (
|
||||
UgaDraw,
|
||||
Private->UgaBlt,
|
||||
EfiUgaBltBufferToVideo,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
Private->UgaHorizontalResolution,
|
||||
Private->UgaVerticalResolution,
|
||||
Private->UgaHorizontalResolution * sizeof (EFI_UGA_PIXEL)
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
EFI_STATUS
|
||||
DevNullTextOutOutputString (
|
||||
@@ -1063,17 +668,17 @@ DevNullTextOutOutputString (
|
||||
Private - Pointer to the console output splitter's private data. It
|
||||
indicates the calling context.
|
||||
WString - The NULL-terminated Unicode string to be displayed on the output
|
||||
device(s). All output devices must also support the Unicode
|
||||
device(s). All output devices must also support the Unicode
|
||||
drawing defined in this file.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The string was output to the device.
|
||||
EFI_DEVICE_ERROR - The device reported an error while attempting to
|
||||
EFI_DEVICE_ERROR - The device reported an error while attempting to
|
||||
output the text.
|
||||
EFI_UNSUPPORTED - The output device's mode is not currently in a
|
||||
EFI_UNSUPPORTED - The output device's mode is not currently in a
|
||||
defined text mode.
|
||||
EFI_WARN_UNKNOWN_GLYPH - This warning code indicates that some of the
|
||||
characters in the Unicode string could not be
|
||||
EFI_WARN_UNKNOWN_GLYPH - This warning code indicates that some of the
|
||||
characters in the Unicode string could not be
|
||||
rendered and were skipped.
|
||||
|
||||
--*/
|
||||
@@ -1285,7 +890,7 @@ DevNullTextOutSetMode (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The requested text mode was set.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The mode number was not valid.
|
||||
EFI_OUT_OF_RESOURCES - Out of resources.
|
||||
@@ -1314,7 +919,7 @@ DevNullTextOutSetMode (
|
||||
Private->TextOutMode.Mode = (INT32) ModeNumber;
|
||||
Private->DevNullColumns = Column;
|
||||
Private->DevNullRows = Row;
|
||||
|
||||
|
||||
if (Private->DevNullScreen != NULL) {
|
||||
FreePool (Private->DevNullScreen);
|
||||
}
|
||||
@@ -1348,7 +953,7 @@ DevNullTextOutClearScreen (
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Clears the output device(s) display to the currently selected background
|
||||
Clears the output device(s) display to the currently selected background
|
||||
color.
|
||||
|
||||
Arguments:
|
||||
@@ -1356,7 +961,7 @@ DevNullTextOutClearScreen (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The operation completed successfully.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode.
|
||||
|
||||
@@ -1412,9 +1017,9 @@ DevNullTextOutSetCursorPosition (
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The operation completed successfully.
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
EFI_DEVICE_ERROR - The device had an error and
|
||||
could not complete the request.
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode, or the
|
||||
EFI_UNSUPPORTED - The output device is not in a valid text mode, or the
|
||||
cursor position is invalid for the current mode.
|
||||
|
||||
--*/
|
||||
@@ -1437,22 +1042,22 @@ DevNullTextOutEnableCursor (
|
||||
)
|
||||
/*++
|
||||
Routine Description:
|
||||
|
||||
|
||||
Implements SIMPLE_TEXT_OUTPUT.EnableCursor().
|
||||
In this driver, the cursor cannot be hidden.
|
||||
|
||||
In this driver, the cursor cannot be hidden.
|
||||
|
||||
Arguments:
|
||||
|
||||
|
||||
Private - Indicates the calling context.
|
||||
|
||||
Visible - If TRUE, the cursor is set to be visible, If FALSE, the cursor
|
||||
is set to be invisible.
|
||||
|
||||
Visible - If TRUE, the cursor is set to be visible, If FALSE, the cursor
|
||||
is set to be invisible.
|
||||
|
||||
Returns:
|
||||
|
||||
|
||||
EFI_SUCCESS - The request is valid.
|
||||
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
{
|
||||
Private->TextOutMode.CursorVisible = Visible;
|
||||
@@ -1467,15 +1072,15 @@ DevNullSyncGopStdOut (
|
||||
/*++
|
||||
Routine Description:
|
||||
Take the DevNull TextOut device and update the Simple Text Out on every
|
||||
UGA device.
|
||||
|
||||
UGA device.
|
||||
|
||||
Arguments:
|
||||
Private - Indicates the calling context.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The request is valid.
|
||||
other - Return status of TextOut->OutputString ()
|
||||
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
Reference in New Issue
Block a user