1. Perfect libraries MSA files

2. Use MemoryAllocationLib to replace gBS memory services in EdkEt32Pkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2517 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2007-03-30 06:15:19 +00:00
parent db29f969a9
commit fa332de749
43 changed files with 893 additions and 1042 deletions

View File

@ -1,19 +1,19 @@
/*++
Copyright (c) 2006, 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:
MiscSubclassDriverEntryPoint.c
Abstract:
Abstract:
This driver parses the mMiscSubclassDataTable structure and reports
any generated data to the DataHub.
@ -201,7 +201,7 @@ Returns:
//
PackageList = PreparePackages (1, &gEfiMiscSubClassGuid, MiscSubclassStrings);
EfiStatus = Hii->NewPack (Hii, PackageList, &HiiHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
if (EFI_ERROR (EfiStatus)) {
DEBUG ((EFI_D_ERROR, "Could not log default strings to Hii. %r\n", EfiStatus));
@ -351,8 +351,8 @@ Routine Description:
Arguments:
String - Unicode string.
Returns:
UINTN of the number represented by String.
Returns:
UINTN of the number represented by String.
--*/
{

View File

@ -445,7 +445,7 @@ Returns:
TmpStr = GetStringById (STRING_TOKEN (STR_BOOT_SUCCEEDED));
if (TmpStr != NULL) {
BdsLibOutputStrings (gST->ConOut, TmpStr, Option->Description, L"\n\r", NULL);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
}
@ -487,7 +487,7 @@ Returns:
TmpStr = GetStringById (STRING_TOKEN (STR_BOOT_FAILED));
if (TmpStr != NULL) {
BdsLibOutputStrings (gST->ConOut, TmpStr, Option->Description, L"\n\r", NULL);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
}

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -486,19 +486,19 @@ BdsDeleteAllInvalidLegacyBootOptions (
Index++;
continue;
}
//
// Check if BBS Description String is changed
//
DescStringMatch = FALSE;
BdsBuildLegacyDevNameString (
&LocalBbsTable[BbsIndex],
BbsIndex,
sizeof(BootDesc),
&LocalBbsTable[BbsIndex],
BbsIndex,
sizeof(BootDesc),
BootDesc
);
if (StrCmp (BootDesc, (UINT16*)(BootOptionVar + sizeof (UINT32) + sizeof (UINT16))) == 0) {
DescStringMatch = TRUE;
}
@ -634,7 +634,7 @@ BdsCreateOneLegacyBootOption (
);
BbsItem->BootPriority = 0x00;
gBS->FreePool (DevPath);
FreePool (DevPath);
return Status;
}

View File

@ -1,18 +1,18 @@
/*++
Copyright (c) 2006, 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:
BmLib.c
AgBStract:
Boot Maintainence Helper functions
@ -30,13 +30,13 @@ EfiLibLocateProtocol (
Routine Description:
Find the first instance of this Protocol
Find the first instance of this Protocol
in the system and return it's interface
Arguments:
ProtocolGuid - Provides the protocol to search for
Interface - On return, a pointer to the first interface
Interface - On return, a pointer to the first interface
that matches ProtocolGuid
Returns:
@ -72,7 +72,7 @@ Arguments:
DeviceHandle - A handle for a device
Returns:
A valid file handle or NULL is returned
--*/
@ -118,7 +118,7 @@ EfiGrowBuffer (
Routine Description:
Helper function called as part of the code needed
to allocate the proper sized buffer for various
to allocate the proper sized buffer for various
EFI interfaces.
Arguments:
@ -128,10 +128,10 @@ Arguments:
Buffer - Current allocated buffer, or NULL
BufferSize - Current buffer size needed
Returns:
TRUE - if the buffer was reallocated and the caller
TRUE - if the buffer was reallocated and the caller
should try the API again.
--*/
@ -182,7 +182,7 @@ Routine Description:
Function returns the value of the specified variable.
Arguments:
Name - A Null-terminated Unicode string that is
Name - A Null-terminated Unicode string that is
the name of the vendor's variable.
VendorGuid - A unique identifier for the vendor.
@ -209,7 +209,7 @@ Routine Description:
Function deletes the variable specified by VarName and VarGuid.
Arguments:
VarName - A Null-terminated Unicode string that is
VarName - A Null-terminated Unicode string that is
the name of the vendor's variable.
VendorGuid - A unique identifier for the vendor.
@ -252,7 +252,7 @@ EfiLibFileSystemVolumeLabelInfo (
Routine Description:
Function gets the file system information from an open file descriptor,
Function gets the file system information from an open file descriptor,
and stores it in a buffer allocated from pool.
Arguments:
@ -260,7 +260,7 @@ Arguments:
Fhand - A file handle
Returns:
A pointer to a buffer with file information or NULL is returned
--*/
@ -315,7 +315,7 @@ EfiLibFileInfo (
Routine Description:
Function gets the file information from an open file descriptor, and stores it
Function gets the file information from an open file descriptor, and stores it
in a buffer allocated from pool.
Arguments:
@ -323,7 +323,7 @@ Arguments:
Fhand - A file handle
Returns:
A pointer to a buffer with file information or NULL is returned
--*/
@ -360,7 +360,7 @@ EfiDevicePathInstanceCount (
/*++
Routine Description:
Function is used to determine the number of device path instances
Function is used to determine the number of device path instances
that exist in a device path.
Arguments:
@ -368,7 +368,7 @@ Arguments:
Returns:
This function counts and returns the number of device path instances
This function counts and returns the number of device path instances
in DevicePath.
--*/
@ -437,15 +437,15 @@ EfiLibGetStringFromToken (
/*++
Routine Description:
Acquire the string associated with the ProducerGuid and return it.
Arguments:
ProducerGuid - The Guid to search the HII database for
Token - The token value of the string to extract
String - The string that is extracted
Returns:
EFI_SUCCESS - Buffer filled with the requested forms. BufferLength
@ -469,7 +469,7 @@ Returns:
//
HandleBufferLength = 0;
HiiHandleBuffer = NULL;
Status = gBS->LocateProtocol (
&gEfiHiiProtocolGuid,
NULL,
@ -484,7 +484,7 @@ Returns:
//
Status = BdsLibGetHiiHandles (Hii, &HandleBufferLength, &HiiHandleBuffer);
ASSERT_EFI_ERROR (Status);
//
// Get the Hii Handle that matches the StructureNode->ProducerName
//
@ -518,7 +518,7 @@ Returns:
*String
);
gBS->FreePool (HiiHandleBuffer);
FreePool (HiiHandleBuffer);
return Status;
}
@ -541,7 +541,7 @@ Arguments:
Returns:
TRUE The FirstTime is not later than the SecondTime.
FALSE The FirstTime is later than the SecondTime.
--*/
{
if (FirstTime->Year != SecondTime->Year) {

View File

@ -1,18 +1,18 @@
/*++
/*++
Copyright (c) 2006, 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:
BootMaint.c
Abstract:
Boot Maintainence Main File
@ -58,15 +58,15 @@ Routine Description:
Arguments:
HiiHandle - Hii Handle of the package to be updated.
MenuOption - The Menu whose string tokens need to be created
Returns:
EFI_SUCCESS - string tokens created successfully
others - contain some errors
--*/
{
BM_MENU_ENTRY *NewMenuEntry;
@ -113,7 +113,7 @@ Routine Description:
Arguments:
This - File explorer callback protocol pointer.
This - File explorer callback protocol pointer.
KeyValue - Key value to identify the type of data to expect.
Data - A pointer to the data being sent to the original exporting driver.
Packet - A pointer to a packet of information which a driver passes back to the browser.
@ -122,7 +122,7 @@ Returns:
EFI_SUCCESS - Callback ended successfully.
Others - Contain some errors.
--*/
{
BMM_CALLBACK_DATA *Private;
@ -729,15 +729,15 @@ Routine Description:
Arguments:
ImageHandle - caller provided handle
SystemTable - caller provided system tables
Returns:
EFI_SUCCESS - utility ended successfully
others - contain some errors
--*/
{
EFI_LEGACY_BIOS_PROTOCOL *LegacyBios;
@ -849,13 +849,13 @@ Returns:
//
PackageList = PreparePackages (1, &gBdsStringPackGuid, bmBin);
Status = Hii->NewPack (Hii, PackageList, &HiiHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
BmmCallbackInfo->BmmHiiHandle = HiiHandle;
PackageList = PreparePackages (1, &gBdsStringPackGuid, FEBin);
Status = Hii->NewPack (Hii, PackageList, &HiiHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
BmmCallbackInfo->FeHiiHandle = HiiHandle;
@ -1036,7 +1036,7 @@ Arguments:
None.
Returns:
None.
None.
--*/
{
STRING_DEPOSITORY *StringDepository;

View File

@ -1,17 +1,17 @@
/*++
Copyright (c) 2006, 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:
BootOption.c
Abstract:
Provide boot option support for Application "BootMaint"
@ -19,7 +19,7 @@ Abstract:
Include file system navigation, system handle selection
Boot option manipulation
Revision History
--*/
@ -42,7 +42,7 @@ Arguments:
Menu type
Returns:
NULL Cannot allocate memory for current menu
NULL Cannot allocate memory for current menu
entry
Others A valid pointer pointing to the allocated
memory pool for current menu entry
@ -195,11 +195,11 @@ BOpt_GetMenuEntry (
)
/*++
Rountine Description :
Use this routine to get one particular menu entry in specified
Use this routine to get one particular menu entry in specified
menu
Arguments :
MenuOption The menu that we will search
MenuOption The menu that we will search
MenuNumber The menunubmer that we want
@ -238,7 +238,7 @@ Routine Description
protocol, Load File protocol.
Building up the FileSystem Menu for user selection
All file system will be stored in FsOptionMenu
All file system will be stored in FsOptionMenu
for future use.
Arguments:
@ -303,7 +303,7 @@ Returns:
//
// If block IO exists check to see if it's remobable media
//
RemovableMedia = BlkIo->Media->RemovableMedia;
RemovableMedia = BlkIo->Media->RemovableMedia;
}
//
@ -311,12 +311,12 @@ Returns:
//
MenuEntry = BOpt_CreateMenuEntry (BM_FILE_CONTEXT_SELECT);
if (NULL == MenuEntry) {
SafeFreePool (SimpleFsHandle);
SafeFreePool (SimpleFsHandle);
return EFI_OUT_OF_RESOURCES;
}
FileContext = (BM_FILE_CONTEXT *) MenuEntry->VariableContext;
FileContext->Handle = SimpleFsHandle[Index];
MenuEntry->OptionNumber = Index;
FileContext->FHandle = EfiLibOpenRoot (FileContext->Handle);
@ -364,7 +364,7 @@ Returns:
TempStr
);
OptionNumber++;
InsertTailList (&FsOptionMenu.Head, &MenuEntry->Link);
InsertTailList (&FsOptionMenu.Head, &MenuEntry->Link);
}
}
@ -386,7 +386,7 @@ Returns:
for (Index = 0; Index < NoLoadFileHandles; Index++) {
MenuEntry = BOpt_CreateMenuEntry (BM_FILE_CONTEXT_SELECT);
if (NULL == MenuEntry) {
SafeFreePool (LoadFileHandle);
SafeFreePool (LoadFileHandle);
return EFI_OUT_OF_RESOURCES;
}
@ -494,7 +494,7 @@ Arguments:
Returns:
VOID
--*/
{
BM_MENU_ENTRY *MenuEntry;
@ -675,15 +675,15 @@ BOpt_GetLegacyOptions (
)
/*++
Routine Description:
Build the LegacyFDMenu LegacyHDMenu LegacyCDMenu according to LegacyBios.GetBbsInfo().
Arguments:
None
Returns:
The device info of legacy device.
--*/
{
BM_MENU_ENTRY *NewMenuEntry;
@ -832,16 +832,16 @@ BOpt_GetBootOptions (
/*++
Routine Description:
Build the BootOptionMenu according to BootOrder Variable.
This Routine will access the Boot#### to get EFI_LOAD_OPTION
This Routine will access the Boot#### to get EFI_LOAD_OPTION
Arguments:
None
Returns:
The number of the Var Boot####
--*/
{
UINTN Index;
@ -1148,7 +1148,7 @@ BOpt_IsEfiImageName (
/*++
Routine Description
Check whether current FileName point to a valid
Check whether current FileName point to a valid
Efi Image File.
Arguments:
@ -1157,7 +1157,7 @@ Arguments:
Returns:
TRUE - Is Efi Image
FALSE - Not a valid Efi Image
--*/
{
//
@ -1198,7 +1198,7 @@ IsEfiAppReadFromFile (
{
EFI_STATUS Status;
EFI_FILE_HANDLE File;
File = (EFI_FILE_HANDLE)FileHandle;
Status = File->SetPosition (File, FileOffset);
if (EFI_ERROR (Status)) {
@ -1219,15 +1219,15 @@ BOpt_IsEfiApp (
Routine Description:
Check whether current FileName point to a valid Efi Application
Arguments:
Dir - Pointer to current Directory
FileName - Pointer to current File name.
Returns:
TRUE - Is a valid Efi Application
FALSE - not a valid Efi Application
--*/
{
EFI_STATUS Status;
@ -1268,7 +1268,7 @@ Routine Description
in current system environment
All valid handles in the system except those consume SimpleFs, LoadFile
are stored in DriverMenu for future use.
Arguments:
None
@ -1363,13 +1363,13 @@ BOpt_GetBootOptionNumber (
/*++
Routine Description:
Get the Option Number that does not used
Get the Option Number that does not used
Arguments:
Returns:
The Option Number
--*/
{
BM_MENU_ENTRY *NewMenuEntry;
@ -1415,7 +1415,7 @@ Returns:
&gEfiGlobalVariableGuid,
&OptionSize
);
if (NULL == OptionBuffer)
if (NULL == OptionBuffer)
break;
}
}
@ -1440,13 +1440,13 @@ BOpt_GetDriverOptionNumber (
/*++
Routine Description:
Get the Option Number that does not used
Get the Option Number that does not used
Arguments:
Returns:
The Option Number
--*/
{
BM_MENU_ENTRY *NewMenuEntry;
@ -1507,12 +1507,12 @@ BOpt_GetDriverOptions (
Routine Description:
Build up all DriverOptionMenu
Arguments:
Returns:
The Option Number
--*/
{
UINTN Index;
@ -1671,7 +1671,7 @@ SafeFreePool (
Routine Description:
Wrap original FreePool gBS call
in order to decrease code length
Arguments:
Returns:
@ -1679,7 +1679,7 @@ Returns:
--*/
{
if (Buffer != NULL) {
gBS->FreePool (Buffer);
FreePool (Buffer);
Buffer = NULL;
}
}

View File

@ -1,18 +1,18 @@
/*++
Copyright (c) 2006, 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:
UpdatePage.c
AgBStract:
Dynamically Update the pages
@ -179,7 +179,8 @@ BootThisFile (
CHAR16 *ExitData;
BDS_COMMON_OPTION *Option;
Status = gBS->AllocatePool (EfiBootServicesData, sizeof (BDS_COMMON_OPTION), &Option);
Option = AllocatePool (sizeof (BDS_COMMON_OPTION));
Option->Description = FileContext->FileName;
Option->DevicePath = FileContext->DevicePath;
Option->LoadOptionsSize = 0;
@ -218,7 +219,7 @@ UpdateConCOMPage (
if (!EFI_ERROR (Status)) {
for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {
NewMenuEntry = BOpt_GetMenuEntry (&TerminalMenu, Index);
CreateGotoOpCode (
FORM_CON_COM_SETUP_ID,
NewMenuEntry->DisplayStringToken,

View File

@ -1,15 +1,15 @@
/*++
Copyright (c) 2006, 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
Module Name:
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:
BootManager.c
@ -47,7 +47,7 @@ Routine Description:
This is the function that is called to provide results data to the driver. This data
consists of a unique key which is used to identify what data is either being passed back
or being asked for.
or being asked for.
Arguments:
@ -57,7 +57,7 @@ Arguments:
Data - A pointer to the data being sent to the original exporting driver.
Returns:
Returns:
--*/
{
@ -170,7 +170,7 @@ Returns:
//
PackageList = PreparePackages (2, &BmGuid, BootManagerVfrBin, BdsStrings);
Status = Hii->NewPack (Hii, PackageList, &gBootManagerHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
//
// This example does not implement worker functions
@ -296,20 +296,20 @@ Returns:
Hii->UpdateForm (Hii, gBootManagerHandle, (EFI_FORM_LABEL) 0x0002, TRUE, UpdateData);
gBS->FreePool (UpdateData);
FreePool (UpdateData);
ASSERT (gBrowser);
BootMngrMenuResetRequired = FALSE;
gBrowser->SendForm (
gBrowser,
TRUE,
&gBootManagerHandle,
1,
NULL,
NULL,
NULL,
NULL,
gBrowser,
TRUE,
&gBootManagerHandle,
1,
NULL,
NULL,
NULL,
NULL,
&BootMngrMenuResetRequired
);
@ -322,12 +322,12 @@ Returns:
if (gOption == NULL) {
return ;
}
//
//Will leave browser, check any reset required change is applied? if yes, reset system
//
SetupResetReminder ();
//
// BugBug: This code looks repeated from the BDS. Need to save code space.
//

View File

@ -1,15 +1,15 @@
/*++
Copyright (c) 2006, 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
Module Name:
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:
DeviceManager.c
@ -51,7 +51,7 @@ Routine Description:
This is the function that is called to provide results data to the driver. This data
consists of a unique key which is used to identify what data is either being passed back
or being asked for.
or being asked for.
Arguments:
@ -61,7 +61,7 @@ Arguments:
Data - A pointer to the data being sent to the original exporting driver.
Returns:
Returns:
--*/
{
@ -103,7 +103,7 @@ Routine Description:
Arguments:
None
Returns:
--*/
@ -120,7 +120,7 @@ Returns:
PackageList = PreparePackages (1, &gBdsStringPackGuid, DeviceManagerVfrBin);
Status = Hii->NewPack (Hii, PackageList, &FPCallbackInfo.DevMgrHiiHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
//
// This example does not implement worker functions for the NV accessor functions. Only a callback evaluator
@ -157,7 +157,7 @@ Returns:
//
Hii->UpdateForm (Hii, FPCallbackInfo.DevMgrHiiHandle, (EFI_FORM_LABEL) 0x0000, TRUE, UpdateData);
gBS->FreePool (UpdateData);
FreePool (UpdateData);
return Status;
}
@ -168,17 +168,17 @@ CallDeviceManager (
/*++
Routine Description:
Call the browser and display the device manager
Arguments:
None
Returns:
EFI_SUCCESS - Operation is successful.
EFI_INVALID_PARAMETER - If the inputs to SendForm function is not valid.
--*/
{
EFI_STATUS Status;
@ -337,7 +337,7 @@ Returns:
}
}
gBS->FreePool (String);
FreePool (String);
CreateGotoOpCode (
0x1000, // Device Manager Page
@ -391,7 +391,7 @@ Returns:
//
// Reset Buffer pointer to original location
//
gBS->FreePool (Buffer);
FreePool (Buffer);
}
}
//
@ -406,12 +406,12 @@ Returns:
FPCallbackInfo.Data.VideoBIOS = 0;
} else {
FPCallbackInfo.Data.VideoBIOS = VideoOption[0];
gBS->FreePool (VideoOption);
FreePool (VideoOption);
}
ASSERT (FPCallbackInfo.Data.VideoBIOS <= 1);
Status = gBS->AllocatePool (EfiBootServicesData, 2 * sizeof (IFR_OPTION), &IfrOptionList);
IfrOptionList = AllocatePool (2 * sizeof (IFR_OPTION));
if (IfrOptionList != NULL) {
IfrOptionList[0].Flags = EFI_IFR_FLAG_INTERACTIVE;
IfrOptionList[0].Key = SET_VIDEO_BIOS_TYPE_QUESTION_ID + 0x2000;
@ -437,7 +437,7 @@ Returns:
UpdateData->DataCount = 4;
Hii->UpdateForm (Hii, FPCallbackInfo.DevMgrHiiHandle, (EFI_FORM_LABEL) EFI_VBIOS_CLASS, TRUE, UpdateData);
gBS->FreePool (IfrOptionList);
FreePool (IfrOptionList);
}
BootDeviceMngrMenuResetRequired = FALSE;
@ -490,8 +490,8 @@ Returns:
gCallbackKey = 4;
}
gBS->FreePool (UpdateData);
gBS->FreePool (HiiHandles);
FreePool (UpdateData);
FreePool (HiiHandles);
return Status;
}

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -16,7 +16,7 @@ Module Name:
Abstract:
FrontPage routines to handle the callbacks and browser calls
--*/
#include "Bds.h"
@ -53,7 +53,7 @@ Routine Description:
This is the function that is called to provide results data to the driver. This data
consists of a unique key which is used to identify what data is either being passed back
or being asked for.
or being asked for.
Arguments:
@ -63,7 +63,7 @@ Arguments:
Data - A pointer to the data being sent to the original exporting driver.
Returns:
Returns:
--*/
{
@ -136,7 +136,7 @@ Returns:
Lang
);
gBS->FreePool (LanguageString);
FreePool (LanguageString);
gCallbackKey = 2;
break;
@ -179,7 +179,7 @@ Returns:
(UINTN) (((EFI_IFR_DATA_ENTRY *) (DataArray+1))->Data),
0
);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
break;
@ -198,12 +198,12 @@ InitializeFrontPage (
/*++
Routine Description:
Initialize HII information for the FrontPage
Arguments:
None
Returns:
EFI_SUCCESS - The operation is successful.
EFI_DEVICE_ERROR - If the dynamic opcode creation failed.
@ -254,7 +254,7 @@ Returns:
Status = Hii->NewPack (Hii, PackageList, &gFrontPageHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
//
// There will be only one FormConfig in the system
@ -364,11 +364,11 @@ ReInitStrings:
OptionCount++;
}
gBS->FreePool (LanguageString);
FreePool (LanguageString);
if (ReInitializeStrings) {
gBS->FreePool (StringBuffer);
gBS->FreePool (OptionList);
FreePool (StringBuffer);
FreePool (OptionList);
return EFI_SUCCESS;
}
@ -389,11 +389,11 @@ ReInitStrings:
Hii->UpdateForm (Hii, gFrontPageHandle, (EFI_FORM_LABEL) 0x0002, TRUE, UpdateData);
gBS->FreePool (UpdateData);
FreePool (UpdateData);
//
// gBS->FreePool (OptionList);
// FreePool (OptionList);
//
gBS->FreePool (StringBuffer);
FreePool (StringBuffer);
return Status;
}
@ -404,13 +404,13 @@ CallFrontPage (
/*++
Routine Description:
Call the browser and display the front page
Arguments:
None
Returns:
--*/
@ -442,7 +442,7 @@ Returns:
);
//
// Check whether user change any option setting which needs a reset to be effective
//
//
if (FrontPageMenuResetRequired) {
EnableResetRequired ();
}
@ -461,15 +461,15 @@ GetStringFromToken (
/*++
Routine Description:
Acquire the string associated with the ProducerGuid and return it.
Arguments:
ProducerGuid - The Guid to search the HII database for
Token - The token value of the string to extract
String - The string that is extracted
Returns:
EFI_SUCCESS - The function returns EFI_SUCCESS always.
@ -529,11 +529,11 @@ Returns:
);
if (EFI_ERROR (Status)) {
gBS->FreePool (*String);
FreePool (*String);
*String = GetStringById (STRING_TOKEN (STR_MISSING_STRING));
}
gBS->FreePool (HiiHandleBuffer);
FreePool (HiiHandleBuffer);
return EFI_SUCCESS;
}
@ -545,14 +545,14 @@ ConvertProcessorToString (
/*++
Routine Description:
Convert Processor Frequency Data to a string
Arguments:
ProcessorFrequency - The frequency data to process
String - The string that is created
Returns:
--*/
@ -590,14 +590,14 @@ ConvertMemorySizeToString (
/*++
Routine Description:
Convert Memory Size to a string
Arguments:
MemorySize - The size of the memory to process
String - The string that is created
Returns:
--*/
@ -621,13 +621,13 @@ UpdateFrontPageStrings (
/*++
Routine Description:
Update the banner information for the Front Page based on DataHub information
Arguments:
None
Returns:
--*/
@ -689,7 +689,7 @@ Returns:
GetStringFromToken (&Record->ProducerName, BiosVendor->BiosVersion, &NewString);
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_BIOS_VERSION;
Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);
gBS->FreePool (NewString);
FreePool (NewString);
Find[0] = TRUE;
}
@ -700,7 +700,7 @@ Returns:
GetStringFromToken (&Record->ProducerName, SystemManufacturer->SystemProductName, &NewString);
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_COMPUTER_MODEL;
Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);
gBS->FreePool (NewString);
FreePool (NewString);
Find[1] = TRUE;
}
@ -711,7 +711,7 @@ Returns:
GetStringFromToken (&Record->ProducerName, *ProcessorVersion, &NewString);
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_CPU_MODEL;
Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);
gBS->FreePool (NewString);
FreePool (NewString);
Find[2] = TRUE;
}
@ -722,7 +722,7 @@ Returns:
ConvertProcessorToString (ProcessorFrequency, &NewString);
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_CPU_SPEED;
Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);
gBS->FreePool (NewString);
FreePool (NewString);
Find[3] = TRUE;
}
@ -730,12 +730,12 @@ Returns:
(DataHeader->RecordType == EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER)
) {
MemoryArray = (EFI_MEMORY_ARRAY_START_ADDRESS_DATA *) (DataHeader + 1);
ConvertMemorySizeToString((UINT32)(RShiftU64((MemoryArray->MemoryArrayEndAddress -
ConvertMemorySizeToString((UINT32)(RShiftU64((MemoryArray->MemoryArrayEndAddress -
MemoryArray->MemoryArrayStartAddress + 1), 20)),
&NewString);
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_MEMORY_SIZE;
Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);
gBS->FreePool (NewString);
FreePool (NewString);
Find[4] = TRUE;
}
}
@ -753,15 +753,15 @@ PlatformBdsEnterFrontPage (
Routine Description:
This function is the main entry of the platform setup entry.
The function will present the main menu of the system setup,
The function will present the main menu of the system setup,
this is the platform reference part and can be customize.
Arguments:
TimeoutDefault - The fault time out value before the system
continue to boot.
ConnectAllHappened - The indicater to check if the connect all have
already happended.
Returns:
None
@ -890,7 +890,7 @@ Returns:
//Will leave browser, check any reset required change is applied? if yes, reset system
//
SetupResetReminder ();
//
// Automatically load current entry
// Note: The following lines of code only execute when Auto boot

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -16,7 +16,7 @@ Module Name:
Abstract:
Language settings
Revision History
--*/
@ -311,7 +311,7 @@ Routine Description:
Arguments:
None
Returns:
--*/
@ -326,7 +326,7 @@ Returns:
HiiHandle = 0;
Hii->NewPack (Hii, PackageList, &HiiHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
}
VOID
@ -336,12 +336,12 @@ InitializeLanguage (
/*++
Routine Description:
Determine the current language that will be used
Determine the current language that will be used
based on language related EFI Variables
Arguments:
LangCodesSettingRequired - If required to set LangCode variable
Returns:
--*/
@ -421,11 +421,11 @@ Returns:
}
if (LangCodes) {
gBS->FreePool (LangCodes);
FreePool (LangCodes);
}
if (LanguageString != NULL) {
gBS->FreePool (LanguageString);
FreePool (LanguageString);
}
}

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -38,19 +38,19 @@ PlatformBdsShowProgress (
/*++
Routine Description:
Show progress bar with title above it. It only works in UGA mode.
Arguments:
TitleForeground - Foreground color for Title.
TitleBackground - Background color for Title.
Title - Title above progress bar.
ProgressColor - Progress bar color.
Progress - Progress (0-100)
Returns:
Returns:
EFI_STATUS - Success update the progress bar
--*/
@ -203,19 +203,19 @@ BdsMemoryTest (
/*++
Routine Description:
Perform the memory test base on the memory test intensive level,
Perform the memory test base on the memory test intensive level,
and update the memory resource.
Arguments:
Level - The memory test intensive level.
Returns:
Returns:
EFI_STATUS - Success test all the system memory and update
the memory resource
--*/
{
EFI_STATUS Status;
@ -274,7 +274,7 @@ Returns:
&GenMemoryTest
);
if (EFI_ERROR (Status)) {
gBS->FreePool (Pos);
FreePool (Pos);
return EFI_SUCCESS;
}
@ -291,7 +291,7 @@ Returns:
// do the test, and then the status of EFI_NO_MEDIA will be returned by
// "MemoryTestInit". So it does not need to test memory again, just return.
//
gBS->FreePool (Pos);
FreePool (Pos);
return EFI_SUCCESS;
}
@ -300,7 +300,7 @@ Returns:
if (TmpStr != NULL) {
gST->ConOut->OutputString (gST->ConOut, TmpStr);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
do {
@ -317,7 +317,7 @@ Returns:
PrintXY (10, 10, NULL, NULL, TmpStr);
gST->ConOut->SetCursorPosition (gST->ConOut, 0, 4);
gST->ConOut->OutputString (gST->ConOut, TmpStr);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
ASSERT (0);
@ -333,7 +333,7 @@ Returns:
TmpStr = GetStringById (STRING_TOKEN (STR_MEMORY_TEST_PERCENT));
if (TmpStr != NULL) {
BdsLibOutputStrings (gST->ConOut, StrPercent, TmpStr, NULL);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
TmpStr = GetStringById (STRING_TOKEN (STR_PERFORM_MEM_TEST));
@ -346,7 +346,7 @@ Returns:
TestPercent,
(UINTN) PreviousValue
);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
}
@ -365,7 +365,7 @@ Returns:
100,
(UINTN) PreviousValue
);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
gST->ConOut->SetCursorPosition (gST->ConOut, 0, 0);
@ -389,7 +389,7 @@ Done:
TmpStr = GetStringById (STRING_TOKEN (STR_MEM_TEST_COMPLETED));
if (TmpStr != NULL) {
StrCat (StrTotalMemory, TmpStr);
gBS->FreePool (TmpStr);
FreePool (TmpStr);
}
gST->ConOut->ClearScreen (gST->ConOut);
@ -405,7 +405,7 @@ Done:
(UINTN) PreviousValue
);
gBS->FreePool (Pos);
FreePool (Pos);
DataSize = sizeof (Value);
Status = gRT->GetVariable (

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -36,7 +36,7 @@ InitializeStringSupport (
/*++
Routine Description:
Initialize HII global accessor for string support
Arguments:
@ -60,7 +60,7 @@ Returns:
if (!EFI_ERROR (Status)) {
PackageList = PreparePackages (1, &gBdsStringPackGuid, BdsStrings);
Status = Hii->NewPack (Hii, PackageList, &gStringPackHandle);
gBS->FreePool (PackageList);
FreePool (PackageList);
}
return Status;
@ -79,7 +79,7 @@ Routine Description:
Arguments:
Id - String ID.
Returns:
CHAR16 * - String from ID.
@ -112,7 +112,7 @@ Returns:
//
// Free the old pool
//
gBS->FreePool (String);
FreePool (String);
//
// Allocate new pool with correct value

View File

@ -1,6 +1,6 @@
/*++
Copyright (c) 2006, Intel Corporation
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
@ -148,7 +148,7 @@ WinNtBlockIoDriverDiagnosticsRunDiagnostics (
if (DiagnosticType != EfiDriverDiagnosticTypeStandard) {
*ErrorType = &gEfiBlockIoProtocolGuid;
*BufferSize = 0x60;
gBS->AllocatePool (EfiBootServicesData, (UINTN) (*BufferSize), Buffer);
Buffer = AllocatePool ((UINTN) (*BufferSize));
CopyMem (*Buffer, L"Windows Block I/O Driver Diagnostics Failed\n", *BufferSize);
return EFI_DEVICE_ERROR;
}

View File

@ -346,7 +346,7 @@ Returns:
//
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
return Status;
@ -430,12 +430,8 @@ Returns:
WinNtIo->WinNtThunk->SetErrorMode (SEM_FAILCRITICALERRORS);
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_BLOCK_IO_PRIVATE),
&Private
);
ASSERT_EFI_ERROR (Status);
Private = AllocatePool (sizeof (WIN_NT_BLOCK_IO_PRIVATE));
ASSERT (Private != NULL);
EfiInitializeLock (&Private->Lock, EFI_TPL_NOTIFY);
@ -518,7 +514,7 @@ Returns:
);
if (EFI_ERROR (Status)) {
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
DEBUG ((EFI_D_INIT, "BlockDevice added: %s\n", Filename));

View File

@ -46,6 +46,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiBootServicesTableLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>WinNtBlockIo.h</Filename>

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -15,7 +15,7 @@ Module Name:
Abstract:
Console based on Win32 APIs.
Console based on Win32 APIs.
--*/
@ -164,12 +164,8 @@ Returns:
return Status;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_SIMPLE_TEXT_PRIVATE_DATA),
&Private
);
if (EFI_ERROR (Status)) {
Private = AllocatePool (sizeof (WIN_NT_SIMPLE_TEXT_PRIVATE_DATA));
if (Private == NULL) {
goto Done;
}
@ -214,7 +210,7 @@ Done:
gBS->CloseEvent (Private->SimpleTextIn.WaitForKey);
}
gBS->FreePool (Private);
FreePool (Private);
}
return Status;
@ -300,7 +296,7 @@ Returns:
//
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
return Status;

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -15,15 +15,15 @@ Module Name:
Abstract:
Console based on Win32 APIs.
Console based on Win32 APIs.
This file attaches a SimpleTextIn protocol to a previously open window.
The constructor for this protocol depends on an open window. Currently
the SimpleTextOut protocol creates a window when it's constructor is called.
Thus this code must run after the constructor for the SimpleTextOut
Thus this code must run after the constructor for the SimpleTextOut
protocol
--*/
#include "Console.h"
@ -102,7 +102,7 @@ Returns:
} else {
return EFI_NOT_READY;
}
//
// Check to see if we should return a scan code in place of Unicode character.
//
@ -280,12 +280,8 @@ Returns:
goto Done;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (INPUT_RECORD) * NtEventCount,
&InputRecord
);
if (EFI_ERROR (Status)) {
InputRecord = AllocatePool (sizeof (INPUT_RECORD) * NtEventCount);
if (InputRecord == NULL) {
Status = EFI_NOT_READY;
goto Done;
}
@ -315,7 +311,7 @@ Returns:
Done:
if (InputRecord != NULL) {
gBS->FreePool (InputRecord);
FreePool (InputRecord);
}
return Status;

View File

@ -43,6 +43,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiBootServicesTableLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>Console.h</Filename>

View File

@ -46,6 +46,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiBootServicesTableLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>WinNtGopScreen.c</Filename>

View File

@ -1,6 +1,6 @@
/** @file
Copyright (c) 2006, Intel Corporation
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
@ -125,12 +125,8 @@ WinNtGopDriverBindingStart (
// Allocate Private context data for SGO inteface.
//
Private = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (GOP_PRIVATE_DATA),
&Private
);
if (EFI_ERROR (Status)) {
Private = AllocatePool (sizeof (GOP_PRIVATE_DATA));
if (Private == NULL) {
goto Done;
}
//
@ -185,7 +181,7 @@ Done:
FreeUnicodeStringTable (Private->ControllerNameTable);
}
gBS->FreePool (Private);
FreePool (Private);
}
}
@ -270,7 +266,7 @@ WinNtGopDriverBindingStop (
//
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}

View File

@ -85,7 +85,6 @@ WinNtGopQuerytMode (
OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info
)
{
EFI_STATUS Status;
GOP_PRIVATE_DATA *Private;
Private = GOP_PRIVATE_DATA_FROM_THIS (This);
@ -94,13 +93,9 @@ WinNtGopQuerytMode (
return EFI_INVALID_PARAMETER;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION),
Info
);
if (EFI_ERROR (Status)) {
return Status;
*Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));
if (*Info == NULL) {
return EFI_OUT_OF_RESOURCES;
}
*SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
@ -242,17 +237,13 @@ WinNtGopSetMode (
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL) * ModeData->HorizontalResolution,
&NewFillLine
);
if (EFI_ERROR (Status)) {
NewFillLine = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL) * ModeData->HorizontalResolution);
if (NewFillLine == NULL) {
return EFI_DEVICE_ERROR;
}
if (Private->FillLine != NULL) {
gBS->FreePool (Private->FillLine);
FreePool (Private->FillLine);
}
Private->FillLine = NewFillLine;
@ -637,7 +628,7 @@ WinNtGopThreadWindowProc (
case VK_F8: Key.ScanCode = SCAN_F8; break;
case VK_F9: Key.ScanCode = SCAN_F9; break;
case VK_F11: Key.ScanCode = SCAN_F11; break;
case VK_F12: Key.ScanCode = SCAN_F12; break;
case VK_F12: Key.ScanCode = SCAN_F12; break;
}
if (Key.ScanCode != 0) {
@ -885,8 +876,6 @@ WinNtGopConstructor (
GOP_PRIVATE_DATA *Private
)
{
EFI_STATUS Status;
Private->ModeData = mGopModeData;
Private->GraphicsOutput.QueryMode = WinNtGopQuerytMode;
@ -896,22 +885,15 @@ WinNtGopConstructor (
//
// Allocate buffer for Graphics Output Protocol mode information
//
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE),
(VOID **) &Private->GraphicsOutput.Mode
);
if (EFI_ERROR (Status)) {
return Status;
Private->GraphicsOutput.Mode = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE));
if (Private->GraphicsOutput.Mode == NULL) {
return EFI_OUT_OF_RESOURCES;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION),
(VOID **) &Private->GraphicsOutput.Mode->Info
);
if (EFI_ERROR (Status)) {
return Status;
Private->GraphicsOutput.Mode->Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));
if (Private->GraphicsOutput.Mode->Info == NULL) {
return EFI_OUT_OF_RESOURCES;
}
Private->GraphicsOutput.Mode->MaxMode = sizeof(mGopModeData) / sizeof(GOP_MODE_DATA);
//
// Till now, we have no idea about the window size.
@ -982,9 +964,9 @@ WinNtGopDestructor (
//
if (Private->GraphicsOutput.Mode != NULL) {
if (Private->GraphicsOutput.Mode->Info != NULL) {
gBS->FreePool (Private->GraphicsOutput.Mode->Info);
FreePool (Private->GraphicsOutput.Mode->Info);
}
gBS->FreePool (Private->GraphicsOutput.Mode);
FreePool (Private->GraphicsOutput.Mode);
}
return EFI_SUCCESS;

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -20,7 +20,7 @@ Abstract:
Handle(1) - WinNtIo - DevicePath(1)
If a serial port is added to the system this driver creates a new handle.
If a serial port is added to the system this driver creates a new handle.
The new handle is required, since the serial device must add an UART device
pathnode.
@ -32,15 +32,15 @@ Abstract:
Handle(1) - WinNtIo - DevicePath(1) - WinNtSerialPort
If the driver is unloaded Handle(2) is removed from the system and
If the driver is unloaded Handle(2) is removed from the system and
gEfiWinNtSerialPortGuid is removed from Handle(1).
Note: Handle(1) is any handle created by the Win NT Bus driver that is passed
into the DriverBinding member functions of this driver. This driver requires
a Handle(1) to contain a WinNtIo protocol, a DevicePath protocol, and
the TypeGuid in the WinNtIo must be gEfiWinNtSerialPortGuid.
If Handle(1) contains a gEfiWinNtSerialPortGuid protocol then the driver is
a Handle(1) to contain a WinNtIo protocol, a DevicePath protocol, and
the TypeGuid in the WinNtIo must be gEfiWinNtSerialPortGuid.
If Handle(1) contains a gEfiWinNtSerialPortGuid protocol then the driver is
loaded on the device.
--*/
@ -135,7 +135,7 @@ Returns:
Status = EFI_UNSUPPORTED;
goto Error;
}
//
// Check the GUID to see if this is a handle type the driver supports
//
@ -309,7 +309,7 @@ Returns:
}
}
gBS->FreePool (OpenInfoBuffer);
FreePool (OpenInfoBuffer);
return Status;
}
@ -334,12 +334,8 @@ Returns:
//
// Construct Private data
//
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_SERIAL_IO_PRIVATE_DATA),
&Private
);
if (EFI_ERROR (Status)) {
Private = AllocatePool (sizeof (WIN_NT_SERIAL_IO_PRIVATE_DATA));
if (Private == NULL) {
goto Error;
}
@ -474,12 +470,12 @@ Error:
}
if (Private->DevicePath != NULL) {
gBS->FreePool (Private->DevicePath);
FreePool (Private->DevicePath);
}
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
}
@ -592,11 +588,11 @@ Returns:
} else {
Private->WinNtThunk->CloseHandle (Private->NtHandle);
gBS->FreePool (Private->DevicePath);
FreePool (Private->DevicePath);
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
}
@ -683,7 +679,7 @@ Routine Description:
Arguments:
This - A pointer to the EFI_SERIAL_IO_PROTOCOL structrue.
This - A pointer to the EFI_SERIAL_IO_PROTOCOL structrue.
BaudRate - The Baud rate of the serial device.
ReceiveFifoDepth - The request depth of fifo on receive side.
Timeout - the request timeout for a single charact.
@ -869,7 +865,7 @@ Returns:
}
if (Private->DevicePath != NULL) {
gBS->FreePool (Private->DevicePath);
FreePool (Private->DevicePath);
}
Private->DevicePath = NewDevicePath;
@ -1029,7 +1025,7 @@ Returns:
if (ModemStatus & MS_RLSD_ON) {
Bits |= EFI_SERIAL_CARRIER_DETECT;
}
//
// Get ctrl status
//
@ -1059,7 +1055,7 @@ Returns:
if (Private->HardwareLoopbackEnable) {
Bits |= EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE;
}
//
// Get input buffer status
//
@ -1145,7 +1141,7 @@ Returns:
Control |= EFI_SERIAL_REQUEST_TO_SEND;
WinNtSerialIoSetControl (&Private->SerialIo, Control);
}
//
// Do the write
//
@ -1285,10 +1281,10 @@ IsaSerialFifoFull (
Routine Description:
Detect whether specific FIFO is full or not
Arguments:
Fifo SERIAL_DEV_FIFO *: A pointer to the Data Structure SERIAL_DEV_FIFO
Returns:
TRUE: the FIFO is full
FALSE: the FIFO is not full
@ -1310,10 +1306,10 @@ IsaSerialFifoEmpty (
Routine Description:
Detect whether specific FIFO is empty or not
Arguments:
Fifo SERIAL_DEV_FIFO *: A pointer to the Data Structure SERIAL_DEV_FIFO
Returns:
TRUE: the FIFO is empty
FALSE: the FIFO is not empty
@ -1336,14 +1332,14 @@ IsaSerialFifoAdd (
Routine Description:
Add data to specific FIFO
Arguments:
Fifo SERIAL_DEV_FIFO *: A pointer to the Data Structure SERIAL_DEV_FIFO
Data UINT8: the data added to FIFO
Data UINT8: the data added to FIFO
Returns:
EFI_SUCCESS: Add data to specific FIFO successfully
EFI_OUT_RESOURCE: Failed to add data because FIFO is already full
EFI_OUT_RESOURCE: Failed to add data because FIFO is already full
--*/
// TODO: EFI_OUT_OF_RESOURCES - add return value to function comment
@ -1354,7 +1350,7 @@ IsaSerialFifoAdd (
if (IsaSerialFifoFull (Fifo)) {
return EFI_OUT_OF_RESOURCES;
}
//
// FIFO is not full can add data
//
@ -1377,11 +1373,11 @@ IsaSerialFifoRemove (
Routine Description:
Remove data from specific FIFO
Arguments:
Fifo SERIAL_DEV_FIFO *: A pointer to the Data Structure SERIAL_DEV_FIFO
Data UINT8*: the data removed from FIFO
Data UINT8*: the data removed from FIFO
Returns:
EFI_SUCCESS: Remove data from specific FIFO successfully
EFI_OUT_RESOURCE: Failed to remove data because FIFO is empty
@ -1395,7 +1391,7 @@ IsaSerialFifoRemove (
if (IsaSerialFifoEmpty (Fifo)) {
return EFI_OUT_OF_RESOURCES;
}
//
// FIFO is not empty, can remove data
//

View File

@ -47,6 +47,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>DevicePathLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>WinNtSerialIo.h</Filename>

View File

@ -1,13 +1,13 @@
/*++
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:
@ -16,8 +16,8 @@ Module Name:
Abstract:
Produce Simple File System abstractions for directories on your PC using Win32 APIs.
The configuration of what devices to mount or emulate comes from NT
environment variables. The variables must be visible to the Microsoft*
The configuration of what devices to mount or emulate comes from NT
environment variables. The variables must be visible to the Microsoft*
Developer Studio for them to work.
* Other names and brands may be claimed as the property of others.
@ -142,7 +142,7 @@ Returns:
for (Pointer = Str; *(Pointer + Count); Pointer++) {
*Pointer = *(Pointer + Count);
}
*Pointer = *(Pointer + Count);
*Pointer = *(Pointer + Count);
}
}
@ -284,12 +284,10 @@ Returns:
goto Done;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE),
&Private
);
if (EFI_ERROR (Status)) {
Private = AllocatePool (sizeof (WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE));
if (Private == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -298,14 +296,9 @@ Returns:
Private->FilePath = WinNtIo->EnvString;
Private->VolumeLabel = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (L"EFI_EMULATED"),
&Private->VolumeLabel
);
if (EFI_ERROR (Status)) {
Private->VolumeLabel = AllocatePool (StrSize (L"EFI_EMULATED"));
if (Private->VolumeLabel == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -339,7 +332,7 @@ Done:
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
gBS->CloseProtocol (
@ -431,7 +424,7 @@ Returns:
//
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
return Status;
@ -489,33 +482,21 @@ Returns:
Private = WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (This);
PrivateFile = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_EFI_FILE_PRIVATE),
&PrivateFile
);
if (EFI_ERROR (Status)) {
PrivateFile = AllocatePool (sizeof (WIN_NT_EFI_FILE_PRIVATE));
if (PrivateFile == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
PrivateFile->FileName = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (Private->FilePath),
&PrivateFile->FileName
);
if (EFI_ERROR (Status)) {
PrivateFile->FileName = AllocatePool (StrSize (Private->FilePath));
if (PrivateFile->FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
PrivateFile->FilePath = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (Private->FilePath),
&PrivateFile->FilePath
);
if (EFI_ERROR (Status)) {
PrivateFile->FilePath = AllocatePool (StrSize (Private->FilePath));
if (PrivateFile->FilePath == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -541,7 +522,7 @@ Returns:
PrivateFile->LHandle = INVALID_HANDLE_VALUE;
PrivateFile->DirHandle = INVALID_HANDLE_VALUE;
PrivateFile->IsValidFindBuf = FALSE;
*Root = &PrivateFile->EfiFile;
Status = EFI_SUCCESS;
@ -550,14 +531,14 @@ Done:
if (EFI_ERROR (Status)) {
if (PrivateFile) {
if (PrivateFile->FileName) {
gBS->FreePool (PrivateFile->FileName);
FreePool (PrivateFile->FileName);
}
if (PrivateFile->FilePath) {
gBS->FreePool (PrivateFile->FilePath);
FreePool (PrivateFile->FilePath);
}
gBS->FreePool (PrivateFile);
FreePool (PrivateFile);
}
}
@ -675,13 +656,9 @@ Returns:
//
// Allocate buffer for FileName as the passed in FileName may be read only
//
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (FileName),
&TempFileName
);
if (EFI_ERROR (Status)) {
return Status;
TempFileName = AllocatePool (StrSize (FileName));
if (TempFileName == NULL) {
return EFI_OUT_OF_RESOURCES;
}
StrCpy (TempFileName, FileName);
FileName = TempFileName;
@ -705,7 +682,7 @@ OpenRoot:
}
//
// If file name does not equal to "." or "..",
// If file name does not equal to "." or "..",
// then we trim the leading/trailing blanks and trailing dots
//
if (StrCmp (FileName, L".") != 0 && StrCmp (FileName, L"..") != 0) {
@ -722,7 +699,7 @@ OpenRoot:
//
// Trim trailing dots and blanks
//
for (TempFileName = FileName + StrLen (FileName) - 1;
for (TempFileName = FileName + StrLen (FileName) - 1;
TempFileName >= FileName && (*TempFileName == L' ' || *TempFileName == L'.');
TempFileName--) {
;
@ -733,27 +710,17 @@ OpenRoot:
//
// Attempt to open the file
//
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_EFI_FILE_PRIVATE),
&NewPrivateFile
);
if (EFI_ERROR (Status)) {
NewPrivateFile = AllocatePool (sizeof (WIN_NT_EFI_FILE_PRIVATE));
if (NewPrivateFile == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
CopyMem (NewPrivateFile, PrivateFile, sizeof (WIN_NT_EFI_FILE_PRIVATE));
NewPrivateFile->FilePath = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (PrivateFile->FileName),
&NewPrivateFile->FilePath
);
if (EFI_ERROR (Status)) {
NewPrivateFile->FilePath = AllocatePool (StrSize (PrivateFile->FileName));
if (NewPrivateFile->FilePath == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -763,14 +730,9 @@ OpenRoot:
StrCpy (NewPrivateFile->FilePath, PrivateFile->FilePath);
}
NewPrivateFile->FileName = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (NewPrivateFile->FilePath) + StrSize (L"\\") + StrSize (FileName),
&NewPrivateFile->FileName
);
if (EFI_ERROR (Status)) {
NewPrivateFile->FileName = AllocatePool (StrSize (NewPrivateFile->FilePath) + StrSize (L"\\") + StrSize (FileName));
if (NewPrivateFile->FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -783,7 +745,7 @@ OpenRoot:
if (StrCmp (FileName, L"") != 0) {
//
// In case the filename becomes empty, especially after trimming dots and blanks
//
//
StrCat (NewPrivateFile->FileName, L"\\");
StrCat (NewPrivateFile->FileName, FileName);
}
@ -847,9 +809,9 @@ OpenRoot:
if (StrCmp (NewPrivateFile->FileName, PrivateRoot->FilePath) == 0) {
NewPrivateFile->IsRootDirectory = TRUE;
gBS->FreePool (NewPrivateFile->FilePath);
gBS->FreePool (NewPrivateFile->FileName);
gBS->FreePool (NewPrivateFile);
FreePool (NewPrivateFile->FilePath);
FreePool (NewPrivateFile->FileName);
FreePool (NewPrivateFile);
goto OpenRoot;
}
@ -861,15 +823,11 @@ OpenRoot:
TempChar = *(RealFileName - 1);
*(RealFileName - 1) = 0;
gBS->FreePool (NewPrivateFile->FilePath);
FreePool (NewPrivateFile->FilePath);
NewPrivateFile->FilePath = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (NewPrivateFile->FileName),
&NewPrivateFile->FilePath
);
if (EFI_ERROR (Status)) {
NewPrivateFile->FilePath = AllocatePool (StrSize (NewPrivateFile->FileName));
if (NewPrivateFile->FilePath == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -923,13 +881,9 @@ OpenRoot:
//
if (NewPrivateFile->IsDirectoryPath) {
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (NewPrivateFile->FileName) + StrSize (L"\\*"),
&TempFileName
);
if (EFI_ERROR (Status)) {
TempFileName = AllocatePool (StrSize (NewPrivateFile->FileName) + StrSize (L"\\*"));
if (TempFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -943,7 +897,7 @@ OpenRoot:
LastError = PrivateFile->WinNtThunk->GetLastError ();
if (LastError != ERROR_ALREADY_EXISTS) {
gBS->FreePool (TempFileName);
FreePool (TempFileName);
Status = EFI_ACCESS_DENIED;
goto Done;
}
@ -1059,13 +1013,9 @@ OpenRoot:
goto Done;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
InfoSize,
&Info
);
if (EFI_ERROR (Status)) {
Info = AllocatePool (InfoSize);
if (Info == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -1081,19 +1031,19 @@ OpenRoot:
}
Done: ;
gBS->FreePool (FileName);
FreePool (FileName);
if (EFI_ERROR (Status)) {
if (NewPrivateFile) {
if (NewPrivateFile->FileName) {
gBS->FreePool (NewPrivateFile->FileName);
FreePool (NewPrivateFile->FileName);
}
if (NewPrivateFile->FilePath) {
gBS->FreePool (NewPrivateFile->FilePath);
FreePool (NewPrivateFile->FilePath);
}
gBS->FreePool (NewPrivateFile);
FreePool (NewPrivateFile);
}
} else {
*NewHandle = &NewPrivateFile->EfiFile;
@ -1132,7 +1082,7 @@ Returns:
}
OldTpl = gBS->RaiseTPL (EFI_TPL_CALLBACK);
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
if (PrivateFile->LHandle != INVALID_HANDLE_VALUE) {
@ -1151,13 +1101,13 @@ Returns:
}
if (PrivateFile->FileName) {
gBS->FreePool (PrivateFile->FileName);
FreePool (PrivateFile->FileName);
}
gBS->FreePool (PrivateFile);
FreePool (PrivateFile);
gBS->RestoreTPL (OldTpl);
return EFI_SUCCESS;
}
@ -1194,7 +1144,7 @@ Returns:
}
OldTpl = gBS->RaiseTPL (EFI_TPL_CALLBACK);
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
Status = EFI_WARN_DELETE_FAILURE;
@ -1223,8 +1173,8 @@ Returns:
}
}
gBS->FreePool (PrivateFile->FileName);
gBS->FreePool (PrivateFile);
FreePool (PrivateFile->FileName);
FreePool (PrivateFile);
gBS->RestoreTPL (OldTpl);
@ -1328,7 +1278,7 @@ Returns:
}
OldTpl = gBS->RaiseTPL (EFI_TPL_CALLBACK);
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
if (PrivateFile->LHandle == INVALID_HANDLE_VALUE) {
@ -1344,11 +1294,7 @@ Returns:
}
FileInfoSize = SIZE_OF_EFI_FILE_SYSTEM_INFO;
gBS->AllocatePool (
EfiBootServicesData,
FileInfoSize,
&FileInfo
);
FileInfo = AllocatePool (FileInfoSize);
Status = This->GetInfo (
This,
@ -1358,12 +1304,8 @@ Returns:
);
if (Status == EFI_BUFFER_TOO_SMALL) {
gBS->FreePool (FileInfo);
gBS->AllocatePool (
EfiBootServicesData,
FileInfoSize,
&FileInfo
);
FreePool (FileInfo);
FileInfo = AllocatePool (FileInfoSize);
Status = This->GetInfo (
This,
&gEfiFileInfoGuid,
@ -1379,7 +1321,7 @@ Returns:
FileSize = FileInfo->FileSize;
gBS->FreePool (FileInfo);
FreePool (FileInfo);
if (Pos >= FileSize) {
*BufferSize = 0;
@ -1545,7 +1487,7 @@ Returns:
}
OldTpl = gBS->RaiseTPL (EFI_TPL_CALLBACK);
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
if (PrivateFile->LHandle == INVALID_HANDLE_VALUE) {
@ -1619,7 +1561,7 @@ Returns:
}
OldTpl = gBS->RaiseTPL (EFI_TPL_CALLBACK);
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
if (PrivateFile->IsDirectoryPath) {
@ -1628,13 +1570,9 @@ Returns:
goto Done;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (PrivateFile->FileName) + StrSize (L"\\*"),
&FileName
);
if (EFI_ERROR (Status)) {
FileName = AllocatePool (StrSize (PrivateFile->FileName) + StrSize (L"\\*"));
if (FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -1653,7 +1591,7 @@ Returns:
PrivateFile->IsValidFindBuf = TRUE;
}
gBS->FreePool (FileName);
FreePool (FileName);
Status = (PrivateFile->LHandle == INVALID_HANDLE_VALUE) ? EFI_DEVICE_ERROR : EFI_SUCCESS;
} else {
@ -1956,14 +1894,10 @@ Returns:
//
// Try to get the drive name
//
DriveName = NULL;
DriveNameFound = FALSE;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (PrivateFile->FilePath) + 1,
&DriveName
);
if (EFI_ERROR (Status)) {
DriveName = AllocatePool (StrSize (PrivateFile->FilePath) + 1);
if (DriveName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -2003,7 +1937,7 @@ Returns:
&TotalClusters
);
if (DriveName) {
gBS->FreePool (DriveName);
FreePool (DriveName);
}
if (NtStatus) {
@ -2161,16 +2095,10 @@ Returns:
NewFileSystemInfo = (EFI_FILE_SYSTEM_INFO *) Buffer;
gBS->FreePool (PrivateRoot->VolumeLabel);
PrivateRoot->VolumeLabel = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (NewFileSystemInfo->VolumeLabel),
&PrivateRoot->VolumeLabel
);
if (EFI_ERROR (Status)) {
FreePool (PrivateRoot->VolumeLabel);
PrivateRoot->VolumeLabel = AllocatePool (StrSize (NewFileSystemInfo->VolumeLabel));
if (PrivateRoot->VolumeLabel == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -2240,9 +2168,9 @@ Returns:
goto Done;
}
Status = gBS->AllocatePool (EfiBootServicesData, OldInfoSize, &OldFileInfo);
if (EFI_ERROR (Status)) {
OldFileInfo = AllocatePool (OldInfoSize);
if (OldFileInfo == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -2252,13 +2180,9 @@ Returns:
goto Done;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (PrivateFile->FileName),
&OldFileName
);
if (EFI_ERROR (Status)) {
OldFileName = AllocatePool (StrSize (PrivateFile->FileName));
if (OldFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -2268,13 +2192,9 @@ Returns:
// Make full pathname from new filename and rootpath.
//
if (NewFileInfo->FileName[0] == '\\') {
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (PrivateRoot->FilePath) + StrSize (L"\\") + StrSize (NewFileInfo->FileName),
&NewFileName
);
if (EFI_ERROR (Status)) {
NewFileName = AllocatePool (StrSize (PrivateRoot->FilePath) + StrSize (L"\\") + StrSize (NewFileInfo->FileName));
if (NewFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -2282,13 +2202,9 @@ Returns:
StrCat (NewFileName, L"\\");
StrCat (NewFileName, NewFileInfo->FileName + 1);
} else {
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (PrivateFile->FilePath) + StrSize (L"\\") + StrSize (NewFileInfo->FileName),
&NewFileName
);
if (EFI_ERROR (Status)) {
NewFileName = AllocatePool (StrSize (PrivateFile->FilePath) + StrSize (L"\\") + StrSize (NewFileInfo->FileName));
if (NewFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
@ -2394,30 +2310,22 @@ Returns:
//
// modify file name
//
gBS->FreePool (PrivateFile->FileName);
FreePool (PrivateFile->FileName);
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (NewFileName),
&PrivateFile->FileName
);
if (EFI_ERROR (Status)) {
PrivateFile->FileName = AllocatePool (StrSize (NewFileName));
if (PrivateFile->FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
StrCpy (PrivateFile->FileName, NewFileName);
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (NewFileName) + StrSize (L"\\*"),
&TempFileName
);
TempFileName = AllocatePool (StrSize (NewFileName) + StrSize (L"\\*"));
StrCpy (TempFileName, NewFileName);
if (!PrivateFile->IsDirectoryPath) {
PrivateFile->LHandle = PrivateFile->WinNtThunk->CreateFile (
PrivateFile->LHandle = PrivateFile->WinNtThunk->CreateFile (
TempFileName,
PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -2427,7 +2335,7 @@ Returns:
NULL
);
gBS->FreePool (TempFileName);
FreePool (TempFileName);
//
// Flush buffers just in case
@ -2450,7 +2358,7 @@ Returns:
StrCat (TempFileName, L"\\*");
PrivateFile->LHandle = PrivateFile->WinNtThunk->FindFirstFile (TempFileName, &FindBuf);
gBS->FreePool (TempFileName);
FreePool (TempFileName);
}
} else {
Reopen: ;
@ -2462,11 +2370,7 @@ Reopen: ;
goto Done;
}
Status = gBS->AllocatePool (
EfiBootServicesData,
StrSize (OldFileName) + StrSize (L"\\*"),
&TempFileName
);
TempFileName = AllocatePool (StrSize (OldFileName) + StrSize (L"\\*"));
StrCpy (TempFileName, OldFileName);
@ -2495,7 +2399,7 @@ Reopen: ;
PrivateFile->LHandle = PrivateFile->WinNtThunk->FindFirstFile (TempFileName, &FindBuf);
}
gBS->FreePool (TempFileName);
FreePool (TempFileName);
goto Done;
@ -2637,15 +2541,15 @@ Reopen: ;
Done:
if (OldFileInfo != NULL) {
gBS->FreePool (OldFileInfo);
FreePool (OldFileInfo);
}
if (OldFileName != NULL) {
gBS->FreePool (OldFileName);
FreePool (OldFileName);
}
if (NewFileName != NULL) {
gBS->FreePool (NewFileName);
FreePool (NewFileName);
}
gBS->RestoreTPL (OldTpl);
@ -2696,7 +2600,7 @@ Returns:
}
OldTpl = gBS->RaiseTPL (EFI_TPL_CALLBACK);
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
if (PrivateFile->LHandle == INVALID_HANDLE_VALUE) {

View File

@ -46,6 +46,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiBootServicesTableLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>WinNtSimpleFileSystem.h</Filename>

View File

@ -43,6 +43,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>UefiBootServicesTableLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>WinNtUga.h</Filename>

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -19,9 +19,9 @@ Abstract:
UGA is short hand for Universal Graphics Abstraction protocol.
This file is a verision of UgaIo the uses WinNtThunk system calls as an IO
This file is a verision of UgaIo the uses WinNtThunk system calls as an IO
abstraction. For a PCI device WinNtIo would be replaced with
a PCI IO abstraction that abstracted a specific PCI device.
a PCI IO abstraction that abstracted a specific PCI device.
--*/
@ -137,13 +137,8 @@ Returns:
//
// Allocate Private context data for SGO inteface.
//
Private = NULL;
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (UGA_PRIVATE_DATA),
&Private
);
if (EFI_ERROR (Status)) {
Private = AllocatePool (sizeof (UGA_PRIVATE_DATA));
if (Private == NULL) {
goto Done;
}
//
@ -198,7 +193,7 @@ Done:
FreeUnicodeStringTable (Private->ControllerNameTable);
}
gBS->FreePool (Private);
FreePool (Private);
}
}
@ -287,7 +282,7 @@ Returns:
//
FreeUnicodeStringTable (Private->ControllerNameTable);
gBS->FreePool (Private);
FreePool (Private);
}
@ -308,9 +303,9 @@ Arguments:
String - Unicode string.
Returns:
Returns:
UINTN of the number represented by String.
UINTN of the number represented by String.
--*/
{

View File

@ -1,22 +1,22 @@
/*++
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:
WinNtUgaScreen.c
Abstract:
This file produces the graphics abstration of UGA. It is called by
WinNtUgaDriver.c file which deals with the EFI 1.1 driver model.
This file produces the graphics abstration of UGA. It is called by
WinNtUgaDriver.c file which deals with the EFI 1.1 driver model.
This file just does graphics.
--*/
@ -72,7 +72,7 @@ WinNtUgaGetMode (
Returns:
EFI_SUCCESS - Mode information returned.
EFI_NOT_STARTED - Video display is not initialized. Call SetMode ()
EFI_NOT_STARTED - Video display is not initialized. Call SetMode ()
EFI_INVALID_PARAMETER - One of the input args was NULL.
--*/
@ -123,7 +123,7 @@ WinNtUgaSetMode (
Returns:
EFI_SUCCESS - Mode information returned.
EFI_NOT_STARTED - Video display is not initialized. Call SetMode ()
EFI_NOT_STARTED - Video display is not initialized. Call SetMode ()
EFI_INVALID_PARAMETER - One of the input args was NULL.
--*/
@ -224,17 +224,13 @@ WinNtUgaSetMode (
}
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (EFI_UGA_PIXEL) * HorizontalResolution,
&NewFillLine
);
if (EFI_ERROR (Status)) {
NewFillLine = AllocatePool (sizeof (EFI_UGA_PIXEL) * HorizontalResolution);
if (NewFillLine == NULL) {
return EFI_DEVICE_ERROR;
}
if (Private->FillLine != NULL) {
gBS->FreePool (Private->FillLine);
FreePool (Private->FillLine);
}
Private->FillLine = NewFillLine;
@ -281,19 +277,19 @@ WinNtUgaBlt (
Routine Description:
Blt pixels from the rectangle (Width X Height) formed by the BltBuffer
onto the graphics screen starting a location (X, Y). (0, 0) is defined as
the upper left hand side of the screen. (X, Y) can be outside of the
current screen geometry and the BltBuffer will be cliped when it is
displayed. X and Y can be negative or positive. If Width or Height is
the upper left hand side of the screen. (X, Y) can be outside of the
current screen geometry and the BltBuffer will be cliped when it is
displayed. X and Y can be negative or positive. If Width or Height is
bigger than the current video screen the image will be clipped.
Arguments:
This - Protocol instance pointer.
X - X location on graphics screen.
X - X location on graphics screen.
Y - Y location on the graphics screen.
Width - Width of BltBuffer.
Height - Hight of BltBuffer
BltOperation - Operation to perform on BltBuffer and video memory
BltBuffer - Buffer containing data to blt into video buffer. This
BltBuffer - Buffer containing data to blt into video buffer. This
buffer has a size of Width*Height*sizeof(EFI_UGA_PIXEL)
SourceX - If the BltOperation is a EfiCopyBlt this is the source
of the copy. For other BLT operations this argument is not
@ -301,11 +297,11 @@ WinNtUgaBlt (
SourceX - If the BltOperation is a EfiCopyBlt this is the source
of the copy. For other BLT operations this argument is not
used.
Returns:
EFI_SUCCESS - The palette is updated with PaletteArray.
EFI_INVALID_PARAMETER - BltOperation is not valid.
EFI_DEVICE_ERROR - A hardware error occured writting to the video
EFI_DEVICE_ERROR - A hardware error occured writting to the video
buffer.
--*/
@ -445,7 +441,7 @@ WinNtUgaBlt (
// we may miss some data for a short period of time this is no different than
// a write combining on writes to a frame buffer.
//
Private->WinNtThunk->UpdateWindow (Private->WindowHandle);
}
@ -501,7 +497,7 @@ WinNtUgaThreadWindowProc (
/*++
Routine Description:
Win32 Windows event handler.
Win32 Windows event handler.
Arguments:
See Win32 Book
@ -631,7 +627,7 @@ Returns:
case VK_F8: Key.ScanCode = SCAN_F8; break;
case VK_F9: Key.ScanCode = SCAN_F9; break;
case VK_F11: Key.ScanCode = SCAN_F11; break;
case VK_F12: Key.ScanCode = SCAN_F12; break;
case VK_F12: Key.ScanCode = SCAN_F12; break;
}
if (Key.ScanCode != 0) {
@ -693,7 +689,7 @@ WinNtUgaThreadWinMain (
Routine Description:
This thread simulates the end of WinMain () aplication. Each Winow nededs
to process it's events. The messages are dispatched to
to process it's events. The messages are dispatched to
WinNtUgaThreadWindowProc ().
Be very careful sine WinNtUgaThreadWinMain () and WinNtUgaThreadWindowProc ()
@ -974,8 +970,8 @@ KillNtUgaThread (
/*++
Routine Description:
This is the UGA screen's callback notification function for exit-boot-services.
This is the UGA screen's callback notification function for exit-boot-services.
All we do here is call WinNtUgaDestructor().
Arguments:

View File

@ -136,18 +136,11 @@ AllocateMemory (
IN UINTN Size
)
{
EFI_STATUS Status;
VOID *Buffer;
Status = gBS->AllocatePool (
EfiBootServicesData,
Size,
(VOID *)&Buffer
);
if (EFI_ERROR (Status)) {
ASSERT (FALSE);
return NULL;
}
Buffer = AllocatePool (Size);
ASSERT (Buffer != NULL);
return Buffer;
}
@ -341,13 +334,9 @@ Returns:
}
if (Status != EFI_ALREADY_STARTED) {
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (WIN_NT_BUS_DEVICE),
(VOID *) &WinNtBusDevice
);
if (EFI_ERROR (Status)) {
return Status;
WinNtBusDevice = AllocatePool (sizeof (WIN_NT_BUS_DEVICE));
if (WinNtBusDevice == NULL) {
return EFI_OUT_OF_RESOURCES;
}
WinNtBusDevice->Signature = WIN_NT_BUS_DEVICE_SIGNATURE;
@ -368,7 +357,7 @@ Returns:
);
if (EFI_ERROR (Status)) {
FreeUnicodeStringTable (WinNtBusDevice->ControllerNameTable);
gBS->FreePool (WinNtBusDevice);
FreePool (WinNtBusDevice);
return Status;
}
}
@ -464,7 +453,7 @@ Returns:
Count
);
if (WinNtDevice->DevicePath == NULL) {
gBS->FreePool (WinNtDevice);
FreePool (WinNtDevice);
return EFI_OUT_OF_RESOURCES;
}
@ -490,7 +479,7 @@ Returns:
);
if (EFI_ERROR (Status)) {
FreeUnicodeStringTable (WinNtDevice->ControllerNameTable);
gBS->FreePool (WinNtDevice);
FreePool (WinNtDevice);
} else {
//
// Open For Child Device
@ -516,7 +505,7 @@ Returns:
StartString = SubString;
}
gBS->FreePool (TempStr);
FreePool (TempStr);
}
return EFI_SUCCESS;
@ -588,7 +577,7 @@ Returns:
FreeUnicodeStringTable (WinNtBusDevice->ControllerNameTable);
gBS->FreePool (WinNtBusDevice);
FreePool (WinNtBusDevice);
gBS->CloseProtocol (
ControllerHandle,
@ -652,7 +641,7 @@ Returns:
// Close the child handle
//
FreeUnicodeStringTable (WinNtDevice->ControllerNameTable);
gBS->FreePool (WinNtDevice);
FreePool (WinNtDevice);
}
}

View File

@ -51,6 +51,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>DevicePathLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>MemoryAllocationLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>WinNtBusDriver.h</Filename>

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -114,7 +114,7 @@ WinNtEnableInterrupt (
Routine Description:
This routine provides support for emulation of the interrupt enable of the
the system. For our purposes, CPU enable is just a BOOLEAN that the Timer
the system. For our purposes, CPU enable is just a BOOLEAN that the Timer
Architectural Protocol observes in order to defer behaviour while in its
emulated interrupt, or timer tick.
@ -148,7 +148,7 @@ WinNtDisableInterrupt (
Routine Description:
This routine provides support for emulation of the interrupt disable of the
the system. For our purposes, CPU enable is just a BOOLEAN that the Timer
the system. For our purposes, CPU enable is just a BOOLEAN that the Timer
Architectural Protocol observes in order to defer behaviour while in its
emulated interrupt, or timer tick.
@ -183,7 +183,7 @@ WinNtGetInterruptState (
Routine Description:
This routine provides support for emulation of the interrupt disable of the
the system. For our purposes, CPU enable is just a BOOLEAN that the Timer
the system. For our purposes, CPU enable is just a BOOLEAN that the Timer
Architectural Protocol observes in order to defer behaviour while in its
emulated interrupt, or timer tick.
@ -223,8 +223,8 @@ WinNtInit (
Routine Description:
This routine would support generation of a CPU INIT. At
present, this code does not provide emulation.
This routine would support generation of a CPU INIT. At
present, this code does not provide emulation.
Arguments:
@ -258,8 +258,8 @@ WinNtRegisterInterruptHandler (
Routine Description:
This routine would support registration of an interrupt handler. At
present, this code does not provide emulation.
This routine would support registration of an interrupt handler. At
present, this code does not provide emulation.
Arguments:
@ -305,8 +305,8 @@ WinNtGetTimerValue (
Routine Description:
This routine would support querying of an on-CPU timer. At present,
this code does not provide timer emulation.
This routine would support querying of an on-CPU timer. At present,
this code does not provide timer emulation.
Arguments:
@ -325,7 +325,7 @@ Returns:
if (TimerValue == NULL) {
return EFI_INVALID_PARAMETER;
}
//
// No timer supported
//
@ -345,8 +345,8 @@ WinNtSetMemoryAttributes (
Routine Description:
This routine would support querying of an on-CPU timer. At present,
this code does not provide timer emulation.
This routine would support querying of an on-CPU timer. At present,
this code does not provide timer emulation.
Arguments:
@ -405,7 +405,7 @@ Returns:
Status
EFI_SUCCESS - protocol instance can be published
EFI_SUCCESS - protocol instance can be published
EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure
EFI_DEVICE_ERROR - cannot create the thread
@ -417,12 +417,8 @@ Returns:
CPU_ARCH_PROTOCOL_PRIVATE *Private;
VOID *Registration;
Status = gBS->AllocatePool (
EfiBootServicesData,
sizeof (CPU_ARCH_PROTOCOL_PRIVATE),
&Private
);
ASSERT_EFI_ERROR (Status);
Private = AllocatePool (sizeof (CPU_ARCH_PROTOCOL_PRIVATE));
ASSERT (Private != NULL);
Private->Signature = CPU_ARCH_PROT_PRIVATE_SIGNATURE;
Private->Cpu.FlushDataCache = WinNtFlushCpuDataCache;
@ -479,7 +475,7 @@ Returns:
DEBUG ((EFI_D_ERROR, "CPU Architectural Protocol Loaded\n"));
return Status;
}
@ -495,8 +491,8 @@ Routine Description:
Arguments:
String - Unicode string.
Returns:
UINTN of the number represented by String.
Returns:
UINTN of the number represented by String.
--*/
{
@ -656,7 +652,7 @@ Returns:
Status = Hii->NewPack (Hii, PackageList, &StringHandle);
ASSERT (!EFI_ERROR (Status));
gBS->FreePool (PackageList);
FreePool (PackageList);
//
// Store processor version data record to data hub
@ -717,7 +713,7 @@ Returns:
TotalSize
);
gBS->FreePool (RecordBuffer.Raw);
FreePool (RecordBuffer.Raw);
}
gBS->CloseProtocol (

View File

@ -17,12 +17,12 @@
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<SupportedArchitectures>IA32</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>DxeWinNtLib</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_PRODUCED">
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER">
<Keyword>WinNtLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -30,7 +30,7 @@ BdsLibDoLegacyBoot (
/*++
Routine Description:
Boot the legacy system with the boot option
Arguments:
@ -41,7 +41,7 @@ Returns:
EFI_UNSUPPORTED - There is no legacybios protocol, do not support
legacy boot.
EFI_STATUS - Return the status of LegacyBios->LegacyBoot ().
--*/
@ -89,15 +89,15 @@ BdsLibBootViaBootOption (
Routine Description:
Process the boot option follow the EFI 1.1 specification and
Process the boot option follow the EFI 1.1 specification and
special treat the legacy boot option with BBS_DEVICE_PATH.
Arguments:
Option - The boot option need to be processed
DevicePath - The device path which describe where to load
the boot image or the legcy BBS device path
DevicePath - The device path which describe where to load
the boot image or the legcy BBS device path
to boot the legacy OS
ExitDataSize - Returned directly from gBS->StartImage ()
@ -167,7 +167,7 @@ Returns:
// Signal the EFI_EVENT_SIGNAL_READY_TO_BOOT event
//
EfiSignalEventReadyToBoot ();
//
// Set Boot Current
//
@ -240,7 +240,7 @@ Returns:
BlkIo->Media->BlockSize,
Buffer
);
gBS->FreePool (Buffer);
FreePool (Buffer);
}
}
@ -324,8 +324,8 @@ BdsBootByDiskSignatureAndPartition (
Routine Description:
Check to see if a hard ware device path was passed in. If it was then search
all the block IO devices for the passed in hard drive device path.
all the block IO devices for the passed in hard drive device path.
Arguments:
Option - The current processing boot option.
@ -347,7 +347,7 @@ Returns:
EFI_SUCCESS - Status from gBS->StartImage (),
or BootByDiskSignatureAndPartition ()
EFI_NOT_FOUND - If the Device Path is not found in the system
--*/
@ -406,7 +406,7 @@ Returns:
// find HardDriver device path node
//
while (!IsDevicePathEnd (DevicePath)) {
if ((DevicePathType (DevicePath) == MEDIA_DEVICE_PATH) &&
if ((DevicePathType (DevicePath) == MEDIA_DEVICE_PATH) &&
(DevicePathSubType (DevicePath) == MEDIA_HARDDRIVE_DP)
) {
BlockIoHdDevicePath = DevicePath;
@ -460,7 +460,7 @@ Returns:
}
}
gBS->FreePool (BlockIoBuffer);
FreePool (BlockIoBuffer);
return Status;
}
@ -532,7 +532,7 @@ Returns:
&BootOptionSize
);
if (NULL == BootOptionVar) {
gBS->FreePool (BootOrder);
FreePool (BootOrder);
return EFI_OUT_OF_RESOURCES;
}
@ -549,11 +549,11 @@ Returns:
if ((OptionDevicePathSize == DevicePathSize) &&
(CompareMem (DevicePath, OptionDevicePath, DevicePathSize) == 0)) {
BdsDeleteBootOption (BootOrder[Index], BootOrder, &BootOrderSize);
gBS->FreePool (BootOptionVar);
FreePool (BootOptionVar);
break;
}
gBS->FreePool (BootOptionVar);
FreePool (BootOptionVar);
Index++;
}
@ -565,7 +565,7 @@ Returns:
BootOrder
);
gBS->FreePool (BootOrder);
FreePool (BootOrder);
return Status;
}
@ -636,7 +636,7 @@ Returns:
&BootOptionSize
);
if (NULL == BootOptionVar) {
gBS->FreePool (BootOrder);
FreePool (BootOrder);
return EFI_OUT_OF_RESOURCES;
}
@ -652,7 +652,7 @@ Returns:
//
if ((DevicePathType (OptionDevicePath) == BBS_DEVICE_PATH) &&
(DevicePathSubType (OptionDevicePath) == BBS_BBS_DP)) {
gBS->FreePool (BootOptionVar);
FreePool (BootOptionVar);
Index++;
continue;
}
@ -664,7 +664,7 @@ Returns:
TempDevicePath = EfiNextDevicePathNode (TempDevicePath);
}
//
// Skip the boot option that point to a file, since the device path in
// Skip the boot option that point to a file, since the device path in
// removable media boot option doesn't contains a file name.
//
if (((DevicePathType (LastDeviceNode) == MEDIA_DEVICE_PATH) &&
@ -673,7 +673,7 @@ Returns:
// Skip boot option for internal Shell, it's always valid
//
(EfiGetNameGuidFromFwVolDevicePathNode ((MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) LastDeviceNode) != NULL)) {
gBS->FreePool (BootOptionVar);
FreePool (BootOptionVar);
Index++;
continue;
}
@ -721,7 +721,7 @@ Returns:
BootOrder[Index] = 0xffff;
}
gBS->FreePool (BootOptionVar);
FreePool (BootOptionVar);
Index++;
}
@ -743,7 +743,7 @@ Returns:
BootOrder
);
gBS->FreePool (BootOrder);
FreePool (BootOrder);
return Status;
}
@ -877,7 +877,7 @@ Returns:
}
if (NumberFileSystemHandles) {
gBS->FreePool (FileSystemHandles);
FreePool (FileSystemHandles);
}
//
// Parse Network Boot Device
@ -904,7 +904,7 @@ Returns:
}
if (NumberLoadFileHandles) {
gBS->FreePool (LoadFileHandles);
FreePool (LoadFileHandles);
}
//
// Check if we have on flash shell
@ -946,7 +946,7 @@ Returns:
}
if (FvHandleCount) {
gBS->FreePool (FvHandleBuffer);
FreePool (FvHandleBuffer);
}
//
// Make sure every boot only have one time
@ -966,13 +966,13 @@ BdsLibBuildOptionFromHandle (
/*++
Routine Description:
Build the boot option with the handle parsed in
Arguments:
Handle - The handle which present the device path to create boot option
BdsBootOptionList - The header of the link list which indexed all current
boot options
@ -1002,14 +1002,14 @@ BdsLibBuildOptionFromShell (
/*++
Routine Description:
Build the on flash shell boot option with the handle parsed in
Arguments:
Handle - The handle which present the device path to create on flash shell
boot option
BdsBootOptionList - The header of the link list which indexed all current
boot options
@ -1044,13 +1044,13 @@ BdsLibBootNext (
/*++
Routine Description:
Boot from the EFI1.1 spec defined "BootNext" variable
Arguments:
None
Returns:
None

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -26,12 +26,12 @@ BdsLibConnectAll (
/*++
Routine Description:
This function will connect all the system driver to controller
first, and then special connect the default console, this make
sure all the system controller avialbe and the platform default
console connected.
Arguments:
None
@ -66,12 +66,12 @@ BdsLibGenericConnectAll (
/*++
Routine Description:
This function will connect all the system drivers to all controllers
first, and then connect all the console devices the system current
first, and then connect all the console devices the system current
have. After this we should get all the device work and console avariable
if the system have console device.
Arguments:
None
@ -100,7 +100,7 @@ Routine Description:
path node. If the handle associate with one device path node can not
be created success, then still give one chance to do the dispatch,
which load the missing drivers if possible.
Arguments:
DevicePathToConnect - The device path which will be connected, it can
@ -108,12 +108,12 @@ Arguments:
Returns:
EFI_SUCCESS - All handles associate with every device path
EFI_SUCCESS - All handles associate with every device path
node have been created
EFI_OUT_OF_RESOURCES - There is no resource to create new handles
EFI_NOT_FOUND - Create the handle associate with one device
EFI_NOT_FOUND - Create the handle associate with one device
path node failed
--*/
@ -206,7 +206,7 @@ Returns:
} while (DevicePath != NULL);
if (CopyOfDevicePath != NULL) {
gBS->FreePool (CopyOfDevicePath);
FreePool (CopyOfDevicePath);
}
//
// All handle with DevicePath exists in the handle database
@ -224,7 +224,7 @@ Routine Description:
This function will connect all current system handles recursively. The
connection will finish until every handle's child handle created if it have.
Arguments:
None
@ -232,8 +232,8 @@ Arguments:
Returns:
EFI_SUCCESS - All handles and it's child handle have been connected
EFI_STATUS - Return the status of gBS->LocateHandleBuffer().
EFI_STATUS - Return the status of gBS->LocateHandleBuffer().
--*/
{
@ -257,7 +257,7 @@ Returns:
Status = gBS->ConnectController (HandleBuffer[Index], NULL, NULL, TRUE);
}
gBS->FreePool (HandleBuffer);
FreePool (HandleBuffer);
return EFI_SUCCESS;
}
@ -272,7 +272,7 @@ Routine Description:
This function will disconnect all current system handles. The disconnection
will finish until every handle have been disconnected.
Arguments:
None
@ -280,8 +280,8 @@ Arguments:
Returns:
EFI_SUCCESS - All handles have been disconnected
EFI_STATUS - Return the status of gBS->LocateHandleBuffer().
EFI_STATUS - Return the status of gBS->LocateHandleBuffer().
--*/
{
@ -308,7 +308,7 @@ Returns:
Status = gBS->DisconnectController (HandleBuffer[Index], NULL, NULL);
}
gBS->FreePool (HandleBuffer);
FreePool (HandleBuffer);
return EFI_SUCCESS;
}
@ -321,19 +321,19 @@ BdsLibConnectAllDriversToAllControllers (
Routine Description:
Connects all drivers to all controllers.
Connects all drivers to all controllers.
This function make sure all the current system driver will manage
the correspoinding controllers if have. And at the same time, make
sure all the system controllers have driver to manage it if have.
sure all the system controllers have driver to manage it if have.
Arguments:
None
Returns:
None
--*/
{
EFI_STATUS Status;

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -25,9 +25,9 @@ IsNvNeed (
)
{
CHAR16 *Ptr;
Ptr = ConVarName;
//
// If the variable includes "Dev" at last, we consider
// it does not support NV attribute.
@ -35,7 +35,7 @@ IsNvNeed (
while (*Ptr) {
Ptr++;
}
if ((*(Ptr - 3) == 'D') && (*(Ptr - 2) == 'e') && (*(Ptr - 1) == 'v')) {
return FALSE;
} else {
@ -53,7 +53,7 @@ BdsLibUpdateConsoleVariable (
Routine Description:
This function update console variable based on ConVarName, it can
This function update console variable based on ConVarName, it can
add or remove one specific console device path from the variable
Arguments:
@ -71,8 +71,8 @@ Arguments:
Returns:
EFI_UNSUPPORTED - Add or remove the same device path.
EFI_SUCCESS - Success add or remove the device path from
EFI_SUCCESS - Success add or remove the device path from
the console variable.
--*/
@ -103,12 +103,12 @@ Returns:
&gEfiGlobalVariableGuid,
&DevicePathSize
);
//
// Initialize NewDevicePath
//
NewDevicePath = VarConsole;
//
// If ExclusiveDevicePath is even the part of the instance in VarConsole, delete it.
// In the end, NewDevicePath is the final device path.
@ -134,7 +134,7 @@ Returns:
BdsLibSafeFreePool(TempNewDevicePath);
}
}
//
// The attribute for ConInDev, ConOutDev and ErrOutDev does not include NV.
//
@ -149,7 +149,7 @@ Returns:
//
Attributes = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS;
}
//
// Finally, Update the variable of the default console by NewDevicePath
//
@ -192,7 +192,7 @@ Arguments:
Returns:
EFI_NOT_FOUND - There is not any console devices connected success
EFI_SUCCESS - Success connect any one instance of the console
device path base on the variable ConVarName.
@ -250,7 +250,7 @@ Returns:
BdsLibSafeFreePool(Instance);
} while (CopyOfDevicePath != NULL);
gBS->FreePool (StartDevicePath);
FreePool (StartDevicePath);
if (DeviceExist == FALSE) {
return EFI_NOT_FOUND;
@ -346,7 +346,7 @@ BdsLibConnectAllDefaultConsoles (
Routine Description:
This function will connect console device base on the console
This function will connect console device base on the console
device variable ConIn, ConOut and ErrOut.
Arguments:
@ -357,7 +357,7 @@ Returns:
EFI_SUCCESS - At least one of the ConIn and ConOut device have
been connected success.
EFI_STATUS - Return the status of BdsLibConnectConsoleVariable ().
--*/
@ -370,12 +370,12 @@ Returns:
//
// Because possibly the platform is legacy free, in such case,
// ConIn devices (Serial Port and PS2 Keyboard ) does not exist,
// ConIn devices (Serial Port and PS2 Keyboard ) does not exist,
// so we need not check the status.
//
//
BdsLibConnectConsoleVariable (L"ConIn");
//
//
// It seems impossible not to have any ConOut device on platform,
// so we check the status here.
//

View File

@ -1,13 +1,13 @@
/*++
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:
@ -31,7 +31,7 @@ BdsLibGetTimeout (
/*++
Routine Description:
Return the default value for system Timeout variable.
Arguments:
@ -39,7 +39,7 @@ Arguments:
None
Returns:
Timeout value.
--*/
@ -85,7 +85,7 @@ BdsLibLoadDrivers (
/*++
Routine Description:
The function will go through the driver optoin link list, load and start
every driver the driver optoin device path point to.
@ -94,7 +94,7 @@ Arguments:
BdsDriverLists - The header of the current driver option link list
Returns:
None
--*/
@ -198,7 +198,7 @@ BdsLibRegisterNewOption (
/*++
Routine Description:
This function will register the new boot#### or driver#### option base on
the VariableName. The new registered boot#### or driver#### will be linked
to BdsOptionList and also update to the VariableName. After the boot#### or
@ -207,18 +207,18 @@ Routine Description:
Arguments:
BdsOptionList - The header of the boot#### or driver#### link list
DevicePath - The device path which the boot####
or driver#### option present
String - The description of the boot#### or driver####
VariableName - Indicate if the boot#### or driver#### option
Returns:
EFI_SUCCESS - The boot#### or driver#### have been success registered
EFI_STATUS - Return the status of gRT->SetVariable ().
--*/
@ -249,11 +249,13 @@ Returns:
ZeroMem (OptionName, sizeof (OptionName));
TempOptionSize = 0;
TempOptionPtr = BdsLibGetVariableAndSize (
VariableName,
&gEfiGlobalVariableGuid,
&TempOptionSize
);
//
// Compare with current option variable
//
@ -290,8 +292,8 @@ Returns:
//
// Got the option, so just return
//
gBS->FreePool (OptionPtr);
gBS->FreePool (TempOptionPtr);
FreePool (OptionPtr);
FreePool (TempOptionPtr);
return EFI_SUCCESS;
} else {
//
@ -302,7 +304,7 @@ Returns:
}
}
gBS->FreePool (OptionPtr);
FreePool (OptionPtr);
}
OptionSize = sizeof (UINT32) + sizeof (UINT16) + StrSize (String) + GetDevicePathSize (DevicePath);
@ -342,12 +344,12 @@ Returns:
OptionPtr
);
if (EFI_ERROR (Status) || UpdateBootDevicePath) {
gBS->FreePool (OptionPtr);
gBS->FreePool (TempOptionPtr);
FreePool (OptionPtr);
FreePool (TempOptionPtr);
return Status;
}
gBS->FreePool (OptionPtr);
FreePool (OptionPtr);
//
// Update the option order variable
@ -363,13 +365,15 @@ Returns:
OptionOrderPtr
);
if (EFI_ERROR (Status)) {
gBS->FreePool (TempOptionPtr);
gBS->FreePool (OptionOrderPtr);
FreePool (TempOptionPtr);
FreePool (OptionOrderPtr);
return Status;
}
gBS->FreePool (TempOptionPtr);
gBS->FreePool (OptionOrderPtr);
if (TempOptionPtr != NULL) {
FreePool (TempOptionPtr);
}
FreePool (OptionOrderPtr);
return EFI_SUCCESS;
}
@ -383,9 +387,9 @@ BdsLibVariableToOption (
Routine Description:
Build the boot#### or driver#### option from the VariableName, the
Build the boot#### or driver#### option from the VariableName, the
build boot#### or driver#### will also be linked to BdsCommonOptionList
Arguments:
BdsCommonOptionList - The header of the boot#### or driver#### option link list
@ -482,12 +486,12 @@ Returns:
//
if ((Option->Attribute & LOAD_OPTION_ACTIVE) == LOAD_OPTION_ACTIVE) {
InsertTailList (BdsCommonOptionList, &Option->Link);
gBS->FreePool (Variable);
FreePool (Variable);
return Option;
}
gBS->FreePool (Variable);
gBS->FreePool (Option);
FreePool (Variable);
FreePool (Option);
return NULL;
}
@ -553,7 +557,7 @@ Returns:
}
gBS->FreePool (OptionOrder);
FreePool (OptionOrder);
return EFI_SUCCESS;
}
@ -631,7 +635,7 @@ Routine Description:
Free pool safely.
Arguments:
Buffer - The allocated pool entry to free
Returns:
@ -641,7 +645,7 @@ Returns:
--*/
{
if (Buffer != NULL) {
gBS->FreePool (Buffer);
FreePool (Buffer);
Buffer = NULL;
}
}
@ -665,7 +669,7 @@ Arguments:
Returns:
This function will remove the device path instances in Multi which partly
This function will remove the device path instances in Multi which partly
match with the Single, and return the result device path. If there is no
remaining device path as a result, this function will return NULL.
@ -675,24 +679,24 @@ Returns:
EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;
EFI_DEVICE_PATH_PROTOCOL *TempNewDevicePath;
UINTN InstanceSize;
UINTN SingleDpSize;
UINTN Size;
UINTN SingleDpSize;
UINTN Size;
NewDevicePath = NULL;
TempNewDevicePath = NULL;
if (Multi == NULL || Single == NULL) {
return Multi;
}
Instance = GetNextDevicePathInstance (&Multi, &InstanceSize);
SingleDpSize = GetDevicePathSize (Single) - END_DEVICE_PATH_LENGTH;
InstanceSize -= END_DEVICE_PATH_LENGTH;
while (Instance != NULL) {
Size = (SingleDpSize < InstanceSize) ? SingleDpSize : InstanceSize;
Size = (SingleDpSize < InstanceSize) ? SingleDpSize : InstanceSize;
if ((CompareMem (Instance, Single, Size) != 0)) {
//
// Append the device path instance which does not match with Single
@ -705,7 +709,7 @@ Returns:
Instance = GetNextDevicePathInstance (&Multi, &InstanceSize);
InstanceSize -= END_DEVICE_PATH_LENGTH;
}
return NewDevicePath;
}
@ -730,9 +734,9 @@ Arguments:
Returns:
TRUE - If the Single is contained within Multi
FALSE - The Single is not match within Multi
--*/
{
@ -756,11 +760,11 @@ Returns:
// return success
//
if (CompareMem (Single, DevicePathInst, Size) == 0) {
gBS->FreePool (DevicePathInst);
FreePool (DevicePathInst);
return TRUE;
}
gBS->FreePool (DevicePathInst);
FreePool (DevicePathInst);
DevicePathInst = GetNextDevicePathInstance (&DevicePath, &Size);
}
@ -788,7 +792,7 @@ Arguments:
Returns:
EFI_SUCCESS - Success print out the string using ConOut.
EFI_STATUS - Return the status of the ConOut->OutputString ().
--*/
@ -821,7 +825,7 @@ Returns:
//
// Following are BDS Lib functions which contain all the code about setup browser reset reminder feature.
// Setup Browser reset reminder feature is that an reset reminder will be given before user leaves the setup browser if
// Setup Browser reset reminder feature is that an reset reminder will be given before user leaves the setup browser if
// user change any option setting which needs a reset to be effective, and the reset will be applied according to the user selection.
//
@ -832,7 +836,7 @@ EnableResetReminderFeature (
/*++
Routine Description:
Enable the setup browser reset reminder feature.
This routine is used in platform tip. If the platform policy need the feature, use the routine to enable it.
@ -847,7 +851,7 @@ Returns:
--*/
{
mFeaturerSwitch = TRUE;
}
}
VOID
DisableResetReminderFeature (
@ -856,10 +860,10 @@ DisableResetReminderFeature (
/*++
Routine Description:
Disable the setup browser reset reminder feature.
This routine is used in platform tip. If the platform policy do not want the feature, use the routine to disable it.
Arguments:
VOID
@ -871,7 +875,7 @@ Returns:
--*/
{
mFeaturerSwitch = FALSE;
}
}
VOID
EnableResetRequired (
@ -880,10 +884,10 @@ EnableResetRequired (
/*++
Routine Description:
Record the info that a reset is required.
A module boolean variable is used to record whether a reset is required.
A module boolean variable is used to record whether a reset is required.
Arguments:
VOID
@ -895,7 +899,7 @@ Returns:
--*/
{
mResetRequired = TRUE;
}
}
VOID
DisableResetRequired (
@ -906,7 +910,7 @@ DisableResetRequired (
Routine Description:
Record the info that no reset is required.
A module boolean variable is used to record whether a reset is required.
A module boolean variable is used to record whether a reset is required.
Arguments:
@ -919,7 +923,7 @@ Returns:
--*/
{
mResetRequired = FALSE;
}
}
BOOLEAN
IsResetReminderFeatureEnable (
@ -928,7 +932,7 @@ IsResetReminderFeatureEnable (
/*++
Routine Description:
Check whether platform policy enable the reset reminder feature. The default is enabled.
Arguments:
@ -951,9 +955,9 @@ IsResetRequired (
/*++
Routine Description:
Check if user changed any option setting which needs a system reset to be effective.
Arguments:
VOID
@ -974,9 +978,9 @@ SetupResetReminder (
/*++
Routine Description:
Check whether a reset is needed, and finish the reset reminder feature.
If a reset is needed, Popup a menu to notice user, and finish the feature
If a reset is needed, Popup a menu to notice user, and finish the feature
according to the user selection.
Arguments:
@ -991,9 +995,9 @@ Returns:
{
EFI_STATUS Status;
EFI_FORM_BROWSER_PROTOCOL *Browser;
EFI_INPUT_KEY Key;
EFI_INPUT_KEY Key;
CHAR16 *StringBuffer1;
CHAR16 *StringBuffer2;
CHAR16 *StringBuffer2;
//
@ -1001,28 +1005,28 @@ Returns:
//
if (IsResetReminderFeatureEnable ()) {
if (IsResetRequired ()) {
Status = gBS->LocateProtocol (
&gEfiFormBrowserProtocolGuid,
NULL,
&Browser
);
);
StringBuffer1 = AllocateZeroPool (MAX_STRING_LEN * sizeof (CHAR16));
ASSERT (StringBuffer1 != NULL);
StringBuffer2 = AllocateZeroPool (MAX_STRING_LEN * sizeof (CHAR16));
ASSERT (StringBuffer2 != NULL);
ASSERT (StringBuffer2 != NULL);
StrCpy (StringBuffer1, L"Configuration changed. Reset to apply it Now ? ");
StrCpy (StringBuffer2, L"Enter (YES) / Esc (NO)");
StrCpy (StringBuffer2, L"Enter (YES) / Esc (NO)");
//
// Popup a menu to notice user
//
//
do {
Browser->CreatePopUp (2, TRUE, 0, NULL, &Key, StringBuffer1, StringBuffer2);
} while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
gBS->FreePool (StringBuffer1);
gBS->FreePool (StringBuffer2);
} while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
FreePool (StringBuffer1);
FreePool (StringBuffer2);
//
// If the user hits the YES Response key, reset
//
@ -1030,9 +1034,9 @@ Returns:
gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
}
gST->ConOut->ClearScreen (gST->ConOut);
}
}
}
}
}
}
EFI_STATUS
BdsLibGetHiiHandles (
@ -1050,7 +1054,7 @@ Routine Description:
Arguments:
This - A pointer to the EFI_HII_PROTOCOL instance.
HandleBufferLength - On input, a pointer to the length of the handle buffer. On output,
HandleBufferLength - On input, a pointer to the length of the handle buffer. On output,
the length of the handle buffer that is required for the handles found.
HiiHandleBuffer - Pointer to an array of EFI_HII_PROTOCOL instances returned.
@ -1059,19 +1063,19 @@ Returns:
EFI_SUCCESS - Get an array of EFI_HII_PROTOCOL instances successfully.
EFI_INVALID_PARAMETER - Hii is NULL.
EFI_NOT_FOUND - Database not found.
--*/
{
UINT16 TempBufferLength;
EFI_STATUS Status;
TempBufferLength = 0;
//
// Try to find the actual buffer size for HiiHandle Buffer.
//
Status = Hii->FindHandles (Hii, &TempBufferLength, *HiiHandleBuffer);
if (Status == EFI_BUFFER_TOO_SMALL) {
*HiiHandleBuffer = AllocateZeroPool (TempBufferLength);
Status = Hii->FindHandles (Hii, &TempBufferLength, *HiiHandleBuffer);
@ -1080,9 +1084,9 @@ Returns:
//
ASSERT_EFI_ERROR (Status);
}
*HandleBufferLength = TempBufferLength;
return Status;
}

View File

@ -71,7 +71,7 @@ Returns:
CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);
}
gBS->FreePool (OldPool);
FreePool (OldPool);
}
return NewPool;
@ -137,7 +137,7 @@ Returns:
Str->len = strsize - sizeof (UINT16);
}
gBS->FreePool (AppendStr);
FreePool (AppendStr);
return Str->str;
}
@ -1059,7 +1059,7 @@ DevicePathToStr (
//
// Shrink pool used for string allocation
//
gBS->FreePool (DevPath);
FreePool (DevPath);
Done:
NewSize = (Str.len + 1) * sizeof (CHAR16);

View File

@ -6,7 +6,7 @@
<GuidValue>1ec995b2-d15b-44f6-abd2-050ea7dd37d2</GuidValue>
<Version>1.0</Version>
<Abstract>EDK Generic BDS Common APIs Library Instance.</Abstract>
<Description>The library instance provides common library routines help in
<Description>The library instance provides common library routines help in
performance measurement, device path debug print, boot device selections,
boot device connection, console supports in BDS phase and boot from boot
device.</Description>
@ -20,12 +20,12 @@
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<SupportedArchitectures>IA32</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>EdkGenericBdsLib</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_PRODUCED">
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="DXE_DRIVER">
<Keyword>EdkGenericBdsLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
@ -76,7 +76,6 @@
<Filename>Performance.h</Filename>
<Filename>Performance.c</Filename>
<Filename>BdsMisc.c</Filename>
<Filename SupArchList="IPF">Ipf/ShadowRom.c</Filename>
</SourceFiles>
<PackageDependencies>
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>

View File

@ -1,13 +1,13 @@
/*++
Copyright (c) 2006, 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:
@ -33,7 +33,7 @@ GetShortPdbFileName (
/*++
Routine Description:
Arguments:
Returns:
@ -176,13 +176,13 @@ WriteBootToOsPerformanceData (
/*++
Routine Description:
Allocates a block of memory and writes performance data of booting to OS into it.
Arguments:
None
Returns:
None
@ -328,7 +328,7 @@ Returns:
}
}
gBS->FreePool (Handles);
FreePool (Handles);
//
// Get inserted performance data

View File

@ -17,12 +17,12 @@
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<SupportedArchitectures>IA32</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>EdkNt32PeiPeCoffGetEntryPointLib</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_PRODUCED">
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="PEI_CORE PEIM">
<Keyword>PeCoffGetEntryPointLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">

View File

@ -17,12 +17,12 @@
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<SupportedArchitectures>IA32</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>Nt32PeCoffLoaderLib</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_PRODUCED">
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="DXE_CORE PEIM">
<Keyword>EdkPeCoffLoaderLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>

View File

@ -1,18 +1,18 @@
/*++
Copyright (c) 2006, 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:
FWBlockService.c
Abstract:
Revision History
@ -81,14 +81,14 @@ Routine Description:
date items to there virtual address.
mFvbModuleGlobal->FvInstance[FVB_PHYSICAL] - Physical copy of instance data
mFvbModuleGlobal->FvInstance[FVB_VIRTUAL] - Virtual pointer to common
mFvbModuleGlobal->FvInstance[FVB_VIRTUAL] - Virtual pointer to common
instance data.
Arguments:
(Standard EFI notify event - EFI_EVENT_NOTIFY)
Returns:
Returns:
None
@ -138,7 +138,7 @@ Arguments:
FwhInstance - The EFI_FW_VOL_INSTANCE fimrware instance structure
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - Successfully returns
EFI_INVALID_PARAMETER - Instance not found
@ -182,14 +182,14 @@ Routine Description:
Arguments:
Instance - The FV instance whose base address is going to be
returned
Address - Pointer to a caller allocated EFI_PHYSICAL_ADDRESS
Address - Pointer to a caller allocated EFI_PHYSICAL_ADDRESS
that on successful return, contains the base address
of the firmware volume.
of the firmware volume.
Global - Pointer to ESAL_FWB_GLOBAL that contains all
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - Successfully returns
EFI_INVALID_PARAMETER - Instance not found
@ -222,14 +222,14 @@ Routine Description:
resulting attributes in output parameter
Arguments:
Instance - The FV instance whose attributes is going to be
Instance - The FV instance whose attributes is going to be
returned
Attributes - Output buffer which contains attributes
Global - Pointer to ESAL_FWB_GLOBAL that contains all
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - Successfully returns
EFI_INVALID_PARAMETER - Instance not found
@ -266,7 +266,7 @@ Routine Description:
Arguments:
Instance - The FV instance which the Lba belongs to
Lba - The logical block address
LbaAddress - On output, contains the physical starting address
LbaAddress - On output, contains the physical starting address
of the Lba
LbaLength - On output, contains the length of the block
NumOfBlocks - A pointer to a caller allocated UINTN in which the
@ -277,7 +277,7 @@ Arguments:
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - Successfully returns
EFI_INVALID_PARAMETER - Instance not found
@ -369,14 +369,14 @@ Arguments:
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
EFI_SUCCESS - The firmware volume was read successfully and
Returns:
EFI_SUCCESS - The firmware volume was read successfully and
contents are in Buffer
EFI_BAD_BUFFER_SIZE - Read attempted across a LBA boundary. On output,
NumBytes contains the total number of bytes returned
in Buffer
EFI_ACCESS_DENIED - The firmware volume is in the ReadDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be read
EFI_INVALID_PARAMETER - Instance not found, or NumBytes, Buffer are NULL
@ -455,13 +455,13 @@ Arguments:
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - The firmware volume was written successfully
EFI_BAD_BUFFER_SIZE - Write attempted across a LBA boundary. On output,
NumBytes contains the total number of bytes
actually written
EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be written
EFI_INVALID_PARAMETER - Instance not found, or NumBytes, Buffer are NULL
@ -533,10 +533,10 @@ Arguments:
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - The erase request was successfully completed
EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be written. Firmware device may have been
partially erased
EFI_INVALID_PARAMETER - Instance not found
@ -596,7 +596,7 @@ Routine Description:
Arguments:
Instance - The FV instance to be erased
StartLba - The starting logical block index to be erased
OffsetStartLba - Offset into the starting block at which to
OffsetStartLba - Offset into the starting block at which to
begin erasing
LastLba - The last logical block index to be erased
OffsetStartLba - Offset into the last block at which to end erasing
@ -604,10 +604,10 @@ Arguments:
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - The firmware volume was erased successfully
EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be written. Firmware device may have been
partially erased
EFI_INVALID_PARAMETER - Instance not found
@ -681,13 +681,13 @@ FvbSetVolumeAttributes (
/*++
Routine Description:
Modifies the current settings of the firmware volume according to the
Modifies the current settings of the firmware volume according to the
input parameter, and returns the new setting of the volume
Arguments:
Instance - The FV instance whose attributes is going to be
Instance - The FV instance whose attributes is going to be
modified
Attributes - On input, it is a pointer to EFI_FVB_ATTRIBUTES
Attributes - On input, it is a pointer to EFI_FVB_ATTRIBUTES
containing the desired firmware volume settings.
On successful return, it contains the new settings
of the firmware volume
@ -695,7 +695,7 @@ Arguments:
instance data
Virtual - Whether CPU is in virtual or physical mode
Returns:
Returns:
EFI_SUCCESS - Successfully returns
EFI_ACCESS_DENIED - The volume setting is locked and cannot be modified
EFI_INVALID_PARAMETER - Instance not found, or The attributes requested are
@ -801,7 +801,7 @@ Arguments:
Returns:
Returns:
Returns:
EFI_SUCCESS - Successfully returns
--*/
@ -836,8 +836,8 @@ Arguments:
returned. All blocks in this range have a size of
BlockSize
Returns:
EFI_SUCCESS - The firmware volume was read successfully and
Returns:
EFI_SUCCESS - The firmware volume was read successfully and
contents are in Buffer
--*/
@ -872,7 +872,7 @@ Arguments:
This - Calling context
Attributes - output buffer which contains attributes
Returns:
Returns:
EFI_SUCCESS - Successfully returns
--*/
@ -899,7 +899,7 @@ Arguments:
This - Calling context
Attributes - output buffer which contains attributes
Returns:
Returns:
EFI_SUCCESS - Successfully returns
--*/
@ -915,28 +915,28 @@ EFI_STATUS
EFIAPI
FvbProtocolEraseBlocks (
IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
...
...
)
/*++
Routine Description:
The EraseBlock() function erases one or more blocks as denoted by the
The EraseBlock() function erases one or more blocks as denoted by the
variable argument list. The entire parameter list of blocks must be verified
prior to erasing any blocks. If a block is requested that does not exist
within the associated firmware volume (it has a larger index than the last
prior to erasing any blocks. If a block is requested that does not exist
within the associated firmware volume (it has a larger index than the last
block of the firmware volume), the EraseBlock() function must return
EFI_INVALID_PARAMETER without modifying the contents of the firmware volume.
Arguments:
This - Calling context
... - Starting LBA followed by Number of Lba to erase.
... - Starting LBA followed by Number of Lba to erase.
a -1 to terminate the list.
Returns:
Returns:
EFI_SUCCESS - The erase request was successfully completed
EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be written. Firmware device may have been
partially erased
@ -1037,13 +1037,13 @@ Arguments:
output, indicates the actual number of bytes written
Buffer - Buffer containing source data for the write.
Returns:
Returns:
EFI_SUCCESS - The firmware volume was written successfully
EFI_BAD_BUFFER_SIZE - Write attempted across a LBA boundary. On output,
NumBytes contains the total number of bytes
actually written
EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be written
EFI_INVALID_PARAMETER - NumBytes or Buffer are NULL
@ -1085,14 +1085,14 @@ Arguments:
output, indicates the actual number of bytes Read
Buffer - Buffer containing source data for the Read.
Returns:
EFI_SUCCESS - The firmware volume was read successfully and
Returns:
EFI_SUCCESS - The firmware volume was read successfully and
contents are in Buffer
EFI_BAD_BUFFER_SIZE - Read attempted across a LBA boundary. On output,
NumBytes contains the total number of bytes returned
in Buffer
EFI_ACCESS_DENIED - The firmware volume is in the ReadDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be read
EFI_INVALID_PARAMETER - NumBytes or Buffer are NULL
@ -1125,15 +1125,15 @@ Routine Description:
Arguments:
This - Calling context
StartLba - The starting logical block index to be erased
OffsetStartLba - Offset into the starting block at which to
OffsetStartLba - Offset into the starting block at which to
begin erasing
LastLba - The last logical block index to be erased
OffsetStartLba - Offset into the last block at which to end erasing
Returns:
Returns:
EFI_SUCCESS - The firmware volume was erased successfully
EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state
EFI_DEVICE_ERROR - The block device is not functioning correctly and
EFI_DEVICE_ERROR - The block device is not functioning correctly and
could not be written. Firmware device may have been
partially erased
@ -1167,7 +1167,7 @@ Routine Description:
Arguments:
FwVolHeader - A pointer to a firmware volume header
Returns:
Returns:
EFI_SUCCESS - The firmware volume is consistent
EFI_NOT_FOUND - The firmware volume has corrupted. So it is not an FV
@ -1252,12 +1252,8 @@ Returns:
// Allocate runtime services data for global variable, which contains
// the private data of all firmware volume block instances
//
Status = gBS->AllocatePool (
EfiRuntimeServicesData,
sizeof (ESAL_FWB_GLOBAL),
&mFvbModuleGlobal
);
ASSERT_EFI_ERROR (Status);
mFvbModuleGlobal = AllocateRuntimePool (sizeof (ESAL_FWB_GLOBAL));
ASSERT (mFvbModuleGlobal != NULL);
//
// Calculate the total size for all firmware volume block instances
@ -1306,12 +1302,8 @@ Returns:
// the private data of each FV instance. But in virtual mode or in physical
// mode, the address of the the physical memory may be different.
//
Status = gBS->AllocatePool (
EfiRuntimeServicesData,
BufferSize,
&mFvbModuleGlobal->FvInstance[FVB_PHYSICAL]
);
ASSERT_EFI_ERROR (Status);
mFvbModuleGlobal->FvInstance[FVB_PHYSICAL] = AllocateRuntimePool (BufferSize);
ASSERT (mFvbModuleGlobal->FvInstance[FVB_PHYSICAL] != NULL);
//
// Make a virtual copy of the FvInstance pointer.
@ -1392,12 +1384,8 @@ Returns:
//
// Add a FVB Protocol Instance
//
Status = gBS->AllocatePool (
EfiRuntimeServicesData,
sizeof (EFI_FW_VOL_BLOCK_DEVICE),
&FvbDevice
);
ASSERT_EFI_ERROR (Status);
FvbDevice = AllocateRuntimePool (sizeof (EFI_FW_VOL_BLOCK_DEVICE));
ASSERT (FvbDevice != NULL);
CopyMem (FvbDevice, &mFvbDeviceTemplate, sizeof (EFI_FW_VOL_BLOCK_DEVICE));
@ -1481,12 +1469,8 @@ Returns:
//
// Allocate for scratch space, an intermediate buffer for FVB extention
//
Status = gBS->AllocatePool (
EfiRuntimeServicesData,
MaxLbaSize,
&mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL]
);
ASSERT_EFI_ERROR (Status);
mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL] = AllocateRuntimePool (MaxLbaSize);
ASSERT (mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL] != NULL);
mFvbModuleGlobal->FvbScratchSpace[FVB_VIRTUAL] = mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL];