mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-28 08:04:07 +02:00
1.Fixed the bug when retrieved component name by child handle. It should used gEfiConsoleInDeviceGuid, gEfiConsoleOutDeviceGuid instead of gEfiSimpleTextInProtocolGuid and gEfiSimpleTextOutProtocolGuid.
2.Fixed one bug when creating Console Standard error handle. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10350 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
f43b0774f2
commit
76649bf4d8
@ -1,7 +1,7 @@
|
|||||||
/** @file
|
/** @file
|
||||||
UEFI Component Name(2) protocol implementation for ConSplitter driver.
|
UEFI Component Name(2) protocol implementation for ConSplitter driver.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -381,7 +381,7 @@ ConSplitterConInComponentNameGetControllerName (
|
|||||||
Status = ConSplitterTestControllerHandles (
|
Status = ConSplitterTestControllerHandles (
|
||||||
ControllerHandle,
|
ControllerHandle,
|
||||||
gConSplitterConInDriverBinding.DriverBindingHandle,
|
gConSplitterConInDriverBinding.DriverBindingHandle,
|
||||||
&gEfiSimpleTextInProtocolGuid,
|
&gEfiConsoleInDeviceGuid,
|
||||||
ChildHandle,
|
ChildHandle,
|
||||||
&gEfiConsoleInDeviceGuid
|
&gEfiConsoleInDeviceGuid
|
||||||
);
|
);
|
||||||
@ -658,7 +658,7 @@ ConSplitterConOutComponentNameGetControllerName (
|
|||||||
Status = ConSplitterTestControllerHandles (
|
Status = ConSplitterTestControllerHandles (
|
||||||
ControllerHandle,
|
ControllerHandle,
|
||||||
gConSplitterConOutDriverBinding.DriverBindingHandle,
|
gConSplitterConOutDriverBinding.DriverBindingHandle,
|
||||||
&gEfiSimpleTextOutProtocolGuid,
|
&gEfiConsoleOutDeviceGuid,
|
||||||
ChildHandle,
|
ChildHandle,
|
||||||
&gEfiConsoleOutDeviceGuid
|
&gEfiConsoleOutDeviceGuid
|
||||||
);
|
);
|
||||||
@ -758,7 +758,7 @@ ConSplitterStdErrComponentNameGetControllerName (
|
|||||||
Status = ConSplitterTestControllerHandles (
|
Status = ConSplitterTestControllerHandles (
|
||||||
ControllerHandle,
|
ControllerHandle,
|
||||||
gConSplitterStdErrDriverBinding.DriverBindingHandle,
|
gConSplitterStdErrDriverBinding.DriverBindingHandle,
|
||||||
&gEfiSimpleTextOutProtocolGuid,
|
&gEfiStandardErrorDeviceGuid,
|
||||||
ChildHandle,
|
ChildHandle,
|
||||||
&gEfiStandardErrorDeviceGuid
|
&gEfiStandardErrorDeviceGuid
|
||||||
);
|
);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
never removed. Such design ensures sytem function well during none console
|
never removed. Such design ensures sytem function well during none console
|
||||||
device situation.
|
device situation.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. <BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -959,7 +959,7 @@ ConSplitterStart (
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create virtual handle and open DeviceGuid on the virtul handle.
|
// Open the Parent Handle for the child.
|
||||||
//
|
//
|
||||||
Status = gBS->OpenProtocol (
|
Status = gBS->OpenProtocol (
|
||||||
ControllerHandle,
|
ControllerHandle,
|
||||||
@ -1320,6 +1320,17 @@ ConSplitterStdErrDriverBindingStart (
|
|||||||
// Construct console output devices' private data
|
// Construct console output devices' private data
|
||||||
//
|
//
|
||||||
Status = ConSplitterTextOutConstructor (&mStdErr);
|
Status = ConSplitterTextOutConstructor (&mStdErr);
|
||||||
|
if (!EFI_ERROR (Status)) {
|
||||||
|
//
|
||||||
|
// Create virtual device handle for StdErr Splitter
|
||||||
|
//
|
||||||
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
|
&mStdErr.VirtualHandle,
|
||||||
|
&gEfiSimpleTextOutProtocolGuid,
|
||||||
|
&mStdErr.TextOut,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
}
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
@ -1358,19 +1369,6 @@ ConSplitterStdErrDriverBindingStart (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mStdErr.CurrentNumberOfConsoles == 1) {
|
if (mStdErr.CurrentNumberOfConsoles == 1) {
|
||||||
//
|
|
||||||
// Create virtual device handle for StdErr Splitter
|
|
||||||
//
|
|
||||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
|
||||||
&mStdErr.VirtualHandle,
|
|
||||||
&gEfiSimpleTextOutProtocolGuid,
|
|
||||||
&mStdErr.TextOut,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
gST->StandardErrorHandle = mStdErr.VirtualHandle;
|
gST->StandardErrorHandle = mStdErr.VirtualHandle;
|
||||||
gST->StdErr = &mStdErr.TextOut;
|
gST->StdErr = &mStdErr.TextOut;
|
||||||
//
|
//
|
||||||
@ -1726,6 +1724,8 @@ ConSplitterStdErrDriverBindingStop (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mStdErr.CurrentNumberOfConsoles == 0) {
|
if (mStdErr.CurrentNumberOfConsoles == 0) {
|
||||||
|
mStdErr.VirtualHandle = NULL;
|
||||||
|
|
||||||
gST->StandardErrorHandle = NULL;
|
gST->StandardErrorHandle = NULL;
|
||||||
gST->StdErr = NULL;
|
gST->StdErr = NULL;
|
||||||
//
|
//
|
||||||
@ -2651,7 +2651,7 @@ ConSplitterAddGraphicsOutputMode (
|
|||||||
CurrentGraphicsOutputMode->SizeOfInfo = GraphicsOutput->Mode->SizeOfInfo;
|
CurrentGraphicsOutputMode->SizeOfInfo = GraphicsOutput->Mode->SizeOfInfo;
|
||||||
CurrentGraphicsOutputMode->FrameBufferBase = GraphicsOutput->Mode->FrameBufferBase;
|
CurrentGraphicsOutputMode->FrameBufferBase = GraphicsOutput->Mode->FrameBufferBase;
|
||||||
CurrentGraphicsOutputMode->FrameBufferSize = GraphicsOutput->Mode->FrameBufferSize;
|
CurrentGraphicsOutputMode->FrameBufferSize = GraphicsOutput->Mode->FrameBufferSize;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Allocate resource for the private mode buffer
|
// Allocate resource for the private mode buffer
|
||||||
//
|
//
|
||||||
@ -2912,7 +2912,7 @@ ConsplitterSetConsoleOutMode (
|
|||||||
//
|
//
|
||||||
Status = TextOut->SetMode (TextOut, BaseMode);
|
Status = TextOut->SetMode (TextOut, BaseMode);
|
||||||
ASSERT(!EFI_ERROR(Status));
|
ASSERT(!EFI_ERROR(Status));
|
||||||
|
|
||||||
PcdSet32 (PcdConOutColumn, 80);
|
PcdSet32 (PcdConOutColumn, 80);
|
||||||
PcdSet32 (PcdConOutRow, 25);
|
PcdSet32 (PcdConOutRow, 25);
|
||||||
}
|
}
|
||||||
@ -3045,10 +3045,10 @@ ConSplitterTextOutAddDevice (
|
|||||||
// if GetMode is successfully and UGA device hasn't been set, set it
|
// if GetMode is successfully and UGA device hasn't been set, set it
|
||||||
//
|
//
|
||||||
Status = ConSplitterUgaDrawSetMode (
|
Status = ConSplitterUgaDrawSetMode (
|
||||||
&Private->UgaDraw,
|
&Private->UgaDraw,
|
||||||
UgaHorizontalResolution,
|
UgaHorizontalResolution,
|
||||||
UgaVerticalResolution,
|
UgaVerticalResolution,
|
||||||
UgaColorDepth,
|
UgaColorDepth,
|
||||||
UgaRefreshRate
|
UgaRefreshRate
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3057,10 +3057,10 @@ ConSplitterTextOutAddDevice (
|
|||||||
//
|
//
|
||||||
if(EFI_ERROR (Status)) {
|
if(EFI_ERROR (Status)) {
|
||||||
Status = ConSplitterUgaDrawSetMode (
|
Status = ConSplitterUgaDrawSetMode (
|
||||||
&Private->UgaDraw,
|
&Private->UgaDraw,
|
||||||
800,
|
800,
|
||||||
600,
|
600,
|
||||||
32,
|
32,
|
||||||
60
|
60
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3688,8 +3688,8 @@ ConSplitterTextInUnregisterKeyNotify (
|
|||||||
|
|
||||||
if (((TEXT_IN_EX_SPLITTER_NOTIFY *) NotificationHandle)->Signature != TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE) {
|
if (((TEXT_IN_EX_SPLITTER_NOTIFY *) NotificationHandle)->Signature != TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE) {
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
Private = TEXT_IN_EX_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
Private = TEXT_IN_EX_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user