mirror of https://github.com/acidanthera/audk.git
Update code to match EDKII coding style.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10130 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
a111b843ea
commit
26a76fbcb2
|
@ -516,6 +516,7 @@ BootScriptInformation (
|
|||
@param TableName Name of the script table. Currently, the only meaningful value is
|
||||
EFI_ACPI_S3_RESUME_SCRIPT_TABLE.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
|
@ -689,7 +690,7 @@ BootScriptCloseTable (
|
|||
/**
|
||||
This routine is entry point of ScriptSave driver.
|
||||
|
||||
@param Imagehandle Handle for this drivers loaded image protocol.
|
||||
@param ImageHandle Handle for this drivers loaded image protocol.
|
||||
@param SystemTable EFI system table.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES No enough resource
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
@param TableName Name of the script table. Currently, the only meaningful value is
|
||||
EFI_ACPI_S3_RESUME_SCRIPT_TABLE.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
Intel's Framework CPU I/O Protocol is replaced by CPU I/O 2 Protocol in PI.
|
||||
This module produces PI CPU I/O 2 Protocol on top of Framework CPU I/O Protocol.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -38,7 +38,7 @@ EFI_CPU_IO2_PROTOCOL mCpuIo2 = {
|
|||
@param[in] Address The base address of the memory operation.
|
||||
@param[in] Count The number of memory operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[out] Buffer The destination buffer to store the results.
|
||||
@param[in, out] Buffer The destination buffer to store the results.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -53,7 +53,7 @@ CpuMemoryServiceRead (
|
|||
IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
OUT VOID *Buffer
|
||||
IN OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
return mCpuIo->Mem.Read (
|
||||
|
@ -73,7 +73,7 @@ CpuMemoryServiceRead (
|
|||
@param[in] Address The base address of the memory operation.
|
||||
@param[in] Count The number of memory operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[in] Buffer The source buffer from which to write data.
|
||||
@param[in, out] Buffer The source buffer from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -88,7 +88,7 @@ CpuMemoryServiceWrite (
|
|||
IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
IN VOID *Buffer
|
||||
IN OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
return mCpuIo->Mem.Write (
|
||||
|
@ -109,7 +109,7 @@ CpuMemoryServiceWrite (
|
|||
for aligning the Address if required.
|
||||
@param[in] Count The number of I/O operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[out] Buffer The destination buffer to store the results.
|
||||
@param[in, out] Buffer The destination buffer to store the results.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -124,7 +124,7 @@ CpuIoServiceRead (
|
|||
IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
OUT VOID *Buffer
|
||||
IN OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
return mCpuIo->Io.Read (
|
||||
|
@ -145,7 +145,7 @@ CpuIoServiceRead (
|
|||
for aligning the Address if required.
|
||||
@param[in] Count The number of I/O operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[in] Buffer The source buffer from which to write data.
|
||||
@param[in, out] Buffer The source buffer from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -160,7 +160,7 @@ CpuIoServiceWrite (
|
|||
IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
IN VOID *Buffer
|
||||
IN OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
return mCpuIo->Io.Write (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Internal include file for the CPU I/O 2 Protocol thunk driver.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -29,7 +29,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
@param[in] Address The base address of the memory operation.
|
||||
@param[in] Count The number of memory operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[out] Buffer The destination buffer to store the results.
|
||||
@param[in, out] Buffer The destination buffer to store the results.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -55,7 +55,7 @@ CpuMemoryServiceRead (
|
|||
@param[in] Address The base address of the memory operation.
|
||||
@param[in] Count The number of memory operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[in] Buffer The source buffer from which to write data.
|
||||
@param[in, out] Buffer The source buffer from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -82,7 +82,7 @@ CpuMemoryServiceWrite (
|
|||
for aligning the Address if required.
|
||||
@param[in] Count The number of I/O operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[out] Buffer The destination buffer to store the results.
|
||||
@param[in, out] Buffer The destination buffer to store the results.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
@ -109,7 +109,7 @@ CpuIoServiceRead (
|
|||
for aligning the Address if required.
|
||||
@param[in] Count The number of I/O operations to perform. The number of bytes moved
|
||||
is Width size * Count, starting at Address.
|
||||
@param[in] Buffer The source buffer from which to write data.
|
||||
@param[in, out] Buffer The source buffer from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the EFI system.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this EFI system. Or Buffer is NULL.
|
||||
|
|
|
@ -12,7 +12,7 @@ This module module layers Device I/O on top of PCI Root Bridge I/O (Segment 0)
|
|||
Platform required to support EFI drivers that consume Device I/O
|
||||
Platform required to support EFI applications that consume Device I/O
|
||||
|
||||
Copyright (c) 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2008 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -389,6 +389,15 @@ DEVICE_IO_PRIVATE_DATA gDeviceIoPrivateDataTemplate = {
|
|||
255 // SubordinateBus
|
||||
};
|
||||
|
||||
/**
|
||||
This notification function is invoked when an instance of the
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL is produced. It installs another instance of the
|
||||
EFI_DEVICE_IO_PROTOCOL on the same handle.
|
||||
|
||||
@param Event The event that occured
|
||||
@param Context Context of event. Not used in this nofication function.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
PciRootBridgeIoNotificationEvent (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file implements functions related to Config Access Protocols installed by
|
||||
by HII Thunk Modules. These Config access Protocols are used to thunk UEFI Config
|
||||
Access Callback to Framework HII Callback and EFI Variable Set/Get operations.
|
||||
|
@ -127,38 +127,6 @@ GetStorageFromQuestionId (
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
Get the EFI_IFR_VARSTORE based the ID.
|
||||
|
||||
@param FormSet The Form Set.
|
||||
|
||||
@retval FORMSET_STORAGE * The EFI_IFR_VARSTORE with the ID.
|
||||
@retval NULL If the Form Set does not have EFI_IFR_VARSTORE with such ID.
|
||||
**/
|
||||
FORMSET_STORAGE *
|
||||
GetStorageFromVarStoreId (
|
||||
IN CONST FORM_BROWSER_FORMSET * FormSet,
|
||||
IN EFI_VARSTORE_ID VarStoreId
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *StorageList;
|
||||
FORMSET_STORAGE *Storage;
|
||||
|
||||
StorageList = GetFirstNode (&FormSet->StorageListHead);
|
||||
|
||||
while (!IsNull (&FormSet->StorageListHead, StorageList)) {
|
||||
Storage = FORMSET_STORAGE_FROM_LINK (StorageList);
|
||||
|
||||
if (VarStoreId == Storage->VarStoreId) {
|
||||
return Storage;
|
||||
}
|
||||
|
||||
StorageList = GetNextNode (&FormSet->StorageListHead, StorageList);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
Get the EFI_IFR_VARSTORE based the <ConfigHdr> string in a <ConfigRequest>
|
||||
or a <ConfigResp> string.
|
||||
|
@ -377,7 +345,6 @@ CallFormCallBack (
|
|||
@retval EFI_INVALID_PARAMETER If the UEFI Variable Get Service return the size information of the data
|
||||
does not match what has been recorded early in he BUFFER_STORAGE_ENTRY.
|
||||
**/
|
||||
|
||||
EFI_STATUS
|
||||
GetUefiVariable (
|
||||
IN FORMSET_STORAGE *BufferStorage,
|
||||
|
@ -651,7 +618,7 @@ Done:
|
|||
|
||||
ASSERT if the Question Type is not EFI_IFR_TYPE_NUM_SIZE_* or EFI_IFR_TYPE_STRING.
|
||||
|
||||
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL
|
||||
@param ConfigAccess Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL
|
||||
@param QuestionId The Question ID.
|
||||
@param Type The Question Type.
|
||||
@param Value The Question Value.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file contains functions related to Config Access Protocols installed by
|
||||
by HII Thunk Modules which is used to thunk UEFI Config Access Callback to
|
||||
Framework HII Callback.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -14,29 +14,38 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _HII_THUNK_CONFIG_ACCESS_H
|
||||
#define _HII_THUNK_CONFIG_ACCESS_H
|
||||
#ifndef _HII_THUNK_CONFIG_ACCESS_H_
|
||||
#define _HII_THUNK_CONFIG_ACCESS_H_
|
||||
|
||||
/**
|
||||
This function installs a EFI_CONFIG_ACCESS_PROTOCOL instance for a form package registered
|
||||
by a module using Framework HII Protocol Interfaces.
|
||||
|
||||
UEFI HII require EFI_HII_CONFIG_ACCESS_PROTOCOL to be installed on a EFI_HANDLE, so
|
||||
that Setup Utility can load the Buffer Storage using this protocol.
|
||||
UEFI HII require EFI_HII_CONFIG_ACCESS_PROTOCOL to be installed on a EFI_HANDLE, so
|
||||
that Setup Utility can load the Buffer Storage using this protocol.
|
||||
|
||||
@param Packages The framework package list.
|
||||
@param ThunkContext The Thunk Layer Handle Mapping Database Entry.
|
||||
@param Packages The Package List.
|
||||
@param ThunkContext The Thunk Context.
|
||||
|
||||
@retval EFI_SUCCESS The Config Access Protocol is installed successfully.
|
||||
@retval EFI_OUT_RESOURCE There is not enough memory.
|
||||
@retval EFI_SUCCESS The Config Access Protocol is installed successfully.
|
||||
@retval EFI_OUT_RESOURCE There is not enough memory.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
InstallDefaultConfigAccessProtocol (
|
||||
IN CONST EFI_HII_PACKAGES *Packages,
|
||||
IN OUT HII_THUNK_CONTEXT *ThunkContext
|
||||
IN CONST EFI_HII_PACKAGES *Packages,
|
||||
IN OUT HII_THUNK_CONTEXT *ThunkContext
|
||||
);
|
||||
|
||||
/**
|
||||
This function un-installs the EFI_CONFIG_ACCESS_PROTOCOL instance for a form package registered
|
||||
by a module using Framework HII Protocol Interfaces.
|
||||
|
||||
ASSERT if no Config Access is found for such pakcage list or failed to uninstall the protocol.
|
||||
|
||||
@param ThunkContext The Thunk Context.
|
||||
|
||||
**/
|
||||
VOID
|
||||
UninstallDefaultConfigAccessProtocol (
|
||||
IN HII_THUNK_CONTEXT *ThunkContext
|
||||
|
@ -76,21 +85,20 @@ ThunkExtractConfig (
|
|||
|
||||
|
||||
/**
|
||||
|
||||
This function implement the EFI_HII_CONFIG_ACCESS_PROTOCOL.RouteConfig
|
||||
so that data can be written to the data storage such as UEFI Variable or module's
|
||||
customized storage exposed by EFI_FRAMEWORK_CALLBACK.
|
||||
|
||||
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL
|
||||
@param Configuration A null-terminated Unicode string in <ConfigResp> format.
|
||||
@param Progress A pointer to a string filled in with the offset of the most recent '&' before the first
|
||||
failing name / value pair (or the beginning of the string if the failure is in the first
|
||||
name / value pair) or the terminating NULL if all was successful.
|
||||
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL
|
||||
@param Configuration A null-terminated Unicode string in <ConfigResp> format.
|
||||
@param Progress A pointer to a string filled in with the offset of the most recent '&' before the first
|
||||
failing name / value pair (or the beginning of the string if the failure is in the first
|
||||
name / value pair) or the terminating NULL if all was successful.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER If there is no Buffer Storage for this Config Access instance.
|
||||
@retval EFI_SUCCESS The setting is saved successfully.
|
||||
@retval !EFI_SUCCESS The error returned by UEFI Set Variable or Framework Form Callback Nvwrite.
|
||||
**/
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ThunkRouteConfig (
|
||||
|
@ -101,27 +109,26 @@ ThunkRouteConfig (
|
|||
|
||||
/**
|
||||
Wrap the EFI_HII_CONFIG_ACCESS_PROTOCOL.CallBack to EFI_FORM_CALLBACK_PROTOCOL.Callback. Therefor,
|
||||
the framework HII module willl do no porting (except some porting works needed for callback for EFI_ONE_OF_OPTION opcode)
|
||||
and still work with a UEFI HII SetupBrowser.
|
||||
the framework HII module willl do no porting and work with a UEFI HII SetupBrowser.
|
||||
|
||||
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
|
||||
@param Action Specifies the type of action taken by the browser. See EFI_BROWSER_ACTION_x.
|
||||
@param QuestionId A unique value which is sent to the original exporting driver so that it can identify the
|
||||
type of data to expect. The format of the data tends to vary based on the opcode that
|
||||
generated the callback.
|
||||
@param Type The type of value for the question. See EFI_IFR_TYPE_x in
|
||||
EFI_IFR_ONE_OF_OPTION.
|
||||
@param Value A pointer to the data being sent to the original exporting driver. The type is specified
|
||||
by Type. Type EFI_IFR_TYPE_VALUE is defined in
|
||||
EFI_IFR_ONE_OF_OPTION.
|
||||
@param ActionRequest On return, points to the action requested by the callback function. Type
|
||||
EFI_BROWSER_ACTION_REQUEST is specified in SendForm() in the Form
|
||||
Browser Protocol.
|
||||
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
|
||||
@param Action Specifies the type of action taken by the browser. See EFI_BROWSER_ACTION_x.
|
||||
@param QuestionId A unique value which is sent to the original exporting driver so that it can identify the
|
||||
type of data to expect. The format of the data tends to vary based on the opcode that
|
||||
generated the callback.
|
||||
@param Type The type of value for the question. See EFI_IFR_TYPE_x in
|
||||
EFI_IFR_ONE_OF_OPTION.
|
||||
@param Value A pointer to the data being sent to the original exporting driver. The type is specified
|
||||
by Type. Type EFI_IFR_TYPE_VALUE is defined in
|
||||
EFI_IFR_ONE_OF_OPTION.
|
||||
@param ActionRequest On return, points to the action requested by the callback function. Type
|
||||
EFI_BROWSER_ACTION_REQUEST is specified in SendForm() in the Form
|
||||
Browser Protocol.
|
||||
|
||||
@retval EFI_UNSUPPORTED If the Framework HII module does not register Callback although it specify the opcode under
|
||||
focuse to be INTERRACTIVE.
|
||||
@retval EFI_SUCCESS The callback complete successfully.
|
||||
@retval !EFI_SUCCESS The error code returned by EFI_FORM_CALLBACK_PROTOCOL.Callback.
|
||||
@retval EFI_UNSUPPORTED If the Framework HII module does not register Callback although it specify the opcode under
|
||||
focuse to be INTERRACTIVE.
|
||||
@retval EFI_SUCCESS The callback complete successfully.
|
||||
@retval !EFI_SUCCESS The error code returned by EFI_FORM_CALLBACK_PROTOCOL.Callback.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file contains the Glyph related function.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -167,18 +167,18 @@ HiiGlyphToBlt (
|
|||
IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer
|
||||
)
|
||||
{
|
||||
UINTN X;
|
||||
UINTN Y;
|
||||
UINTN Xpos;
|
||||
UINTN Ypos;
|
||||
|
||||
//
|
||||
// Convert Monochrome bitmap of the Glyph to BltBuffer structure
|
||||
//
|
||||
for (Y = 0; Y < Height; Y++) {
|
||||
for (X = 0; X < Width; X++) {
|
||||
if ((((EFI_NARROW_GLYPH *) GlyphBuffer)->GlyphCol1[Y] & (1 << X)) != 0) {
|
||||
BltBuffer[Y * Width * Count + (Width - X - 1)] = Foreground;
|
||||
for (Ypos = 0; Ypos < Height; Ypos++) {
|
||||
for (Xpos = 0; Xpos < Width; Xpos++) {
|
||||
if ((((EFI_NARROW_GLYPH *) GlyphBuffer)->GlyphCol1[Ypos] & (1 << Xpos)) != 0) {
|
||||
BltBuffer[Ypos * Width * Count + (Width - Xpos - 1)] = Foreground;
|
||||
} else {
|
||||
BltBuffer[Y * Width * Count + (Width - X - 1)] = Background;
|
||||
BltBuffer[Ypos * Width * Count + (Width - Xpos - 1)] = Background;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file contains the form processing code to the HII database.
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -289,7 +289,7 @@ GetPackageData (
|
|||
EFI_HII_PACKAGE_HEADER *Package;
|
||||
UINT32 Offset;
|
||||
UINT32 PackageListLength;
|
||||
EFI_HII_PACKAGE_HEADER PackageHeader = {0, 0};
|
||||
EFI_HII_PACKAGE_HEADER PackageHeader;
|
||||
|
||||
ASSERT(HiiPackageList != NULL);
|
||||
|
||||
|
@ -297,6 +297,7 @@ GetPackageData (
|
|||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
ZeroMem (&PackageHeader, sizeof (PackageHeader));
|
||||
Package = NULL;
|
||||
Index = 0;
|
||||
Offset = sizeof (EFI_HII_PACKAGE_LIST_HEADER);
|
||||
|
@ -407,13 +408,15 @@ LocateLabel (
|
|||
with value as the same as the input Label in the Formset registered with UefiHiiHandle. The FormSet GUID
|
||||
and Form ID is returned if such Label is found.
|
||||
|
||||
@param Handle Uefi Hii Handle to be searched.
|
||||
@param Label The first Label ID to be found.
|
||||
@param FormsetGuid The matched FormSet GUID.
|
||||
@param FormId The matched Form ID.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER If UefiHiiHandle is not a valid handle.
|
||||
@retval EFI_NOT_FOUND The package list identified by UefiHiiHandle deos not contain FormSet or
|
||||
There is no Form ID with value Label found in all Form Sets in the pacakge
|
||||
list.
|
||||
|
||||
@retval EFI_SUCCESS The first found Form ID is returned in FormId.
|
||||
@retval EFI_NOT_FOUND The package list identified by UefiHiiHandle deos not contain FormSet or
|
||||
Form ID with value Label found in all Form Sets in the pacakge list.
|
||||
@retval EFI_SUCCESS The first found Form ID is returned in FormId.
|
||||
**/
|
||||
EFI_STATUS
|
||||
LocateFormId (
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
[Sources]
|
||||
SetupBrowser.c
|
||||
SetupBrowser.h
|
||||
HiiHandle.c
|
||||
HiiHandle.h
|
||||
ConfigAccess.c
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/**@file
|
||||
/** @file
|
||||
Framework to UEFI 2.1 HII Thunk. The driver consume UEFI HII protocols
|
||||
to produce a Framework HII protocol.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -318,9 +318,9 @@ HiiFindHandles (
|
|||
registered on the handle. The routine will not return the three-spaces language identifier used in
|
||||
other functions to indicate non-language-specific strings.
|
||||
|
||||
@reval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
|
||||
@reval EFI_INVALID_PARAMETER The Handle was unknown.
|
||||
@retval EFI_INVALID_PARAMETER The Handle was unknown.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
|
@ -451,8 +451,8 @@ HiiGetSupportedSecondaryLanguages (
|
|||
but returns a NULL LanguageString if there are no secondary languages associated with the input Handle and
|
||||
PrimaryLanguage pair. Type EFI_STRING is defined in String.
|
||||
|
||||
@reval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@reval EFI_INVALID_PARAMETER The Handle was unknown.
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@retval EFI_INVALID_PARAMETER The Handle was unknown.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/**@file
|
||||
/** @file
|
||||
|
||||
This file contains global defines and prototype definitions
|
||||
for the Framework HII to Uefi HII Thunk Module.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -14,8 +14,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _HIIDATABASE_H
|
||||
#define _HIIDATABASE_H
|
||||
#ifndef _HIIDATABASE_H_
|
||||
#define _HIIDATABASE_H_
|
||||
|
||||
|
||||
#include <FrameworkDxe.h>
|
||||
|
@ -239,14 +239,37 @@ extern HII_THUNK_PRIVATE_DATA *mHiiThunkPrivateData;
|
|||
extern BOOLEAN mInFrameworkUpdatePakcage;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
Registers the various packages that are passed in a Package List.
|
||||
|
||||
@param This Pointer of Frameowk HII protocol instance.
|
||||
@param Packages Pointer of HII packages.
|
||||
@param Handle Handle value to be returned.
|
||||
|
||||
@retval EFI_SUCCESS Pacakges has added to HII database successfully.
|
||||
@retval EFI_INVALID_PARAMETER If Handle or Packages is NULL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiNewPack (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN EFI_HII_PACKAGES *PackageList,
|
||||
OUT FRAMEWORK_EFI_HII_HANDLE *Handle
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN EFI_HII_PACKAGES *Packages,
|
||||
OUT FRAMEWORK_EFI_HII_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Remove a package from the HII database.
|
||||
|
||||
@param This Pointer of Frameowk HII protocol instance.
|
||||
@param Handle Handle value to be removed.
|
||||
|
||||
@retval EFI_SUCCESS Pacakges has added to HII database successfully.
|
||||
@retval EFI_INVALID_PARAMETER If Handle or Packages is NULL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiRemovePack (
|
||||
|
@ -254,34 +277,119 @@ HiiRemovePack (
|
|||
IN FRAMEWORK_EFI_HII_HANDLE Handle
|
||||
);
|
||||
|
||||
/**
|
||||
Determines the handles that are currently active in the database.
|
||||
|
||||
This function determines the handles that are currently active in the database.
|
||||
For example, a program wishing to create a Setup-like configuration utility would use this call
|
||||
to determine the handles that are available. It would then use calls defined in the forms section
|
||||
below to extract forms and then interpret them.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param 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.
|
||||
@param Handle Pointer to an array of EFI_HII_HANDLE instances returned.
|
||||
Type EFI_HII_HANDLE is defined in EFI_HII_PROTOCOL.NewPack() in the Packages section.
|
||||
|
||||
@retval EFI_SUCCESS Handle was updated successfully.
|
||||
|
||||
@retval EFI_BUFFER_TOO_SMALL The HandleBufferLength parameter indicates that Handle is too small
|
||||
to support the number of handles. HandleBufferLength is updated with a value that
|
||||
will enable the data to fit.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiFindHandles (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN OUT UINT16 *HandleBufferLength,
|
||||
OUT FRAMEWORK_EFI_HII_HANDLE *Handle
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN OUT UINT16 *HandleBufferLength,
|
||||
OUT FRAMEWORK_EFI_HII_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
This thunk module only handles UEFI HII packages. The caller of this function
|
||||
won't be able to parse the content. Therefore, it is not supported.
|
||||
|
||||
This function will ASSERT and return EFI_UNSUPPORTED.
|
||||
|
||||
@param This N.A.
|
||||
@param Handle N.A.
|
||||
@param BufferSize N.A.
|
||||
@param Buffer N.A.
|
||||
|
||||
@retval EFI_UNSUPPORTED
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiExportDatabase (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT VOID *Buffer
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
Translates a Unicode character into the corresponding font glyph.
|
||||
|
||||
Notes:
|
||||
This function is only called by Graphics Console module and GraphicsLib.
|
||||
Wrap the Framework HII GetGlyph function to UEFI Font Protocol.
|
||||
|
||||
EDK II provides a UEFI Graphics Console module. ECP provides a GraphicsLib
|
||||
complying to UEFI HII.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Source A pointer to a Unicode string.
|
||||
@param Index On input, the offset into the string from which to fetch the character. On successful completion, the
|
||||
index is updated to the first character past the character(s) making up the just extracted glyph.
|
||||
@param GlyphBuffer Pointer to an array where the glyphs corresponding to the characters in the source may be stored.
|
||||
GlyphBuffer is assumed to be wide enough to accept a wide glyph character.
|
||||
@param BitWidth If EFI_SUCCESS was returned, the UINT16 pointed to by this value is filled with the length of the glyph in pixels.
|
||||
It is unchanged if the call was unsuccessful.
|
||||
@param InternalStatus To save the time required to read the string from the beginning on each glyph extraction
|
||||
(for example, to ensure that the narrow versus wide glyph mode is correct), this value is
|
||||
updated each time the function is called with the status that is local to the call. The cell pointed
|
||||
to by this parameter must be initialized to zero prior to invoking the call the first time for any string.
|
||||
|
||||
@retval EFI_SUCCESS It worked.
|
||||
@retval EFI_NOT_FOUND A glyph for a character was not found.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetGlyph (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN CHAR16 *Source,
|
||||
IN OUT UINT16 *Index,
|
||||
OUT UINT8 **GlyphBuffer,
|
||||
OUT UINT16 *BitWidth,
|
||||
IN OUT UINT32 *InternalStatus
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN CHAR16 *Source,
|
||||
IN OUT UINT16 *Index,
|
||||
OUT UINT8 **GlyphBuffer,
|
||||
OUT UINT16 *BitWidth,
|
||||
IN OUT UINT32 *InternalStatus
|
||||
);
|
||||
|
||||
/**
|
||||
Translates a glyph into the format required for input to the Universal Graphics Adapter (UGA) Block Transfer (BLT) routines.
|
||||
|
||||
Notes:
|
||||
This function is only called by Graphics Console module and GraphicsLib.
|
||||
EDK II provides a UEFI Graphics Console module. ECP provides a GraphicsLib
|
||||
complying to UEFI HII.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param GlyphBuffer A pointer to the buffer that contains glyph data.
|
||||
@param Foreground The foreground setting requested to be used for the generated BltBuffer data. Type EFI_UGA_PIXEL is defined in "Related Definitions" below.
|
||||
@param Background The background setting requested to be used for the generated BltBuffer data.
|
||||
@param Count The entry in the BltBuffer upon which to act.
|
||||
@param Width The width in bits of the glyph being converted.
|
||||
@param Height The height in bits of the glyph being converted
|
||||
@param BltBuffer A pointer to the buffer that contains the data that is ready to be used by the UGA BLT routines.
|
||||
|
||||
@retval EFI_SUCCESS It worked.
|
||||
@retval EFI_NOT_FOUND A glyph for a character was not found.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGlyphToBlt (
|
||||
|
@ -295,16 +403,56 @@ HiiGlyphToBlt (
|
|||
IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer
|
||||
);
|
||||
|
||||
/**
|
||||
Create or update a String Token in a String Package.
|
||||
|
||||
If *Reference == 0, a new String Token is created.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Language Pointer to a NULL-terminated string containing a single ISO 639-2 language
|
||||
identifier, indicating the language to print. A string consisting of
|
||||
all spaces indicates that the string is applicable to all languages.
|
||||
@param Handle The handle of the language pack to which the string is to be added.
|
||||
@param Reference The string token assigned to the string.
|
||||
@param NewString The string to be added.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The string was effectively registered.
|
||||
@retval EFI_INVALID_PARAMETER The Handle was unknown. The string is not created or updated in the
|
||||
the string package.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiNewString (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN CHAR16 *Language,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN OUT STRING_REF *Reference,
|
||||
IN CHAR16 *NewString
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN CHAR16 *Language,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN OUT STRING_REF *Reference,
|
||||
IN CHAR16 *NewString
|
||||
);
|
||||
|
||||
/**
|
||||
This function extracts a string from a package already registered with the EFI HII database.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Raw If TRUE, the string is returned unedited in the internal storage format described
|
||||
above. If false, the string returned is edited by replacing <cr> with <space>
|
||||
and by removing special characters such as the <wide> prefix.
|
||||
@param LanguageString Pointer to a NULL-terminated string containing a single ISO 639-2 language
|
||||
identifier, indicating the language to print. If the LanguageString is empty (starts
|
||||
with a NULL), the default system language will be used to determine the language.
|
||||
@param BufferLength Length of the StringBuffer. If the status reports that the buffer width is too
|
||||
small, this parameter is filled with the length of the buffer needed.
|
||||
@param StringBuffer The buffer designed to receive the characters in the string. Type EFI_STRING is
|
||||
defined in String.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER If input parameter is invalid.
|
||||
@retval EFI_BUFFER_TOO_SMALL If the *BufferLength is too small.
|
||||
@retval EFI_SUCCESS Operation is successful.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiThunkGetString (
|
||||
|
@ -317,103 +465,312 @@ HiiThunkGetString (
|
|||
OUT EFI_STRING StringBuffer
|
||||
);
|
||||
|
||||
/**
|
||||
This function removes any new strings that were added after the initial string export for this handle.
|
||||
UEFI HII String Protocol does not have Reset String function. This function perform nothing.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle on which the string resides.
|
||||
|
||||
@retval EFI_SUCCESS This function is a NOP and always return EFI_SUCCESS.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiResetStrings (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle
|
||||
);
|
||||
|
||||
/**
|
||||
Test if all of the characters in a string have corresponding font characters.
|
||||
|
||||
This is a deprecated API. No Framework HII module is calling it. This function will ASSERT and
|
||||
return EFI_UNSUPPORTED.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param StringToTest A pointer to a Unicode string.
|
||||
@param FirstMissing A pointer to an index into the string. On input, the index of
|
||||
the first character in the StringToTest to examine. On exit, the index
|
||||
of the first character encountered for which a glyph is unavailable.
|
||||
If all glyphs in the string are available, the index is the index of the terminator
|
||||
of the string.
|
||||
@param GlyphBufferSize A pointer to a value. On output, if the function returns EFI_SUCCESS,
|
||||
it contains the amount of memory that is required to store the string? glyph equivalent.
|
||||
|
||||
@retval EFI_UNSUPPORTED The function performs nothing and return EFI_UNSUPPORTED.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiTestString (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN CHAR16 *StringToTest,
|
||||
IN OUT UINT32 *FirstMissing,
|
||||
OUT UINT32 *GlyphBufferSize
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN CHAR16 *StringToTest,
|
||||
IN OUT UINT32 *FirstMissing,
|
||||
OUT UINT32 *GlyphBufferSize
|
||||
);
|
||||
|
||||
/**
|
||||
Allows a program to determine the primary languages that are supported on a given handle.
|
||||
|
||||
This routine is intended to be used by drivers to query the interface database for supported languages.
|
||||
This routine returns a string of concatenated 3-byte language identifiers, one per string package associated with the handle.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the strings reside. Type EFI_HII_HANDLE is defined in EFI_HII_PROTOCOL.NewPack()
|
||||
in the Packages section.
|
||||
@param LanguageString A string allocated by GetPrimaryLanguages() that contains a list of all primary languages
|
||||
registered on the handle. The routine will not return the three-spaces language identifier used in
|
||||
other functions to indicate non-language-specific strings.
|
||||
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The Handle was unknown.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetPrimaryLanguages (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
OUT EFI_STRING *LanguageString
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
OUT EFI_STRING *LanguageString
|
||||
);
|
||||
|
||||
/**
|
||||
Allows a program to determine which secondary languages are supported on a given handle for a given primary language
|
||||
|
||||
This routine is intended to be used by drivers to query the interface database for supported languages.
|
||||
This routine returns a string of concatenated 3-byte language identifiers, one per string package associated with the handle.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the strings reside. Type EFI_HII_HANDLE is defined in EFI_HII_PROTOCOL.NewPack()
|
||||
in the Packages section.
|
||||
@param PrimaryLanguage Pointer to a NULL-terminated string containing a single ISO 639-2 language identifier, indicating
|
||||
the primary language.
|
||||
@param LanguageString A string allocated by GetSecondaryLanguages() containing a list of all secondary languages registered
|
||||
on the handle. The routine will not return the three-spaces language identifier used in other functions
|
||||
to indicate non-language-specific strings, nor will it return the primary language. This function succeeds
|
||||
but returns a NULL LanguageString if there are no secondary languages associated with the input Handle and
|
||||
PrimaryLanguage pair. Type EFI_STRING is defined in String.
|
||||
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@retval EFI_INVALID_PARAMETER The Handle was unknown.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetSecondaryLanguages (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN CHAR16 *PrimaryLanguage,
|
||||
OUT EFI_STRING *LanguageString
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN CHAR16 *PrimaryLanguage,
|
||||
OUT EFI_STRING *LanguageString
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
This function allows a program to extract a part of a string of not more than a given width.
|
||||
With repeated calls, this allows a calling program to extract "lines" of text that fit inside
|
||||
columns. The effort of measuring the fit of strings inside columns is localized to this call.
|
||||
|
||||
This is a deprecated API. No Framework HII module is calling it. This function will ASSERT and
|
||||
return EFI_UNSUPPORTED.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Index On input, the offset into the string where the line is to start.
|
||||
On output, the index is updated to point to beyond the last character returned
|
||||
in the call.
|
||||
@param LineWidth The maximum width of the line in units of narrow glyphs.
|
||||
@param LanguageString Pointer to a NULL-terminated string containing a single ISO 639-2 language
|
||||
identifier, indicating the language to print. If the LanguageString is empty (starts
|
||||
with a NULL), the default system language will be used to determine the language.
|
||||
@param BufferLength Length of the StringBuffer. If the status reports that the buffer width is too
|
||||
small, this parameter is filled with the length of the buffer needed.
|
||||
@param StringBuffer The buffer designed to receive the characters in the string. Type EFI_STRING is
|
||||
defined in String.
|
||||
|
||||
@retval EFI_UNSUPPORTED.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetLine (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN STRING_REF Token,
|
||||
IN OUT UINT16 *Index,
|
||||
IN UINT16 LineWidth,
|
||||
IN CHAR16 *LanguageString,
|
||||
IN OUT UINT16 *BufferLength,
|
||||
OUT EFI_STRING StringBuffer
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN STRING_REF Token,
|
||||
IN OUT UINT16 *Index,
|
||||
IN UINT16 LineWidth,
|
||||
IN CHAR16 *LanguageString,
|
||||
IN OUT UINT16 *BufferLength,
|
||||
OUT EFI_STRING StringBuffer
|
||||
);
|
||||
|
||||
/**
|
||||
This function allows a program to extract a form or form package that has
|
||||
previously been registered with the EFI HII database.
|
||||
|
||||
In this thunk module, this function will create a IFR Package with only
|
||||
one Formset. Effectively, only the GUID of the Formset is updated and return
|
||||
in this IFR package to caller. This is enable the Framework modules which call
|
||||
a API named GetStringFromToken. GetStringFromToken retieves a String based on
|
||||
a String Token from a Package List known only by the Formset GUID.
|
||||
|
||||
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle Handle on which the form resides. Type FRAMEWORK_EFI_HII_HANDLE is defined in
|
||||
EFI_HII_PROTOCOL.NewPack() in the Packages section.
|
||||
@param FormId Ignored by this implementation.
|
||||
@param BufferLengthTemp On input, the size of input buffer. On output, it
|
||||
is the size of FW_HII_FORMSET_TEMPLATE.
|
||||
@param Buffer The buffer designed to receive the form(s).
|
||||
|
||||
@retval EFI_SUCCESS Buffer filled with the requested forms. BufferLength
|
||||
was updated.
|
||||
@retval EFI_INVALID_PARAMETER The handle is unknown.
|
||||
@retval EFI_NOT_FOUND A form on the requested handle cannot be found with the
|
||||
requested FormId.
|
||||
@retval EFI_BUFFER_TOO_SMALL The buffer provided was not large enough to allow the form to be stored.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetForms (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN EFI_FORM_ID FormId,
|
||||
IN OUT UINTN *BufferLength,
|
||||
OUT UINT8 *Buffer
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN EFI_FORM_ID FormId,
|
||||
IN OUT UINTN *BufferLengthTemp,
|
||||
OUT UINT8 *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
This function allows a program to extract the NV Image
|
||||
that represents the default storage image
|
||||
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle from which will have default data retrieved.
|
||||
UINTN - Mask used to retrieve the default image.
|
||||
@param DefaultMask EDES_TODO: Add parameter description
|
||||
@param VariablePackList Callee allocated, tightly-packed, link list data
|
||||
structure that contain all default varaible packs
|
||||
from the Hii Database.
|
||||
|
||||
@retval EFI_NOT_FOUND If Hii database does not contain any default images.
|
||||
@retval EFI_INVALID_PARAMETER Invalid input parameter.
|
||||
@retval EFI_SUCCESS Operation successful.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetDefaultImage (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN UINTN DefaultMask,
|
||||
OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN UINTN DefaultMask,
|
||||
OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList
|
||||
);
|
||||
|
||||
/**
|
||||
This function allows the caller to update a form that has
|
||||
previously been registered with the EFI HII database.
|
||||
|
||||
|
||||
@param This EDES_TODO: Add parameter description
|
||||
@param Handle Hii Handle associated with the Formset to modify
|
||||
@param Label Update information starting immediately after this label in the IFR
|
||||
@param AddData If TRUE, add data. If FALSE, remove data
|
||||
@param Data If adding data, this is the pointer to the data to add
|
||||
|
||||
@retval EFI_SUCCESS Update success.
|
||||
@retval Other Update fail.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiThunkUpdateForm (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN EFI_FORM_LABEL Label,
|
||||
IN BOOLEAN AddData,
|
||||
IN EFI_HII_UPDATE_DATA *Data
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle,
|
||||
IN EFI_FORM_LABEL Label,
|
||||
IN BOOLEAN AddData,
|
||||
IN EFI_HII_UPDATE_DATA *Data
|
||||
);
|
||||
|
||||
/**
|
||||
Retrieves the current keyboard layout.
|
||||
This function is not implemented by HII Thunk Module.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param DescriptorCount A pointer to the number of Descriptor entries being described in the keyboard layout being retrieved.
|
||||
@param Descriptor A pointer to a buffer containing an array of EFI_KEY_DESCRIPTOR entries. Each entry will reflect the
|
||||
definition of a specific physical key. Type EFI_KEY_DESCRIPTOR is defined in "Related Definitions" below.
|
||||
|
||||
@retval EFI_SUCCESS The keyboard layout was retrieved successfully.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiGetKeyboardLayout (
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
OUT UINT16 *DescriptorCount,
|
||||
OUT FRAMEWORK_EFI_KEY_DESCRIPTOR *Descriptor
|
||||
IN EFI_HII_PROTOCOL *This,
|
||||
OUT UINT16 *DescriptorCount,
|
||||
OUT FRAMEWORK_EFI_KEY_DESCRIPTOR *Descriptor
|
||||
);
|
||||
|
||||
/**
|
||||
This is the Framework Setup Browser interface which displays a FormSet.
|
||||
|
||||
@param This The EFI_FORM_BROWSER_PROTOCOL context.
|
||||
@param UseDatabase TRUE if the FormSet is from HII database. The Thunk implementation
|
||||
only support UseDatabase is TRUE.
|
||||
@param Handle The Handle buffer.
|
||||
@param HandleCount The number of Handle in the Handle Buffer. It must be 1 for this implementation.
|
||||
@param Packet The pointer to data buffer containing IFR and String package. Not supported.
|
||||
@param CallbackHandle Not supported.
|
||||
@param NvMapOverride The buffer is used only when there is no NV variable to define the
|
||||
current settings and the caller needs to provide to the browser the
|
||||
current settings for the the "fake" NV variable. If used, no saving of
|
||||
an NV variable is possbile. This parameter is also ignored if Handle is NULL.
|
||||
@param ScreenDimensions
|
||||
Allows the browser to be called so that it occupies a portion of the physical
|
||||
screen instead of dynamically determining the screen dimensions.
|
||||
@param ResetRequired This BOOLEAN value denotes whether a reset is required based on the data that
|
||||
might have been changed. The ResetRequired parameter is primarily applicable
|
||||
for configuration applications, and is an optional parameter.
|
||||
|
||||
@retval EFI_SUCCESS If the Formset is displayed correctly.
|
||||
@retval EFI_UNSUPPORTED If UseDatabase is FALSE or HandleCount is not 1.
|
||||
@retval EFI_INVALID_PARAMETER If the *Handle passed in is not found in the database.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ThunkSendForm (
|
||||
IN EFI_FORM_BROWSER_PROTOCOL *This,
|
||||
IN BOOLEAN UseDatabase,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE *Handle,
|
||||
IN UINTN HandleCount,
|
||||
IN EFI_IFR_PACKET *Packet, OPTIONAL
|
||||
IN EFI_HANDLE CallbackHandle, OPTIONAL
|
||||
IN UINT8 *NvMapOverride, OPTIONAL
|
||||
IN FRAMEWORK_EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL
|
||||
OUT BOOLEAN *ResetRequired OPTIONAL
|
||||
IN EFI_FORM_BROWSER_PROTOCOL *This,
|
||||
IN BOOLEAN UseDatabase,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE *Handle,
|
||||
IN UINTN HandleCount,
|
||||
IN EFI_IFR_PACKET *Packet, OPTIONAL
|
||||
IN EFI_HANDLE CallbackHandle, OPTIONAL
|
||||
IN UINT8 *NvMapOverride, OPTIONAL
|
||||
IN FRAMEWORK_EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL
|
||||
OUT BOOLEAN *ResetRequired OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Rountine used to display a generic dialog interface and return
|
||||
the Key or Input from user input.
|
||||
|
||||
@param LinesNumber The number of lines for the dialog box.
|
||||
@param HotKey Defines if a single character is parsed (TRUE) and returned in KeyValue
|
||||
or if a string is returned in StringBuffer.
|
||||
@param MaximumStringSize The maximum size in bytes of a typed-in string.
|
||||
@param StringBuffer On return contains the typed-in string if HotKey is FALSE.
|
||||
@param Key The EFI_INPUT_KEY value returned if HotKey is TRUE.
|
||||
@param FirstString The pointer to the first string in the list of strings
|
||||
that comprise the dialog box.
|
||||
@param ... A series of NumberOfLines text strings that will be used
|
||||
to construct the dialog box.
|
||||
@retval EFI_SUCCESS The dialog is created successfully and user interaction was received.
|
||||
@retval EFI_DEVICE_ERROR The user typed in an ESC.
|
||||
@retval EFI_INVALID_PARAMETER One of the parameters was invalid.(StringBuffer == NULL && HotKey == FALSE).
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ThunkCreatePopUp (
|
||||
|
@ -426,6 +783,24 @@ ThunkCreatePopUp (
|
|||
...
|
||||
);
|
||||
|
||||
/**
|
||||
This notification function will be called when a Package List is removed
|
||||
using UEFI HII interface. The Package List removed need to be removed from
|
||||
Framework Thunk module too.
|
||||
|
||||
If the Package List registered is not Sting Package,
|
||||
then ASSERT. If the NotifyType is not REMOVE_PACK, then ASSERT.
|
||||
Both cases means UEFI HII Database itself is buggy.
|
||||
|
||||
@param PackageType The Package Type.
|
||||
@param PackageGuid The Package GUID.
|
||||
@param Package The Package Header.
|
||||
@param Handle The HII Handle of this Package List.
|
||||
@param NotifyType The reason of the notification.
|
||||
|
||||
@retval EFI_SUCCESS The notification function is successful.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
RemovePackNotify (
|
||||
|
@ -436,6 +811,25 @@ RemovePackNotify (
|
|||
IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType
|
||||
);
|
||||
|
||||
/**
|
||||
This notification function will be called when a Package List is registered
|
||||
using UEFI HII interface. The Package List registered need to be recorded in
|
||||
Framework Thunk module as Thunk Module may need to look for String Package in
|
||||
the package registered.
|
||||
|
||||
If the Package List registered is not either Sting Package or IFR package,
|
||||
then ASSERT. If the NotifyType is not ADD_PACK or NEW_PACK, then ASSERT.
|
||||
Both cases means UEFI HII Database itself is buggy.
|
||||
|
||||
@param PackageType The Package Type.
|
||||
@param PackageGuid The Package GUID.
|
||||
@param Package The Package Header.
|
||||
@param Handle The HII Handle of this Package List.
|
||||
@param NotifyType The reason of the notification.
|
||||
|
||||
@retval EFI_SUCCESS The notification function is successful.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
NewOrAddPackNotify (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file is for functins related to assign and free Framework HII handle number.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file is for functins related to assign and free Framework HII handle number.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -12,28 +12,48 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _HII_HANDLE_H
|
||||
#define _HII_HANDLE_H
|
||||
#ifndef _HII_HANDLE_H_
|
||||
#define _HII_HANDLE_H_
|
||||
|
||||
#include <FrameworkDxe.h>
|
||||
#include <Protocol/FrameworkHii.h>
|
||||
#include <Library/DebugLib.h>
|
||||
|
||||
/**
|
||||
|
||||
Initialize the Framework Hii Handle database.
|
||||
|
||||
**/
|
||||
VOID
|
||||
InitHiiHandleDatabase (
|
||||
VOID
|
||||
);
|
||||
|
||||
/**
|
||||
Allocate a new Framework HII handle.
|
||||
|
||||
@param Handle Returns the new Framework HII Handle assigned.
|
||||
|
||||
@retval EFI_SUCCESS A new Framework HII Handle is assigned.
|
||||
@retval EFI_OUT_OF_RESOURCE The Framework HII Handle database is depleted.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
AllocateHiiHandle (
|
||||
FRAMEWORK_EFI_HII_HANDLE *Handle
|
||||
);
|
||||
OUT FRAMEWORK_EFI_HII_HANDLE *Handle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Free Framework HII handle.
|
||||
|
||||
@param Handle The Framework HII Handle to be freed.
|
||||
|
||||
**/
|
||||
VOID
|
||||
FreeHiiHandle (
|
||||
FRAMEWORK_EFI_HII_HANDLE Handle
|
||||
);
|
||||
IN FRAMEWORK_EFI_HII_HANDLE Handle
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/**@file
|
||||
/** @file
|
||||
|
||||
This file contains the keyboard processing code to the HII database.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Implement Functions to convert IFR Opcode in format defined in Framework HII specification to
|
||||
format defined in UEFI HII Specification.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
Copyright (c) 2007 - 2010, 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
|
||||
|
@ -26,7 +26,7 @@ typedef struct {
|
|||
UINT8 UefiIfrOp;
|
||||
} IFR_OPCODE_MAP;
|
||||
|
||||
IFR_OPCODE_MAP mQuestionOpcodeMap [] = {
|
||||
IFR_OPCODE_MAP QuestionOpcodeMap[] = {
|
||||
{ FRAMEWORK_EFI_IFR_ONE_OF_OP, EFI_IFR_ONE_OF_OP},
|
||||
{ FRAMEWORK_EFI_IFR_CHECKBOX_OP, EFI_IFR_CHECKBOX_OP},
|
||||
{ FRAMEWORK_EFI_IFR_NUMERIC_OP, EFI_IFR_NUMERIC_OP},
|
||||
|
@ -51,9 +51,9 @@ QuestionOpFwToUefi (
|
|||
{
|
||||
UINTN Index;
|
||||
|
||||
for (Index = 0; Index < sizeof (mQuestionOpcodeMap) / sizeof (mQuestionOpcodeMap[0]); Index++) {
|
||||
if (FwOp == mQuestionOpcodeMap[Index].FrameworkIfrOp) {
|
||||
*UefiOp = mQuestionOpcodeMap[Index].UefiIfrOp;
|
||||
for (Index = 0; Index < sizeof (QuestionOpcodeMap) / sizeof (QuestionOpcodeMap[0]); Index++) {
|
||||
if (FwOp == QuestionOpcodeMap[Index].FrameworkIfrOp) {
|
||||
*UefiOp = QuestionOpcodeMap[Index].UefiIfrOp;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
@ -63,13 +63,15 @@ QuestionOpFwToUefi (
|
|||
}
|
||||
|
||||
/**
|
||||
Translate a Framework Question Opcode to UEFI Question Opcode.
|
||||
Translate a Framework Question ID to UEFI Question ID.
|
||||
|
||||
@param FwOp Framework Opcode.
|
||||
@param UefiOp UEFI Opcode.
|
||||
@param FormSet FormSet context
|
||||
@param FwOpCode Framework Opcode
|
||||
@param FwQId Framework Question Id
|
||||
@param UefiQId UEFI Question ID.
|
||||
|
||||
@retval EFI_SUCCESS The UEFI opcode is found and returned.
|
||||
@retval EFI_NOT_FOUND The UEFI opcode is not found.
|
||||
@retval EFI_SUCCESS The UEFI Question Id is found and returned.
|
||||
@retval EFI_NOT_FOUND The UEFI Question Id is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
FwQIdToUefiQId (
|
||||
|
@ -150,6 +152,9 @@ FwQIdToUefiQId (
|
|||
|
||||
If FwQuestionId is not 0, then it is used as the Framework Question ID.
|
||||
|
||||
@param FwQuestionId
|
||||
@param FormSet
|
||||
|
||||
@return The Framework Question ID.
|
||||
**/
|
||||
EFI_QUESTION_ID
|
||||
|
@ -169,8 +174,8 @@ AssignQuestionId (
|
|||
/**
|
||||
Create UEFI HII Text Opcode from a Framework HII Text Opcode.
|
||||
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -207,8 +212,8 @@ F2UCreateTextOpCode (
|
|||
/**
|
||||
Create UEFI HII Reference Opcode from a Framework HII Reference Opcode.
|
||||
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -245,9 +250,9 @@ F2UCreateReferenceOpCode (
|
|||
/**
|
||||
Create UEFI HII "One Of Option" Opcode from a Framework HII "One Of Option" Opcode.
|
||||
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param Width The size of the One Of Option. 1 bytes or 2 bytes.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -300,10 +305,10 @@ F2UCreateOneOfOptionOpCode (
|
|||
to a UEFI Question ID. This information is used to invoke the Framework HII Browser Callback
|
||||
function. The opcode is appened to UefiUpdateDataHandle.
|
||||
|
||||
@param UefiUpdateDataHandle The UEFI Update Data buffer.
|
||||
@param QuestionId The UEFI Question ID.
|
||||
@param OptionValue The value of the "One Of Option".
|
||||
@param KeyValue The Framework "One Of Option" callback key.
|
||||
@param UefiUpdateDataHandle The UEFI Update Data buffer.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -336,9 +341,9 @@ CreateGuidOptionKeyOpCode (
|
|||
/**
|
||||
Create UEFI HII "One Of" Opcode from a Framework HII "One Of" Opcode.
|
||||
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param ThunkContext The HII Thunk Context.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param NextFwOpcode Returns the position of the next Framework Opcode after EFI_IFR_END_ONE_OF_OP of
|
||||
the "One Of Option".
|
||||
@param OpcodeCount The number of Opcode for the complete Framework "One Of" Opcode.
|
||||
|
@ -456,9 +461,9 @@ F2UCreateOneOfOpCode (
|
|||
/**
|
||||
Create UEFI HII "Ordered List" Opcode from a Framework HII "Ordered List" Opcode.
|
||||
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param ThunkContext The HII Thunk Context.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param NextFwOpcode Returns the position of the next Framework Opcode after EFI_IFR_END_ONE_OF_OP of
|
||||
the "Ordered List".
|
||||
@param OpcodeCount The number of Opcode for the complete Framework "Ordered List" Opcode.
|
||||
|
@ -562,9 +567,9 @@ F2UCreateOrderedListOpCode (
|
|||
/**
|
||||
Create UEFI HII CheckBox Opcode from a Framework HII Checkbox Opcode.
|
||||
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param ThunkContext The HII Thunk Context.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -627,9 +632,9 @@ F2UCreateCheckBoxOpCode (
|
|||
/**
|
||||
Create UEFI HII Numeric Opcode from a Framework HII Numeric Opcode.
|
||||
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param ThunkContext The HII Thunk Context.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -749,9 +754,9 @@ F2UCreateNumericOpCode (
|
|||
/**
|
||||
Create UEFI HII String Opcode from a Framework HII String Opcode.
|
||||
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param ThunkContext The HII Thunk Context.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -802,8 +807,8 @@ F2UCreateStringOpCode (
|
|||
/**
|
||||
Create UEFI HII Banner Opcode from a Framework HII Banner Opcode.
|
||||
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
@param UefiUpdateDataHandle The newly created UEFI HII opcode is appended to UefiUpdateDataHandle.
|
||||
@param FwOpcode The input Framework Opcode.
|
||||
|
||||
@retval NULL There is not enough space left in Buffer to add the opcode.
|
||||
@retval Other A pointer to the created opcode.
|
||||
|
@ -837,7 +842,7 @@ F2UCreateBannerOpCode (
|
|||
|
||||
@param ThunkContext The HII Thunk Context.
|
||||
@param FwUpdateData The Framework Update Data.
|
||||
@param UefiUpdateData The UEFI Update Data.
|
||||
@param UefiOpCodeHandle The UEFI opcode hanlde.
|
||||
|
||||
@retval EFI_SUCCESS The UEFI Update Data is created successfully.
|
||||
@retval EFI_UNSUPPORTED There is unsupported opcode in FwUpdateData.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
Implement protocol interface related to package registrations.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -27,15 +27,16 @@ EFI_GUID mGuidBase = { 0x14f95e01, 0xd562, 0x432e, { 0x84, 0x4a, 0x95, 0xa4, 0x3
|
|||
|
||||
|
||||
/**
|
||||
Get the number of package IFR and STRING packages in the package list passed in.
|
||||
Get the number of Form, STRING and Font packages in the package list passed in.
|
||||
|
||||
@param Packages Package List.
|
||||
@param IfrPackageCount Number of IFR Packages.
|
||||
@param StringPackageCount Number of String Packages.
|
||||
@param FontPackageCount Number of Font Packages.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER If the Package List has package with type of
|
||||
EFI_HII_PACKAGE_KEYBOARD_LAYOUT, EFI_HII_PACKAGE_FONTS, EFI_HII_PACKAGE_IMAGES.
|
||||
@reval EFI_SUCCESS Successfully get the number of IFR and STRING package.
|
||||
@retval EFI_SUCCESS Successfully get the number of IFR and STRING package.
|
||||
|
||||
|
||||
**/
|
||||
|
@ -159,7 +160,7 @@ UpdatePackListWithOnlyIfrPack (
|
|||
|
||||
If the Package Header is not of EFI_HII_FONT type, then ASSERT.
|
||||
|
||||
@param The Package header of the Framework Font Package.
|
||||
@param PackHeader Pointer to Framework Font Package.
|
||||
|
||||
@return The size of the UEFI Simple Font Package.
|
||||
|
||||
|
@ -191,9 +192,9 @@ GetUefiSimpleFontPackSize (
|
|||
|
||||
If memory allocation fails, then ASSERT.
|
||||
|
||||
@param FwFontPack Framework Font Package.
|
||||
@param PackHeader Pointer to Framework Font Package header.
|
||||
|
||||
@reture UEFI Simple Font Package.
|
||||
@return UEFI Simple Font Package.
|
||||
**/
|
||||
EFI_HII_SIMPLE_FONT_PACKAGE_HDR *
|
||||
FrameworkFontPackToUefiSimpliedFont (
|
||||
|
@ -450,7 +451,7 @@ FindStringPackAndUpdatePackListWithOnlyIfrPack (
|
|||
@param This The EFI_HII_PROTOCOL context data. Only used
|
||||
to call HiiRemovePack.
|
||||
@param Private The HII THUNK driver context data.
|
||||
@param Package Package List.
|
||||
@param Packages Package List.
|
||||
@param Handle On output, a FRAMEWORK_EFI_HII_HANDLE number is
|
||||
returned.
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/**@file
|
||||
/** @file
|
||||
Framework to UEFI 2.1 Setup Browser Thunk. The file consume EFI_FORM_BROWSER2_PROTOCOL
|
||||
to produce a EFI_FORM_BROWSER_PROTOCOL.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -399,12 +399,17 @@ GetTimeout (
|
|||
current settings and the caller needs to provide to the browser the
|
||||
current settings for the the "fake" NV variable. If used, no saving of
|
||||
an NV variable is possbile. This parameter is also ignored if Handle is NULL.
|
||||
@param ScreenDimensions
|
||||
Allows the browser to be called so that it occupies a portion of the physical
|
||||
screen instead of dynamically determining the screen dimensions.
|
||||
@param ResetRequired This BOOLEAN value denotes whether a reset is required based on the data that
|
||||
might have been changed. The ResetRequired parameter is primarily applicable
|
||||
for configuration applications, and is an optional parameter.
|
||||
|
||||
@retval EFI_SUCCESS If the Formset is displayed correctly.
|
||||
@retval EFI_UNSUPPORTED If UseDatabase is FALSE or HandleCount is not 1.
|
||||
@retval EFI_INVALID_PARAMETER If the *Handle passed in is not found in the database.
|
||||
**/
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ThunkSendForm (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file contains macros to be included by SetupBrowser.c.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**@file
|
||||
/** @file
|
||||
This file implements the protocol functions related to string package.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -135,7 +135,7 @@ UpdateString (
|
|||
identifier, indicating the language to print. A string consisting of
|
||||
all spaces indicates that the string is applicable to all languages.
|
||||
@param Handle The handle of the language pack to which the string is to be added.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Reference The string token assigned to the string.
|
||||
@param NewString The string to be added.
|
||||
|
||||
|
||||
|
@ -143,7 +143,6 @@ UpdateString (
|
|||
@retval EFI_INVALID_PARAMETER The Handle was unknown. The string is not created or updated in the
|
||||
the string package.
|
||||
**/
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
HiiNewString (
|
||||
|
@ -292,7 +291,7 @@ HiiThunkGetString (
|
|||
IN STRING_REF Token,
|
||||
IN BOOLEAN Raw,
|
||||
IN CHAR16 *LanguageString,
|
||||
IN OUT UINTN *BufferLengthTemp,
|
||||
IN OUT UINTN *BufferLength,
|
||||
OUT EFI_STRING StringBuffer
|
||||
)
|
||||
{
|
||||
|
@ -370,7 +369,7 @@ HiiThunkGetString (
|
|||
UefiHiiHandle,
|
||||
Token,
|
||||
StringBuffer,
|
||||
BufferLengthTemp,
|
||||
BufferLength,
|
||||
NULL
|
||||
);
|
||||
FreePool (BestLanguage);
|
||||
|
@ -405,9 +404,10 @@ Done:
|
|||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Raw If TRUE, the string is returned unedited in the internal storage format described
|
||||
above. If false, the string returned is edited by replacing <cr> with <space>
|
||||
and by removing special characters such as the <wide> prefix.
|
||||
@param Index On input, the offset into the string where the line is to start.
|
||||
On output, the index is updated to point to beyond the last character returned
|
||||
in the call.
|
||||
@param LineWidth The maximum width of the line in units of narrow glyphs.
|
||||
@param LanguageString Pointer to a NULL-terminated string containing a single ISO 639-2 language
|
||||
identifier, indicating the language to print. If the LanguageString is empty (starts
|
||||
with a NULL), the default system language will be used to determine the language.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Function and Macro defintions for to extract default values from UEFI Form package.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -32,8 +32,6 @@ extern CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *mHiiConfigRoutingProtocol;
|
|||
@param Value The input value.
|
||||
@param Offset The offset in Node->Buffer for the update.
|
||||
@param Width The length of the Value.
|
||||
|
||||
@retval VOID
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@ -52,27 +50,27 @@ SetNodeBuffer (
|
|||
|
||||
|
||||
/**
|
||||
Reset Question to its default value.
|
||||
Get question default value, and set it into the match var storage.
|
||||
|
||||
Note Framework 0.92's HII Implementation does not support for default value for these opcodes:
|
||||
EFI_IFR_ORDERED_LIST_OP:
|
||||
EFI_IFR_PASSWORD_OP:
|
||||
EFI_IFR_STRING_OP:
|
||||
|
||||
@param FormSet FormSet data structure.
|
||||
@param Question Question to be set to its default value.
|
||||
@param DefaultId The Class of the default.
|
||||
@param VarStoreId Id of var storage.
|
||||
@param Node Var storage buffer to store the got default value.
|
||||
|
||||
@retval EFI_SUCCESS Question is reset to default value.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
GetQuestionDefault (
|
||||
IN FORM_BROWSER_FORMSET *FormSet,
|
||||
IN FORM_BROWSER_FORM *Form,
|
||||
IN FORM_BROWSER_STATEMENT *Question,
|
||||
IN UINT16 DefaultId,
|
||||
IN UINT16 VarStoreId,
|
||||
OUT UEFI_IFR_BUFFER_STORAGE_NODE *Node
|
||||
OUT UEFI_IFR_BUFFER_STORAGE_NODE *Node
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
@ -138,8 +136,8 @@ GetQuestionDefault (
|
|||
while (!IsNull (&Question->OptionListHead, Link)) {
|
||||
Option = QUESTION_OPTION_FROM_LINK (Link);
|
||||
|
||||
if (((DefaultId == EFI_HII_DEFAULT_CLASS_STANDARD) && (Option->Flags & EFI_IFR_OPTION_DEFAULT)) ||
|
||||
((DefaultId == EFI_HII_DEFAULT_CLASS_MANUFACTURING) && (Option->Flags & EFI_IFR_OPTION_DEFAULT_MFG))
|
||||
if (((DefaultId == EFI_HII_DEFAULT_CLASS_STANDARD) && ((Option->Flags & EFI_IFR_OPTION_DEFAULT) == EFI_IFR_OPTION_DEFAULT)) ||
|
||||
((DefaultId == EFI_HII_DEFAULT_CLASS_MANUFACTURING) && ((Option->Flags & EFI_IFR_OPTION_DEFAULT_MFG) == EFI_IFR_OPTION_DEFAULT_MFG))
|
||||
) {
|
||||
CopyMem (HiiValue, &Option->Value, sizeof (EFI_HII_VALUE));
|
||||
|
||||
|
@ -160,8 +158,8 @@ GetQuestionDefault (
|
|||
//
|
||||
// Checkbox could only provide Standard and Manufacturing default
|
||||
//
|
||||
if (((DefaultId == EFI_HII_DEFAULT_CLASS_STANDARD) && (Question->Flags & EFI_IFR_CHECKBOX_DEFAULT)) ||
|
||||
((DefaultId == EFI_HII_DEFAULT_CLASS_MANUFACTURING) && (Question->Flags & EFI_IFR_CHECKBOX_DEFAULT_MFG))
|
||||
if (((DefaultId == EFI_HII_DEFAULT_CLASS_STANDARD) && ((Question->Flags & EFI_IFR_CHECKBOX_DEFAULT) == EFI_IFR_CHECKBOX_DEFAULT)) ||
|
||||
((DefaultId == EFI_HII_DEFAULT_CLASS_MANUFACTURING) && ((Question->Flags & EFI_IFR_CHECKBOX_DEFAULT_MFG) == EFI_IFR_CHECKBOX_DEFAULT_MFG))
|
||||
) {
|
||||
HiiValue->Value.b = TRUE;
|
||||
} else {
|
||||
|
@ -178,22 +176,23 @@ GetQuestionDefault (
|
|||
|
||||
|
||||
/**
|
||||
Reset Questions in a Form to their default value.
|
||||
Extract the default values from all questions in the input Form,
|
||||
and set default value into the matched var storage.
|
||||
|
||||
@param FormSet FormSet data structure.
|
||||
@param Form The Form which to be reset.
|
||||
@param DefaultId The Class of the default.
|
||||
@param VarStoreId Id of var storage.
|
||||
@param Node Var storage buffer to store the got default value.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
ExtractFormDefault (
|
||||
IN FORM_BROWSER_FORMSET *FormSet,
|
||||
IN FORM_BROWSER_FORM *Form,
|
||||
IN UINT16 DefaultId,
|
||||
IN UINT16 VarStoreId,
|
||||
OUT UEFI_IFR_BUFFER_STORAGE_NODE *Node
|
||||
OUT UEFI_IFR_BUFFER_STORAGE_NODE *Node
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
@ -206,7 +205,7 @@ ExtractFormDefault (
|
|||
//
|
||||
// Reset Question to its default value
|
||||
//
|
||||
Status = GetQuestionDefault (FormSet, Form, Question, DefaultId, VarStoreId, Node);
|
||||
Status = GetQuestionDefault (Question, DefaultId, VarStoreId, Node);
|
||||
if (EFI_ERROR (Status)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -222,10 +221,7 @@ ExtractFormDefault (
|
|||
UEFI_IFR_BUFFER_STORAGE_NODE. The Node itself
|
||||
will be freed too.
|
||||
|
||||
@param FormSet FormSet data structure.
|
||||
@param DefaultId The Class of the default.
|
||||
|
||||
@retval VOID
|
||||
@param Node Var storage buffer.
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@ -245,10 +241,10 @@ DestroyDefaultNode (
|
|||
The result is in the a instance of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
allocated by this function. It is inserted to the link list.
|
||||
|
||||
@param DefaultStore The Default Store.
|
||||
@param Storage The Storage.
|
||||
@param FormSet The Form Set.
|
||||
@param UefiDefaultsListHead The head of link list for the output.
|
||||
@param DefaultStore The Default Store.
|
||||
@param Storage The Storage.
|
||||
@param FormSet The Form Set.
|
||||
@param UefiDefaultsListHead The head of link list for the output.
|
||||
|
||||
@retval EFI_SUCCESS Successful.
|
||||
|
||||
|
@ -283,7 +279,7 @@ GetBufferTypeDefaultIdAndStorageId (
|
|||
while (!IsNull (&FormSet->FormListHead, Link)) {
|
||||
Form = FORM_BROWSER_FORM_FROM_LINK (Link);
|
||||
|
||||
Status = ExtractFormDefault (FormSet, Form, DefaultStore->DefaultId, Storage->VarStoreId, Node);
|
||||
Status = ExtractFormDefault (Form, DefaultStore->DefaultId, Storage->VarStoreId, Node);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
Link = GetNextNode (&FormSet->FormListHead, Link);
|
||||
|
@ -338,14 +334,13 @@ GetBufferTypeDefaultId (
|
|||
|
||||
|
||||
/**
|
||||
Get the default value for Buffer Type storage from the first FormSet
|
||||
in the Package List specified by a EFI_HII_HANDLE.
|
||||
Get the default value for Buffer Type storage from the FormSet in ThunkContext.
|
||||
|
||||
The results can be multiple instances of UEFI_IFR_BUFFER_STORAGE_NODE.
|
||||
They are inserted to the link list.
|
||||
|
||||
@param UefiHiiHandle The handle for the package list.
|
||||
@param UefiDefaultsListHead The head of link list for the output.
|
||||
@param ThunkContext Hii thunk context.
|
||||
@param UefiDefaults The head of link list for the output.
|
||||
|
||||
@retval EFI_SUCCESS Successful.
|
||||
|
||||
|
@ -384,20 +379,19 @@ UefiIfrGetBufferTypeDefaults (
|
|||
Convert the UEFI Buffer Type default values to a Framework HII default
|
||||
values specified by a EFI_HII_VARIABLE_PACK_LIST structure.
|
||||
|
||||
@param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
which contains the default values retrived from
|
||||
a UEFI form set.
|
||||
@param DefaultMask The default mask.
|
||||
The valid values are EFI_IFR_FLAG_DEFAULT
|
||||
and EFI_IFR_FLAG_MANUFACTURING.
|
||||
UEFI spec only map EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING
|
||||
from specification to valid default class.
|
||||
@param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
which contains the default values retrived from a UEFI form set.
|
||||
@param DefaultMask The default mask.
|
||||
The valid values are EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING.
|
||||
UEFI spec only map EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING
|
||||
from specification to valid default class.
|
||||
@param UefiFormSetDefaultVarStoreId
|
||||
ID of the default varstore in FormSet.
|
||||
@param VariablePackList The output default value in a format defined in Framework.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Successful.
|
||||
@retval EFI_SUCCESS Successful.
|
||||
@retval EFI_INVALID_PARAMETER The default mask is not EFI_IFR_FLAG_DEFAULT or
|
||||
EFI_IFR_FLAG_MANUFACTURING.
|
||||
EFI_IFR_FLAG_MANUFACTURING.
|
||||
**/
|
||||
EFI_STATUS
|
||||
UefiDefaultsToFwDefaults (
|
||||
|
@ -522,11 +516,9 @@ UefiDefaultsToFwDefaults (
|
|||
Free up all buffer allocated for the link list of UEFI_IFR_BUFFER_STORAGE_NODE.
|
||||
|
||||
@param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
which contains the default values retrived from
|
||||
a UEFI form set.
|
||||
|
||||
which contains the default values retrived from
|
||||
a UEFI form set.
|
||||
|
||||
@retval VOID
|
||||
**/
|
||||
VOID
|
||||
FreeDefaultList (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Header file for Function and Macro defintions for to extract default values from UEFI Form package.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -31,14 +31,13 @@ typedef struct {
|
|||
} UEFI_IFR_BUFFER_STORAGE_NODE;
|
||||
|
||||
/**
|
||||
Get the default value for Buffer Type storage from the first FormSet
|
||||
in the Package List specified by a EFI_HII_HANDLE.
|
||||
Get the default value for Buffer Type storage from the FormSet in ThunkContext.
|
||||
|
||||
The results can be multiple instances of UEFI_IFR_BUFFER_STORAGE_NODE.
|
||||
They are inserted to the link list.
|
||||
|
||||
@param UefiHiiHandle The handle for the package list.
|
||||
@param UefiDefaultsListHead The head of link list for the output.
|
||||
@param ThunkContext Hii thunk context.
|
||||
@param UefiDefaults The head of link list for the output.
|
||||
|
||||
@retval EFI_SUCCESS Successful.
|
||||
|
||||
|
@ -47,31 +46,29 @@ EFI_STATUS
|
|||
UefiIfrGetBufferTypeDefaults (
|
||||
IN HII_THUNK_CONTEXT *ThunkContext,
|
||||
OUT LIST_ENTRY **UefiDefaults
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Convert the UEFI Buffer Type default values to a Framework HII default
|
||||
values specified by a EFI_HII_VARIABLE_PACK_LIST structure.
|
||||
|
||||
@param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
which contains the default values retrived from
|
||||
a UEFI form set.
|
||||
@param DefaultMask The default mask.
|
||||
The valid values are FRAMEWORK_EFI_IFR_FLAG_DEFAULT
|
||||
and FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING.
|
||||
UEFI spec only map FRAMEWORK_EFI_IFR_FLAG_DEFAULT and FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING
|
||||
from specification to valid default class.
|
||||
@param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
which contains the default values retrived from a UEFI form set.
|
||||
@param DefaultMask The default mask.
|
||||
The valid values are EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING.
|
||||
UEFI spec only map EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING
|
||||
from specification to valid default class.
|
||||
@param UefiFormSetDefaultVarStoreId
|
||||
ID of the default varstore in FormSet.
|
||||
@param VariablePackList The output default value in a format defined in Framework.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Successful.
|
||||
@retval EFI_INVALID_PARAMETER The default mask is not FRAMEWORK_EFI_IFR_FLAG_DEFAULT or
|
||||
FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING.
|
||||
@retval EFI_SUCCESS Successful.
|
||||
@retval EFI_INVALID_PARAMETER The default mask is not EFI_IFR_FLAG_DEFAULT or
|
||||
EFI_IFR_FLAG_MANUFACTURING.
|
||||
**/
|
||||
|
||||
EFI_STATUS
|
||||
UefiDefaultsToFwDefaults (
|
||||
IN LIST_ENTRY *UefiIfrDefaults,
|
||||
IN LIST_ENTRY *ListHead,
|
||||
IN UINTN DefaultMask,
|
||||
IN EFI_VARSTORE_ID UefiFormSetDefaultVarStoreId,
|
||||
OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList
|
||||
|
@ -81,17 +78,13 @@ UefiDefaultsToFwDefaults (
|
|||
Free up all buffer allocated for the link list of UEFI_IFR_BUFFER_STORAGE_NODE.
|
||||
|
||||
@param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
|
||||
which contains the default values retrived from
|
||||
a UEFI form set.
|
||||
|
||||
which contains the default values retrived from
|
||||
a UEFI form set.
|
||||
|
||||
@retval EFI_SUCCESS Successful.
|
||||
@retval EFI_INVALID_PARAMETER The default mask is not FRAMEWORK_EFI_IFR_FLAG_DEFAULT or
|
||||
FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING.
|
||||
**/
|
||||
VOID
|
||||
FreeDefaultList (
|
||||
IN LIST_ENTRY *UefiIfrDefaults
|
||||
IN LIST_ENTRY *ListHead
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,15 @@ BOOLEAN mInScopeGrayOut;
|
|||
EFI_GUID mFrameworkHiiCompatibilityGuid = EFI_IFR_FRAMEWORK_GUID;
|
||||
extern EFI_GUID mTianoHiiIfrGuid;
|
||||
|
||||
/**
|
||||
Find the question's OneOfOptionMap list in FormSet
|
||||
based on the input question Id.
|
||||
|
||||
@param FormSet FormSet context.
|
||||
@param QuestionId Unique ID to specicy the question in FormSet.
|
||||
|
||||
@return the found OneOfOptionMap list. If not found, NULL will return.
|
||||
**/
|
||||
LIST_ENTRY *
|
||||
GetOneOfOptionMapEntryListHead (
|
||||
IN CONST FORM_BROWSER_FORMSET *FormSet,
|
||||
|
@ -47,6 +56,12 @@ GetOneOfOptionMapEntryListHead (
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
Free OneOfOption map list.
|
||||
|
||||
@param OneOfOptionMapListHead Pointer to list header of OneOfOptionMap list.
|
||||
|
||||
**/
|
||||
VOID
|
||||
DestoryOneOfOptionMap (
|
||||
IN LIST_ENTRY *OneOfOptionMapListHead
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
2) Ignore the IFR opcode which is invalid for Form Package
|
||||
generated using Framework VFR file.
|
||||
|
||||
Copyright (c) 2008 - 2009, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -170,13 +170,15 @@ typedef struct {
|
|||
EFI_HII_VALUE Value;
|
||||
EFI_IMAGE_ID ImageId;
|
||||
|
||||
#if 0
|
||||
FORM_EXPRESSION *SuppressExpression; // Non-NULL indicates nested inside of SuppressIf
|
||||
#endif
|
||||
} QUESTION_OPTION;
|
||||
|
||||
#define QUESTION_OPTION_FROM_LINK(a) CR (a, QUESTION_OPTION, Link, QUESTION_OPTION_SIGNATURE)
|
||||
|
||||
typedef union {
|
||||
EFI_STRING_ID VarName;
|
||||
UINT16 VarOffset;
|
||||
} VAR_STORE_INFO;
|
||||
|
||||
#define FORM_BROWSER_STATEMENT_SIGNATURE SIGNATURE_32 ('F', 'S', 'T', 'A')
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
|
@ -197,22 +199,11 @@ typedef struct {
|
|||
EFI_QUESTION_ID QuestionId; // The value of zero is reserved
|
||||
EFI_VARSTORE_ID VarStoreId; // A value of zero indicates no variable storage
|
||||
FORMSET_STORAGE *Storage;
|
||||
union {
|
||||
EFI_STRING_ID VarName;
|
||||
UINT16 VarOffset;
|
||||
} VarStoreInfo;
|
||||
#if 0
|
||||
CHAR16 *UnicodeVarName;
|
||||
#endif
|
||||
VAR_STORE_INFO VarStoreInfo;
|
||||
|
||||
UINT16 StorageWidth;
|
||||
UINT8 QuestionFlags;
|
||||
|
||||
#if 0
|
||||
CHAR16 *VariableName; // Name/Value or EFI Variable name
|
||||
CHAR16 *BlockName; // Buffer storage block name: "OFFSET=...WIDTH=..."
|
||||
#endif
|
||||
|
||||
EFI_HII_VALUE HiiValue; // Edit copy for checkbox, numberic, oneof
|
||||
UINT8 *BufferValue; // Edit copy for string, password, orderedlist
|
||||
|
||||
|
@ -239,9 +230,6 @@ typedef struct {
|
|||
//
|
||||
// Get from IFR parsing
|
||||
//
|
||||
#if 0
|
||||
FORM_EXPRESSION *ValueExpression; // nested EFI_IFR_VALUE, provide Question value and indicate Question is ReadOnly
|
||||
#endif
|
||||
LIST_ENTRY DefaultListHead; // nested EFI_IFR_DEFAULT list (QUESTION_DEFAULT), provide default values
|
||||
LIST_ENTRY OptionListHead; // nested EFI_IFR_ONE_OF_OPTION list (QUESTION_OPTION)
|
||||
|
||||
|
@ -249,13 +237,6 @@ typedef struct {
|
|||
UINT8 RefreshInterval; // nested EFI_IFR_REFRESH, refresh interval(in seconds) for Question value, 0 means no refresh
|
||||
BOOLEAN InSubtitle; // nesting inside of EFI_IFR_SUBTITLE
|
||||
|
||||
#if 0
|
||||
LIST_ENTRY InconsistentListHead;// nested inconsistent expression list (FORM_EXPRESSION)
|
||||
LIST_ENTRY NoSubmitListHead; // nested nosubmit expression list (FORM_EXPRESSION)
|
||||
FORM_EXPRESSION *GrayOutExpression; // nesting inside of GrayOutIf
|
||||
FORM_EXPRESSION *SuppressExpression; // nesting inside of SuppressIf
|
||||
#endif
|
||||
|
||||
} FORM_BROWSER_STATEMENT;
|
||||
|
||||
#define FORM_BROWSER_STATEMENT_FROM_LINK(a) CR (a, FORM_BROWSER_STATEMENT, Link, FORM_BROWSER_STATEMENT_SIGNATURE)
|
||||
|
@ -330,11 +311,28 @@ typedef struct {
|
|||
} FORM_BROWSER_FORMSET;
|
||||
|
||||
|
||||
/**
|
||||
Parse opcodes in the formset IFR binary.
|
||||
|
||||
@param FormSet Pointer of the FormSet data structure.
|
||||
|
||||
@retval EFI_SUCCESS Opcode parse success.
|
||||
@retval Other Opcode parse fail.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
ParseOpCodes (
|
||||
IN FORM_BROWSER_FORMSET *FormSet
|
||||
);
|
||||
|
||||
/**
|
||||
Free resources allocated for a FormSet
|
||||
|
||||
@param FormSet Pointer of the FormSet
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
DestroyFormSet (
|
||||
IN OUT FORM_BROWSER_FORMSET *FormSet
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/** @file
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
Copyright (c) 2007 - 2010, 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
|
||||
|
@ -50,13 +50,12 @@ EFI_HII_VALUE *mExpressionEvaluationStackPointer = NULL;
|
|||
@param Stack On input: old stack; On output: new stack
|
||||
@param StackPtr On input: old stack pointer; On output: new stack
|
||||
pointer
|
||||
@param StackPtr On input: old stack end; On output: new stack end
|
||||
@param StackEnd On input: old stack end; On output: new stack end
|
||||
|
||||
@retval EFI_SUCCESS Grow stack success.
|
||||
@retval EFI_OUT_OF_RESOURCES No enough memory for stack space.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GrowStack (
|
||||
IN OUT EFI_HII_VALUE **Stack,
|
||||
|
@ -110,7 +109,7 @@ GrowStack (
|
|||
@param Stack On input: old stack; On output: new stack
|
||||
@param StackPtr On input: old stack pointer; On output: new stack
|
||||
pointer
|
||||
@param StackPtr On input: old stack end; On output: new stack end
|
||||
@param StackEnd On input: old stack end; On output: new stack end
|
||||
@param Data Data to push.
|
||||
|
||||
@retval EFI_SUCCESS Push stack success.
|
||||
|
@ -155,7 +154,7 @@ PushStack (
|
|||
@param Stack On input: old stack; On output: new stack
|
||||
@param StackPtr On input: old stack pointer; On output: new stack
|
||||
pointer
|
||||
@param StackPtr On input: old stack end; On output: new stack end
|
||||
@param StackEnd On input: old stack end; On output: new stack end
|
||||
@param Data Data to pop.
|
||||
|
||||
@retval EFI_SUCCESS The value was popped onto the stack.
|
||||
|
@ -188,10 +187,6 @@ PopStack (
|
|||
/**
|
||||
Reset stack pointer to begin of the stack.
|
||||
|
||||
None.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
ResetScopeStack (
|
||||
|
@ -265,10 +260,6 @@ PopScope (
|
|||
/**
|
||||
Reset stack pointer to begin of the stack.
|
||||
|
||||
None.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
ResetExpressionStack (
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Internal Function and Macro defintions for IFR Expression evaluation used in Ifr Parsing. This header file should only
|
||||
be included by UefiIfrParserExpression.c and UefiIfrParser.c
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -19,10 +19,6 @@
|
|||
/**
|
||||
Reset stack pointer to begin of the stack.
|
||||
|
||||
None.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
ResetScopeStack (
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/**@file
|
||||
/** @file
|
||||
|
||||
This file contains the keyboard processing code to the HII database.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -303,8 +303,8 @@ FwHiiHandleToThunkContext (
|
|||
/**
|
||||
Find the corressponding HII Thunk Context from a UEFI HII Handle given.
|
||||
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param UEFIHiiHandle The UEFI HII Handle.
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param UefiHiiHandle The UEFI HII Handle.
|
||||
|
||||
@return NULL If UEFI HII Handle is invalid.
|
||||
@return The corresponding HII Thunk Context.
|
||||
|
@ -369,15 +369,15 @@ TagGuidToIfrPackThunkContext (
|
|||
/**
|
||||
Clean up the HII Thunk Context for a UEFI HII Handle.
|
||||
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param UEFIHiiHandle The UEFI HII Handle.
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param UefiHiiHandle The UEFI HII Handle.
|
||||
|
||||
**/
|
||||
VOID
|
||||
DestroyThunkContextForUefiHiiHandle (
|
||||
IN HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN EFI_HII_HANDLE UefiHiiHandle
|
||||
)
|
||||
)
|
||||
{
|
||||
HII_THUNK_CONTEXT *ThunkContext;
|
||||
|
||||
|
@ -389,16 +389,21 @@ DestroyThunkContextForUefiHiiHandle (
|
|||
|
||||
|
||||
/**
|
||||
This function create a HII_THUNK_CONTEXT for a package list registered
|
||||
by a module calling EFI_HII_DATABASE_PROTOCOL.NewPackageList. It records
|
||||
the PackageListGuid in EFI_HII_PACKAGE_LIST_HEADER in the TagGuid in
|
||||
HII_THUNK_CONTEXT created. This TagGuid will be used as a key to s
|
||||
This function create a HII_THUNK_CONTEXT for the input UEFI HiiHandle
|
||||
that is created when a package list registered by a module calling
|
||||
EFI_HII_DATABASE_PROTOCOL.NewPackageList.
|
||||
This function records the PackageListGuid of EFI_HII_PACKAGE_LIST_HEADER
|
||||
into the TagGuid of the created HII_THUNK_CONTEXT.
|
||||
|
||||
@param UefiHiiHandle The UEFI HII Handle.
|
||||
|
||||
@return the new created Hii thunk context.
|
||||
|
||||
**/
|
||||
HII_THUNK_CONTEXT *
|
||||
CreateThunkContextForUefiHiiHandle (
|
||||
IN EFI_HII_HANDLE UefiHiiHandle
|
||||
)
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_GUID PackageGuid;
|
||||
|
@ -551,7 +556,7 @@ GetFormSetGuid (
|
|||
|
||||
@param Private The HII Thunk Private Context.
|
||||
@param StringPackageCount The String package count.
|
||||
@param FormSetGuid The IFR Package count.
|
||||
@param IfrPackageCount The IFR Package count.
|
||||
|
||||
@return A newly created Thunk Context.
|
||||
@retval NULL No resource to create a new Thunk Context.
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/**@file
|
||||
/** @file
|
||||
|
||||
This file contains utility functions by HII Thunk Modules.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, 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
|
||||
|
@ -13,8 +13,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _HII_THUNK_UTILITY_H
|
||||
#define _HII_THUNK_UTILITY_H
|
||||
#ifndef _HII_THUNK_UTILITY_H_
|
||||
#define _HII_THUNK_UTILITY_H_
|
||||
|
||||
/**
|
||||
|
||||
|
@ -111,73 +111,121 @@ ExtractGuidFromHiiHandle (
|
|||
;
|
||||
|
||||
/**
|
||||
Find the UefiHiiHandle based on a Framework HII Handle returned by
|
||||
the HII Thunk to Framework HII code.
|
||||
Find the corressponding UEFI HII Handle from a Framework HII Handle given.
|
||||
|
||||
@param Private The pointer to the private data of Hii Thunk.
|
||||
@param FwHiiHandle Framework HII Handle returned by the HII Thunk to Framework HII code.
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param FwHiiHandle The Framemwork HII Handle.
|
||||
|
||||
@retval NULL If Framework HII Handle passed in does not have matching UEFI HII handle.
|
||||
@retval !NULL If the match is found.
|
||||
|
||||
@return NULL If Framework HII Handle is invalid.
|
||||
@return The corresponding UEFI HII Handle.
|
||||
**/
|
||||
EFI_HII_HANDLE
|
||||
FwHiiHandleToUefiHiiHandle (
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
|
||||
);
|
||||
|
||||
/**
|
||||
Find the corressponding HII Thunk Context from a Framework HII Handle given.
|
||||
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param FwHiiHandle The Framemwork HII Handle.
|
||||
|
||||
@return NULL If Framework HII Handle is invalid.
|
||||
@return The corresponding HII Thunk Context.
|
||||
**/
|
||||
HII_THUNK_CONTEXT *
|
||||
FwHiiHandleToThunkContext (
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
|
||||
);
|
||||
|
||||
/**
|
||||
Find the corressponding HII Thunk Context from a UEFI HII Handle given.
|
||||
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param UefiHiiHandle The UEFI HII Handle.
|
||||
|
||||
@return NULL If UEFI HII Handle is invalid.
|
||||
@return The corresponding HII Thunk Context.
|
||||
**/
|
||||
HII_THUNK_CONTEXT *
|
||||
UefiHiiHandleToThunkContext (
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN EFI_HII_HANDLE UefiHiiHandle
|
||||
);
|
||||
|
||||
/**
|
||||
Find the corressponding HII Thunk Context from a Tag GUID.
|
||||
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param Guid The Tag GUID.
|
||||
|
||||
@return NULL No HII Thunk Context matched the Tag GUID.
|
||||
@return The corresponding HII Thunk Context.
|
||||
**/
|
||||
HII_THUNK_CONTEXT *
|
||||
TagGuidToIfrPackThunkContext (
|
||||
IN CONST HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN CONST EFI_GUID *Guid
|
||||
);
|
||||
|
||||
/**
|
||||
This function create a HII_THUNK_CONTEXT for the input UEFI HiiHandle
|
||||
that is created when a package list registered by a module calling
|
||||
EFI_HII_DATABASE_PROTOCOL.NewPackageList.
|
||||
This function records the PackageListGuid of EFI_HII_PACKAGE_LIST_HEADER
|
||||
into the TagGuid of the created HII_THUNK_CONTEXT.
|
||||
|
||||
@param UefiHiiHandle The UEFI HII Handle.
|
||||
|
||||
@return the new created Hii thunk context.
|
||||
|
||||
**/
|
||||
HII_THUNK_CONTEXT *
|
||||
CreateThunkContextForUefiHiiHandle (
|
||||
IN EFI_HII_HANDLE UefiHiiHandle
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Clean up the HII Thunk Context for a UEFI HII Handle.
|
||||
|
||||
@param Private The HII Thunk Module Private context.
|
||||
@param UefiHiiHandle The UEFI HII Handle.
|
||||
|
||||
**/
|
||||
VOID
|
||||
DestroyThunkContextForUefiHiiHandle (
|
||||
IN HII_THUNK_PRIVATE_DATA *Private,
|
||||
IN EFI_HII_HANDLE UefiHiiHandle
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Get the number of HII Package for a Package type.
|
||||
|
||||
@param PackageListHeader The Package List.
|
||||
@param PackageType The Package Type.
|
||||
|
||||
@return The number of Package for given type.
|
||||
**/
|
||||
UINTN
|
||||
GetPackageCountByType (
|
||||
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageListHeader,
|
||||
IN UINT8 PackageType
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
CreateQuestionIdMap (
|
||||
IN OUT HII_THUNK_CONTEXT *ThunkContext
|
||||
);
|
||||
/**
|
||||
Creat a Thunk Context.
|
||||
|
||||
VOID
|
||||
GetAttributesOfFirstFormSet (
|
||||
IN OUT HII_THUNK_CONTEXT *ThunkContext
|
||||
);
|
||||
ASSERT if no FormSet Opcode is found.
|
||||
|
||||
LIST_ENTRY *
|
||||
GetMapEntryListHead (
|
||||
IN CONST HII_THUNK_CONTEXT *ThunkContext,
|
||||
IN UINT16 VarStoreId
|
||||
);
|
||||
@param Private The HII Thunk Private Context.
|
||||
@param StringPackageCount The String package count.
|
||||
@param IfrPackageCount The IFR Package count.
|
||||
|
||||
@return A newly created Thunk Context.
|
||||
@retval NULL No resource to create a new Thunk Context.
|
||||
**/
|
||||
HII_THUNK_CONTEXT *
|
||||
CreateThunkContext (
|
||||
IN HII_THUNK_PRIVATE_DATA *Private,
|
||||
|
@ -185,33 +233,55 @@ CreateThunkContext (
|
|||
IN UINTN IfrPackageCount
|
||||
);
|
||||
|
||||
/**
|
||||
Destroy the Thunk Context and free up all resource.
|
||||
|
||||
@param ThunkContext The HII Thunk Private Context to be freed.
|
||||
|
||||
**/
|
||||
VOID
|
||||
DestroyThunkContext (
|
||||
IN HII_THUNK_CONTEXT *ThunkContext
|
||||
);
|
||||
|
||||
VOID
|
||||
DestoryOneOfOptionMap (
|
||||
IN LIST_ENTRY *OneOfOptionMapListHead
|
||||
);
|
||||
/**
|
||||
Get FormSet GUID.
|
||||
|
||||
ASSERT if no FormSet Opcode is found.
|
||||
|
||||
@param Packages Form Framework Package.
|
||||
@param FormSetGuid Return the FormSet Guid.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetFormSetGuid (
|
||||
IN EFI_HII_PACKAGE_HEADER *Package,
|
||||
OUT EFI_GUID *FormSetGuid
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
/**
|
||||
Get the Form Package from a Framework Package List.
|
||||
|
||||
@param Packages Framework Package List.
|
||||
|
||||
@return The Form Package Header found.
|
||||
**/
|
||||
EFI_HII_PACKAGE_HEADER *
|
||||
GetIfrPackage (
|
||||
IN CONST EFI_HII_PACKAGES *Packages
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
/**
|
||||
Parse the Form Package and build a FORM_BROWSER_FORMSET structure.
|
||||
|
||||
@param UefiHiiHandle PackageList Handle
|
||||
|
||||
@return A pointer to FORM_BROWSER_FORMSET.
|
||||
|
||||
**/
|
||||
FORM_BROWSER_FORMSET *
|
||||
ParseFormSet (
|
||||
IN EFI_HII_HANDLE UefiHiiHandle
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/**
|
||||
/** @file
|
||||
Module produce FV2 on top of FV.
|
||||
|
||||
UEFI PI specification supersedes Inte's Framework Specification.
|
||||
|
@ -9,7 +9,7 @@ these two conditions are true:
|
|||
1) Framework module producing FV is present
|
||||
2) And the rest of modules on the platform consume FV2
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -164,8 +164,8 @@ Fv2SetVolumeAttributes (
|
|||
ReadFile() is used to retrieve any file from a firmware volume
|
||||
during the DXE phase. The actual binary encoding of the file in
|
||||
the firmware volume media may be in any arbitrary format as long
|
||||
as it does the following: ?It is accessed using the Firmware
|
||||
Volume Protocol. ?The image that is returned follows the image
|
||||
as it does the following: It is accessed using the Firmware
|
||||
Volume Protocol. The image that is returned follows the image
|
||||
format defined in Code Definitions: PI Firmware File Format.
|
||||
If the input value of Buffer==NULL, it indicates the caller is
|
||||
requesting only that the type, attributes, and size of the
|
||||
|
@ -238,7 +238,7 @@ Fv2SetVolumeAttributes (
|
|||
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
|
||||
@retavl EFI_NOT_FOUND Name was not found in the firmware
|
||||
@retval EFI_NOT_FOUND Name was not found in the firmware
|
||||
volume.
|
||||
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when
|
||||
|
@ -265,11 +265,10 @@ Fv2ReadFile (
|
|||
ReadSection() is used to retrieve a specific section from a file
|
||||
within a firmware volume. The section returned is determined
|
||||
using a depth-first, left-to-right search algorithm through all
|
||||
sections found in the specified file. See
|
||||
????Firmware File Sections???? on page 9 for more details about
|
||||
sections. The output buffer is specified by a double indirection
|
||||
of the Buffer parameter. The input value of Buffer is used to
|
||||
determine if the output buffer is caller allocated or is
|
||||
sections found in the specified file. The output buffer is
|
||||
specified by a double indirection of the Buffer parameter.
|
||||
The input value of Buffer is used to determine
|
||||
if the output buffer is caller allocated or is
|
||||
dynamically allocated by ReadSection(). If the input value of
|
||||
Buffer!=NULL, it indicates that the output buffer is caller
|
||||
allocated. In this case, the input value of *BufferSize
|
||||
|
@ -392,10 +391,10 @@ Fv2ReadSection (
|
|||
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI 2.0
|
||||
specification.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
|
||||
instance. NumberOfFiles Indicates the number of
|
||||
elements in the array pointed to by FileData.
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
|
||||
|
||||
@param NumberOfFiles Indicates the number of elements in the
|
||||
array pointed to by FileData.
|
||||
|
||||
@param WritePolicy Indicates the level of reliability for the
|
||||
write in the event of a power failure or
|
||||
|
@ -467,7 +466,9 @@ Fv2WriteFile (
|
|||
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
|
||||
instance. Key Pointer to a caller-allocated buffer
|
||||
instance.
|
||||
|
||||
@param Key Pointer to a caller-allocated buffer
|
||||
that contains implementation-specific data that is
|
||||
used to track where to begin the search for the
|
||||
next file. The size of the buffer must be at least
|
||||
|
@ -674,7 +675,15 @@ FIRMWARE_VOLUME2_PRIVATE_DATA gFirmwareVolume2PrivateDataTemplate = {
|
|||
//
|
||||
// Module globals
|
||||
//
|
||||
/**
|
||||
This notification function is invoked when an instance of the
|
||||
EFI_FIRMWARE_VOLUME_PROTOCOL is produced. It installs another instance of the
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL on the same handle.
|
||||
|
||||
@param Event The event that occured
|
||||
@param Context Context of event. Not used in this nofication function.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
Fv2NotificationEvent (
|
||||
|
@ -958,7 +967,7 @@ Fv2SetVolumeAttributes (
|
|||
EFI_STATUS Status;
|
||||
UINTN Shift;
|
||||
|
||||
if (*FvAttributes & (EFI_FV2_READ_LOCK_STATUS | EFI_FV2_WRITE_LOCK_STATUS)) {
|
||||
if ((*FvAttributes & (EFI_FV2_READ_LOCK_STATUS | EFI_FV2_WRITE_LOCK_STATUS)) != 0) {
|
||||
//
|
||||
// Framework FV protocol does not support EFI_FV2_READ_LOCK_* | EFI_FV2_WRITE_LOCK_*
|
||||
//
|
||||
|
@ -990,8 +999,8 @@ Fv2SetVolumeAttributes (
|
|||
ReadFile() is used to retrieve any file from a firmware volume
|
||||
during the DXE phase. The actual binary encoding of the file in
|
||||
the firmware volume media may be in any arbitrary format as long
|
||||
as it does the following: ?It is accessed using the Firmware
|
||||
Volume Protocol. ?The image that is returned follows the image
|
||||
as it does the following: It is accessed using the Firmware
|
||||
Volume Protocol. The image that is returned follows the image
|
||||
format defined in Code Definitions: PI Firmware File Format.
|
||||
If the input value of Buffer==NULL, it indicates the caller is
|
||||
requesting only that the type, attributes, and size of the
|
||||
|
@ -1064,7 +1073,7 @@ Fv2SetVolumeAttributes (
|
|||
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
|
||||
@retavl EFI_NOT_FOUND Name was not found in the firmware
|
||||
@retval EFI_NOT_FOUND Name was not found in the firmware
|
||||
volume.
|
||||
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when
|
||||
|
@ -1108,11 +1117,9 @@ Fv2ReadFile (
|
|||
ReadSection() is used to retrieve a specific section from a file
|
||||
within a firmware volume. The section returned is determined
|
||||
using a depth-first, left-to-right search algorithm through all
|
||||
sections found in the specified file. See
|
||||
????Firmware File Sections???? on page 9 for more details about
|
||||
sections. The output buffer is specified by a double indirection
|
||||
of the Buffer parameter. The input value of Buffer is used to
|
||||
determine if the output buffer is caller allocated or is
|
||||
sections found in the specified file.The output buffer is specified
|
||||
by a double indirection of the Buffer parameter. The input value of Buffer
|
||||
is used to determine if the output buffer is caller allocated or is
|
||||
dynamically allocated by ReadSection(). If the input value of
|
||||
Buffer!=NULL, it indicates that the output buffer is caller
|
||||
allocated. In this case, the input value of *BufferSize
|
||||
|
@ -1252,9 +1259,10 @@ Fv2ReadSection (
|
|||
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI 2.0
|
||||
specification.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
|
||||
instance. NumberOfFiles Indicates the number of
|
||||
elements in the array pointed to by FileData.
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
|
||||
|
||||
@param NumberOfFiles Indicates the number of
|
||||
elements in the array pointed to by FileData.
|
||||
|
||||
|
||||
@param WritePolicy Indicates the level of reliability for the
|
||||
|
@ -1341,7 +1349,9 @@ Fv2WriteFile (
|
|||
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
|
||||
instance. Key Pointer to a caller-allocated buffer
|
||||
instance.
|
||||
|
||||
@param Key Pointer to a caller-allocated buffer
|
||||
that contains implementation-specific data that is
|
||||
used to track where to begin the search for the
|
||||
next file. The size of the buffer must be at least
|
||||
|
|
|
@ -9,7 +9,7 @@ This module is used on platform when both of these two conditions are true:
|
|||
1) Framework module consumes EFI_PEI_FV_FILE_LOADER_PPI is present.
|
||||
2) The platform has PI modules that produce EFI_PEI_LOAD_FILE_PPI.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
Copyright (c) 2008 - 2010, 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
|
||||
|
@ -32,16 +32,16 @@ Module Name:
|
|||
|
||||
Wrap the call to PI's EFI_PEI_LOAD_FILE_PPI.
|
||||
|
||||
@param This A pointer to EFI_PEI_FV_FILE_LOADER_PPI.
|
||||
@param FileHeader The pointer to the file header to be loaded by the Pe/Coff loader.
|
||||
@param This A pointer to EFI_PEI_FV_FILE_LOADER_PPI.
|
||||
@param FfsHeader Pointer to the FFS header of the file to load.
|
||||
@param ImageAddress The loaded address of the Image.
|
||||
@param ImageSize Pointer to the size of the loaded image.
|
||||
@param EntryPoint Pointer to the entry point of the image.
|
||||
@param ImageSize Pointer to the size of the loaded image.
|
||||
@param EntryPoint Pointer to the entry point of the image.
|
||||
|
||||
@retval EFI_SUCCESS The image was loaded successfully.
|
||||
@retval EFI_SUCCESS The image was loaded successfully.
|
||||
@retval EFI_OUT_OF_RESOURCE There was not enought memory.
|
||||
@retval EFI_INVALID_PARAMETER The contents of the FFS file did not contain a valid PE/COFF image that could be loaded.
|
||||
--*/
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FrameworkLoadFile (
|
||||
|
@ -65,12 +65,12 @@ EFI_PEI_PPI_DESCRIPTOR mPpiFrameworkLoadFile = {
|
|||
/**
|
||||
Standard entry point of a PEIM.
|
||||
|
||||
@param FfsHeadher The FFS file header
|
||||
@param FfsHeader The FFS file header
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
|
||||
@retval EFI_SUCCESS If the gEfiPeiReadOnlyVariablePpiGuid interface could be successfully installed.
|
||||
|
||||
--*/
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitPeim (
|
||||
|
@ -92,16 +92,16 @@ InitPeim (
|
|||
|
||||
Wrap the call to PI's EFI_PEI_LOAD_FILE_PPI.
|
||||
|
||||
@param This A pointer to EFI_PEI_FV_FILE_LOADER_PPI.
|
||||
@param FileHeader The pointer to the file header to be loaded by the Pe/Coff loader.
|
||||
@param This A pointer to EFI_PEI_FV_FILE_LOADER_PPI.
|
||||
@param FfsHeader The pointer to the file header to be loaded by the Pe/Coff loader.
|
||||
@param ImageAddress The loaded address of the Image.
|
||||
@param ImageSize Pointer to the size of the loaded image.
|
||||
@param EntryPoint Pointer to the entry point of the image.
|
||||
@param ImageSize Pointer to the size of the loaded image.
|
||||
@param EntryPoint Pointer to the entry point of the image.
|
||||
|
||||
@retval EFI_SUCCESS The image was loaded successfully.
|
||||
@retval EFI_SUCCESS The image was loaded successfully.
|
||||
@retval EFI_OUT_OF_RESOURCE There was not enought memory.
|
||||
@retval EFI_INVALID_PARAMETER The contents of the FFS file did not contain a valid PE/COFF image that could be loaded.
|
||||
--*/
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FrameworkLoadFile (
|
||||
|
|
|
@ -7,7 +7,7 @@ these two conditions are true:
|
|||
1) Framework module consuming FV is present
|
||||
2) And the platform only produces FV2
|
||||
|
||||
Copyright (c) 2006 - 2010 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -29,15 +29,43 @@ Module Name:
|
|||
#include <Library/UefiLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
|
||||
#define FIRMWARE_VOLUME_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('f', 'v', 't', 'h')
|
||||
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
EFI_FIRMWARE_VOLUME_PROTOCOL FirmwareVolume;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
} FIRMWARE_VOLUME_PRIVATE_DATA;
|
||||
|
||||
#define FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS(a) CR (a, FIRMWARE_VOLUME_PRIVATE_DATA, FirmwareVolume, FIRMWARE_VOLUME_PRIVATE_DATA_SIGNATURE)
|
||||
|
||||
/**
|
||||
Convert FV attrbiutes to FV2 attributes.
|
||||
|
||||
@param Fv2Attributes FV2 attributes.
|
||||
|
||||
@return FV attributes.
|
||||
|
||||
**/
|
||||
FRAMEWORK_EFI_FV_ATTRIBUTES
|
||||
Fv2AttributesToFvAttributes (
|
||||
IN EFI_FV_ATTRIBUTES Fv2Attributes
|
||||
)
|
||||
{
|
||||
//
|
||||
// Clear those filed that is not defined in Framework FV spec and Alignment conversion.
|
||||
//
|
||||
return (Fv2Attributes & 0x1ff) | ((UINTN) EFI_FV_ALIGNMENT_2 << RShiftU64((Fv2Attributes & EFI_FV2_ALIGNMENT), 16));
|
||||
}
|
||||
|
||||
/**
|
||||
Retrieves attributes, insures positive polarity of attribute bits, returns
|
||||
resulting attributes in output parameter
|
||||
resulting attributes in output parameter.
|
||||
|
||||
@param This Calling context
|
||||
@param Attributes output buffer which contains attributes
|
||||
|
||||
@retval EFI_INVALID_PARAMETER
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_SUCCESS The firmware volume attributes were returned.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -45,17 +73,36 @@ EFIAPI
|
|||
FvGetVolumeAttributes (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
OUT FRAMEWORK_EFI_FV_ATTRIBUTES *Attributes
|
||||
);
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Status = FirmwareVolume2->GetVolumeAttributes (
|
||||
FirmwareVolume2,
|
||||
Attributes
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
*Attributes = Fv2AttributesToFvAttributes (*Attributes);
|
||||
}
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Sets volume attributes
|
||||
Sets volume attributes.
|
||||
|
||||
@param This Calling context
|
||||
@param Attributes Buffer which contains attributes
|
||||
|
||||
@retval EFI_INVALID_PARAMETER
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_INVALID_PARAMETER A bit in Attributes was invalid
|
||||
@retval EFI_SUCCESS The requested firmware volume attributes were set
|
||||
and the resulting EFI_FV_ATTRIBUTES is returned in
|
||||
Attributes.
|
||||
@retval EFI_ACCESS_DENIED The Device is locked and does not permit modification.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -63,7 +110,26 @@ EFIAPI
|
|||
FvSetVolumeAttributes (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
IN OUT FRAMEWORK_EFI_FV_ATTRIBUTES *Attributes
|
||||
);
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_FV_ATTRIBUTES Fv2Attributes;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Fv2Attributes = (*Attributes & 0x1ff);
|
||||
Status = FirmwareVolume2->SetVolumeAttributes (
|
||||
FirmwareVolume2,
|
||||
&Fv2Attributes
|
||||
);
|
||||
|
||||
*Attributes = Fv2AttributesToFvAttributes (Fv2Attributes);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Read the requested file (NameGuid) and returns data in Buffer.
|
||||
|
@ -86,11 +152,13 @@ FvSetVolumeAttributes (
|
|||
@param FileAttributes Indicates the attributes of the file who's data is resturned
|
||||
@param AuthenticationStatus Indicates the authentication status of the data
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_ACCESS_DENIED
|
||||
@retval EFI_SUCCESS The call completed successfully
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
The buffer is filled and the output is truncated.
|
||||
@retval EFI_NOT_FOUND NameGuid was not found in the firmware volume.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -103,7 +171,32 @@ FvReadFile (
|
|||
OUT EFI_FV_FILETYPE *FoundType,
|
||||
OUT EFI_FV_FILE_ATTRIBUTES *FileAttributes,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
);
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Status = FirmwareVolume2->ReadFile (
|
||||
FirmwareVolume2,
|
||||
NameGuid,
|
||||
Buffer,
|
||||
BufferSize,
|
||||
FoundType,
|
||||
FileAttributes,
|
||||
AuthenticationStatus
|
||||
);
|
||||
|
||||
//
|
||||
// For Framework FV attrbutes, only alignment fields are valid.
|
||||
//
|
||||
*FileAttributes = *FileAttributes & EFI_FV_FILE_ATTRIB_ALIGNMENT;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Read the requested section from the specified file and returns data in Buffer.
|
||||
|
@ -126,12 +219,13 @@ FvReadFile (
|
|||
required to complete the read
|
||||
@param AuthenticationStatus Indicates the authentication status of the data
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL
|
||||
@retval EFI_OUT_OF_RESOURCES
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_ACCESS_DENIED
|
||||
@retval EFI_SUCCESS The call completed successfully.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
The buffer is filled and the output is truncated.
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
@retval EFI_NOT_FOUND Name was not found in the firmware volume.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -144,7 +238,24 @@ FvReadSection (
|
|||
IN OUT VOID **Buffer,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
);
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
return FirmwareVolume2->ReadSection (
|
||||
FirmwareVolume2,
|
||||
NameGuid,
|
||||
SectionType,
|
||||
SectionInstance,
|
||||
Buffer,
|
||||
BufferSize,
|
||||
AuthenticationStatus
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
Write the supplied file (NameGuid) to the FV.
|
||||
|
@ -157,12 +268,16 @@ FvReadSection (
|
|||
element in the array indicates a file to write, and there are
|
||||
NumberOfFiles elements in the input array.
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_OUT_OF_RESOURCES
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_WRITE_PROTECTED
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_INVALID_PARAMETER
|
||||
@retval EFI_SUCCESS The write completed successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES The firmware volume does not have enough free space to store file(s).
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access the firmware volume.
|
||||
@retval EFI_WRITE_PROTECTED The firmware volume is configured to disallow writes.
|
||||
@retval EFI_NOT_FOUND A delete was requested, but the requested file was not
|
||||
found in the firmware volume.
|
||||
@retval EFI_INVALID_PARAMETER A delete was requested with a multiple file write.
|
||||
An unsupported WritePolicy was requested.
|
||||
An unknown file type was specified.
|
||||
A file system specific error has occurred.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -172,7 +287,37 @@ FvWriteFile (
|
|||
IN UINT32 NumberOfFiles,
|
||||
IN FRAMEWORK_EFI_FV_WRITE_POLICY WritePolicy,
|
||||
IN FRAMEWORK_EFI_FV_WRITE_FILE_DATA *FileData
|
||||
);
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_FV_WRITE_FILE_DATA *PiFileData;
|
||||
EFI_STATUS Status;
|
||||
UINTN Index;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
PiFileData = AllocateCopyPool (sizeof (EFI_FV_WRITE_FILE_DATA), FileData);
|
||||
ASSERT (PiFileData != NULL);
|
||||
|
||||
//
|
||||
// Framework Spec assume firmware files are Memory-Mapped.
|
||||
//
|
||||
for (Index = 0; Index < NumberOfFiles; Index++) {
|
||||
PiFileData[Index].FileAttributes |= EFI_FV_FILE_ATTRIB_MEMORY_MAPPED;
|
||||
}
|
||||
|
||||
Status = FirmwareVolume2->WriteFile (
|
||||
FirmwareVolume2,
|
||||
NumberOfFiles,
|
||||
WritePolicy,
|
||||
(EFI_FV_WRITE_FILE_DATA *)FileData
|
||||
);
|
||||
|
||||
FreePool (PiFileData);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Given the input key, search for the next matching file in the volume.
|
||||
|
@ -186,10 +331,12 @@ FvWriteFile (
|
|||
@param Attributes Attributes of the file found
|
||||
@param Size Size in bytes of the file found
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_ACCESS_DENIED
|
||||
@retval EFI_SUCCESS The output parameters are filled with data obtained from
|
||||
the first matching file that was found.
|
||||
@retval EFI_NOT_FOUND No files of type FileType were found.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access
|
||||
the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -201,17 +348,31 @@ FvGetNextFile (
|
|||
OUT EFI_GUID *NameGuid,
|
||||
OUT EFI_FV_FILE_ATTRIBUTES *Attributes,
|
||||
OUT UINTN *Size
|
||||
);
|
||||
|
||||
#define FIRMWARE_VOLUME_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('f', 'v', 't', 'h')
|
||||
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
EFI_FIRMWARE_VOLUME_PROTOCOL FirmwareVolume;
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
} FIRMWARE_VOLUME_PRIVATE_DATA;
|
||||
EFI_STATUS Status;
|
||||
|
||||
#define FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS(a) CR (a, FIRMWARE_VOLUME_PRIVATE_DATA, FirmwareVolume, FIRMWARE_VOLUME_PRIVATE_DATA_SIGNATURE)
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Status = FirmwareVolume2->GetNextFile (
|
||||
FirmwareVolume2,
|
||||
Key,
|
||||
FileType,
|
||||
NameGuid,
|
||||
Attributes,
|
||||
Size
|
||||
);
|
||||
|
||||
//
|
||||
// For Framework FV attrbutes, only alignment fields are valid.
|
||||
//
|
||||
*Attributes = *Attributes & EFI_FV_FILE_ATTRIB_ALIGNMENT;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// Firmware Volume Protocol template
|
||||
|
@ -236,7 +397,15 @@ FIRMWARE_VOLUME_PRIVATE_DATA gFirmwareVolumePrivateDataTemplate = {
|
|||
//
|
||||
// Module globals
|
||||
//
|
||||
/**
|
||||
This notification function is invoked when an instance of the
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL is produced. It installs another instance of the
|
||||
EFI_FIRMWARE_VOLUME_PROTOCOL on the same handle.
|
||||
|
||||
@param Event The event that occured
|
||||
@param Context Context of event. Not used in this nofication function.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
FvNotificationEvent (
|
||||
|
@ -344,328 +513,3 @@ InitializeFirmwareVolume2 (
|
|||
);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
Convert FV attrbiutes to FV2 attributes.
|
||||
|
||||
@param Fv2Attributes FV2 attributes.
|
||||
|
||||
@return FV attributes.
|
||||
|
||||
**/
|
||||
FRAMEWORK_EFI_FV_ATTRIBUTES
|
||||
Fv2AttributesToFvAttributes (
|
||||
IN EFI_FV_ATTRIBUTES Fv2Attributes
|
||||
)
|
||||
{
|
||||
//
|
||||
// Clear those filed that is not defined in Framework FV spec and Alignment conversion.
|
||||
//
|
||||
return (Fv2Attributes & 0x1ff) | ((UINTN) EFI_FV_ALIGNMENT_2 << RShiftU64((Fv2Attributes & EFI_FV2_ALIGNMENT), 16));
|
||||
}
|
||||
|
||||
/**
|
||||
Retrieves attributes, insures positive polarity of attribute bits, returns
|
||||
resulting attributes in output parameter
|
||||
|
||||
@param This Calling context
|
||||
@param Attributes output buffer which contains attributes
|
||||
|
||||
@retval EFI_INVALID_PARAMETER
|
||||
@retval EFI_SUCCESS
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FvGetVolumeAttributes (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
OUT FRAMEWORK_EFI_FV_ATTRIBUTES *Attributes
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Status = FirmwareVolume2->GetVolumeAttributes (
|
||||
FirmwareVolume2,
|
||||
Attributes
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
*Attributes = Fv2AttributesToFvAttributes (*Attributes);
|
||||
}
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Sets volume attributes
|
||||
|
||||
@param This Calling context
|
||||
@param Attributes Buffer which contains attributes
|
||||
|
||||
@retval EFI_INVALID_PARAMETER
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_SUCCESS
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FvSetVolumeAttributes (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
IN OUT FRAMEWORK_EFI_FV_ATTRIBUTES *Attributes
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_FV_ATTRIBUTES Fv2Attributes;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Fv2Attributes = (*Attributes & 0x1ff);
|
||||
Status = FirmwareVolume2->SetVolumeAttributes (
|
||||
FirmwareVolume2,
|
||||
&Fv2Attributes
|
||||
);
|
||||
|
||||
*Attributes = Fv2AttributesToFvAttributes (Fv2Attributes);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Read the requested file (NameGuid) and returns data in Buffer.
|
||||
|
||||
@param This Calling context
|
||||
@param NameGuid Filename identifying which file to read
|
||||
@param Buffer Pointer to pointer to buffer in which contents of file are returned.
|
||||
<br>
|
||||
If Buffer is NULL, only type, attributes, and size are returned as
|
||||
there is no output buffer.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer == NULL, the output buffer is allocated
|
||||
from BS pool by ReadFile
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer != NULL, the output buffer has been
|
||||
allocated by the caller and is being passed in.
|
||||
@param BufferSize Indicates the buffer size passed in, and on output the size
|
||||
required to complete the read
|
||||
@param FoundType Indicates the type of the file who's data is returned
|
||||
@param FileAttributes Indicates the attributes of the file who's data is resturned
|
||||
@param AuthenticationStatus Indicates the authentication status of the data
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_ACCESS_DENIED
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FvReadFile (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
IN EFI_GUID *NameGuid,
|
||||
IN OUT VOID **Buffer,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT EFI_FV_FILETYPE *FoundType,
|
||||
OUT EFI_FV_FILE_ATTRIBUTES *FileAttributes,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Status = FirmwareVolume2->ReadFile (
|
||||
FirmwareVolume2,
|
||||
NameGuid,
|
||||
Buffer,
|
||||
BufferSize,
|
||||
FoundType,
|
||||
FileAttributes,
|
||||
AuthenticationStatus
|
||||
);
|
||||
|
||||
//
|
||||
// For Framework FV attrbutes, only alignment fields are valid.
|
||||
//
|
||||
*FileAttributes = *FileAttributes & EFI_FV_FILE_ATTRIB_ALIGNMENT;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Read the requested section from the specified file and returns data in Buffer.
|
||||
|
||||
@param This Calling context
|
||||
@param NameGuid Filename identifying the file from which to read
|
||||
@param SectionType Indicates what section type to retrieve
|
||||
@param SectionInstance Indicates which instance of SectionType to retrieve
|
||||
@param Buffer Pointer to pointer to buffer in which contents of file are returned.
|
||||
<br>
|
||||
If Buffer is NULL, only type, attributes, and size are returned as
|
||||
there is no output buffer.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer == NULL, the output buffer is allocated
|
||||
from BS pool by ReadFile
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer != NULL, the output buffer has been
|
||||
allocated by the caller and is being passed in.
|
||||
@param BufferSize Indicates the buffer size passed in, and on output the size
|
||||
required to complete the read
|
||||
@param AuthenticationStatus Indicates the authentication status of the data
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL
|
||||
@retval EFI_OUT_OF_RESOURCES
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_ACCESS_DENIED
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FvReadSection (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
IN EFI_GUID *NameGuid,
|
||||
IN EFI_SECTION_TYPE SectionType,
|
||||
IN UINTN SectionInstance,
|
||||
IN OUT VOID **Buffer,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
return FirmwareVolume2->ReadSection (
|
||||
FirmwareVolume2,
|
||||
NameGuid,
|
||||
SectionType,
|
||||
SectionInstance,
|
||||
Buffer,
|
||||
BufferSize,
|
||||
AuthenticationStatus
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
Write the supplied file (NameGuid) to the FV.
|
||||
|
||||
@param This Calling context
|
||||
@param NumberOfFiles Indicates the number of file records pointed to by FileData
|
||||
@param WritePolicy Indicates the level of reliability of the write with respect to
|
||||
things like power failure events.
|
||||
@param FileData A pointer to an array of EFI_FV_WRITE_FILE_DATA structures. Each
|
||||
element in the array indicates a file to write, and there are
|
||||
NumberOfFiles elements in the input array.
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_OUT_OF_RESOURCES
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_WRITE_PROTECTED
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_INVALID_PARAMETER
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FvWriteFile (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
IN UINT32 NumberOfFiles,
|
||||
IN FRAMEWORK_EFI_FV_WRITE_POLICY WritePolicy,
|
||||
IN FRAMEWORK_EFI_FV_WRITE_FILE_DATA *FileData
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_FV_WRITE_FILE_DATA *PiFileData;
|
||||
EFI_STATUS Status;
|
||||
UINTN Index;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
PiFileData = AllocateCopyPool (sizeof (EFI_FV_WRITE_FILE_DATA), FileData);
|
||||
ASSERT (PiFileData != NULL);
|
||||
|
||||
//
|
||||
// Framework Spec assume firmware files are Memory-Mapped.
|
||||
//
|
||||
for (Index = 0; Index < NumberOfFiles; Index++) {
|
||||
PiFileData[Index].FileAttributes |= EFI_FV_FILE_ATTRIB_MEMORY_MAPPED;
|
||||
}
|
||||
|
||||
Status = FirmwareVolume2->WriteFile (
|
||||
FirmwareVolume2,
|
||||
NumberOfFiles,
|
||||
WritePolicy,
|
||||
(EFI_FV_WRITE_FILE_DATA *)FileData
|
||||
);
|
||||
|
||||
FreePool (PiFileData);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Given the input key, search for the next matching file in the volume.
|
||||
|
||||
@param This Calling context
|
||||
@param Key Pointer to a caller allocated buffer that contains an implementation
|
||||
specific key that is used to track where to begin searching on
|
||||
successive calls.
|
||||
@param FileType Indicates the file type to filter for
|
||||
@param NameGuid Guid filename of the file found
|
||||
@param Attributes Attributes of the file found
|
||||
@param Size Size in bytes of the file found
|
||||
|
||||
@retval EFI_SUCCESS
|
||||
@retval EFI_NOT_FOUND
|
||||
@retval EFI_DEVICE_ERROR
|
||||
@retval EFI_ACCESS_DENIED
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FvGetNextFile (
|
||||
IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,
|
||||
IN OUT VOID *Key,
|
||||
IN OUT EFI_FV_FILETYPE *FileType,
|
||||
OUT EFI_GUID *NameGuid,
|
||||
OUT EFI_FV_FILE_ATTRIBUTES *Attributes,
|
||||
OUT UINTN *Size
|
||||
)
|
||||
{
|
||||
FIRMWARE_VOLUME_PRIVATE_DATA *Private;
|
||||
EFI_FIRMWARE_VOLUME2_PROTOCOL *FirmwareVolume2;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Private = FIRMWARE_VOLUME_PRIVATE_DATA_FROM_THIS (This);
|
||||
FirmwareVolume2 = Private->FirmwareVolume2;
|
||||
|
||||
Status = FirmwareVolume2->GetNextFile (
|
||||
FirmwareVolume2,
|
||||
Key,
|
||||
FileType,
|
||||
NameGuid,
|
||||
Attributes,
|
||||
Size
|
||||
);
|
||||
|
||||
//
|
||||
// For Framework FV attrbutes, only alignment fields are valid.
|
||||
//
|
||||
*Attributes = *Attributes & EFI_FV_FILE_ATTRIB_ALIGNMENT;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
|
|
@ -65,12 +65,12 @@ typedef union {
|
|||
} SMMBASE_FUNCTION_ARGS;
|
||||
|
||||
typedef enum {
|
||||
SMMBASE_REGISTER,
|
||||
SMMBASE_UNREGISTER,
|
||||
SMMBASE_REGISTER_CALLBACK,
|
||||
SMMBASE_ALLOCATE_POOL,
|
||||
SMMBASE_FREE_POOL,
|
||||
SMMBASE_COMMUNICATE,
|
||||
SmmBaseFunctionRegister,
|
||||
SmmBaseFunctionUnregister,
|
||||
SmmBaseFunctionRegisterCallback,
|
||||
SmmBaseFunctionAllocatePool,
|
||||
SmmBaseFunctionFreePool,
|
||||
SmmBaseFunctionCommunicate
|
||||
} SMMBASE_FUNCTION;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Language Library implementation that provides functions for language conversion
|
||||
between ISO 639-2 and RFC 4646 language codes.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation<BR>
|
||||
Copyright (c) 2009 - 2010, Intel Corporation<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -406,7 +406,7 @@ ConvertLanguagesIso639ToRfc4646 (
|
|||
// The length of ISO 639-2 lanugage codes string must be multiple of 3
|
||||
//
|
||||
Length = AsciiStrLen (Iso639Languages);
|
||||
if (Length % 3) {
|
||||
if (Length % 3 != 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ these two conditions are true:
|
|||
1) Framework module present that produces PCI CFG PPI AND
|
||||
2) PI module that produces PCI CFG2 is not present
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -139,25 +139,24 @@ PciCfg2Read (
|
|||
/**
|
||||
Write to a given location in the PCI configuration space.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
|
||||
@param This Pointer to local data for the interface.
|
||||
@param This Pointer to local data for the interface.
|
||||
|
||||
@param Width The width of the access. Enumerated in bytes.
|
||||
See EFI_PEI_PCI_CFG_PPI_WIDTH above.
|
||||
@param Width The width of the access. Enumerated in bytes.
|
||||
See EFI_PEI_PCI_CFG_PPI_WIDTH above.
|
||||
|
||||
@param Address The physical address of the access. The format of
|
||||
the address is described by EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS.
|
||||
@param Address The physical address of the access. The format of
|
||||
the address is described by EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS.
|
||||
|
||||
@param Buffer A pointer to the buffer of data..
|
||||
@param Buffer A pointer to the buffer of data..
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
@retval EFI_DEVICE_ERROR There was a problem with the transaction.
|
||||
@retval EFI_DEVICE_ERROR There was a problem with the transaction.
|
||||
|
||||
@retval EFI_DEVICE_NOT_READY The device is not capable of supporting the operation at this
|
||||
time.
|
||||
@retval EFI_DEVICE_NOT_READY The device is not capable of supporting the operation at this time.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -236,18 +235,16 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListPciCfg2 = {
|
|||
|
||||
Standard PEIM entry point.
|
||||
|
||||
@param FfsHeadher The FFS file header
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
@param FileHandle Handle of the file being invoked.
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed.
|
||||
|
||||
@retval EFI_SUCCESS if the interface could be successfully
|
||||
installed
|
||||
|
||||
--*/
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeimInitializePciCfg2 (
|
||||
IN EFI_PEI_FILE_HANDLE FfsHeader,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@ that produce PCI CFG2 can also produce PCI CFG by setting Pcd Feature Flag gEfiI
|
|||
to FALSE.
|
||||
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -160,18 +160,16 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListPciCfg = {
|
|||
|
||||
Standard PEIM entry point.
|
||||
|
||||
@param FfsHeadher The FFS file header
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
@param FileHandle Handle of the file being invoked.
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed.
|
||||
|
||||
@retval EFI_SUCCESS if the interface could be successfully
|
||||
installed
|
||||
|
||||
--*/
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeimInitializePciCfg (
|
||||
IN EFI_PEI_FILE_HANDLE FfsHeader,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
The conversion table that guides the generation of the Smbios struture list.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -396,8 +396,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorCoreFrequencyRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x16,
|
||||
SmbiosFldBase10ToWordWithMega
|
||||
},
|
||||
|
@ -409,8 +409,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorFsbFrequencyRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x12,
|
||||
SmbiosFldBase10ToWordWithMega
|
||||
},
|
||||
|
@ -422,8 +422,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorVersionRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x10,
|
||||
SmbiosFldString
|
||||
},
|
||||
|
@ -435,8 +435,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorManufacturerRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x7,
|
||||
SmbiosFldString
|
||||
},
|
||||
|
@ -448,8 +448,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorSerialNumberRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x20,
|
||||
SmbiosFldString
|
||||
},
|
||||
|
@ -461,8 +461,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorIdRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x08,
|
||||
SmbiosFldProcessorType6
|
||||
},
|
||||
|
@ -474,8 +474,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorTypeRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x05,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -487,8 +487,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorFamilyRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x06,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -500,8 +500,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorVoltageRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x11,
|
||||
SmbiosFldProcessorType9
|
||||
},
|
||||
|
@ -513,8 +513,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorStatusRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x18,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -526,8 +526,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorSocketTypeRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x19,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -539,8 +539,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorSocketNameRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x04,
|
||||
SmbiosFldString
|
||||
},
|
||||
|
@ -552,8 +552,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
CacheAssociationRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_WHOLE_DATA_RECORD,
|
||||
BySubClassInstanceProducer,
|
||||
ByFunctionWithWholeDataRecord,
|
||||
0,
|
||||
SmbiosFldProcessorType17
|
||||
},
|
||||
|
@ -565,8 +565,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorMaxCoreFrequencyRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x14,
|
||||
SmbiosFldBase10ToWordWithMega
|
||||
},
|
||||
|
@ -578,8 +578,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_PROCESSOR_SUBCLASS_GUID,
|
||||
ProcessorAssetTagRecordType,
|
||||
4,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x21,
|
||||
SmbiosFldString
|
||||
},
|
||||
|
@ -591,8 +591,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheSizeRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x09,
|
||||
SmbiosFldBase2ToWordWithKilo
|
||||
},
|
||||
|
@ -604,8 +604,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
MaximumSizeCacheRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x07,
|
||||
SmbiosFldBase2ToWordWithKilo
|
||||
},
|
||||
|
@ -617,8 +617,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheSpeedRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x0f,
|
||||
SmbiosFldBase10ToByteWithNano
|
||||
},
|
||||
|
@ -630,8 +630,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheSocketRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x04,
|
||||
SmbiosFldString
|
||||
},
|
||||
|
@ -643,8 +643,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheSramTypeRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x0b,
|
||||
SmbiosFldCacheType5 // Asynchronous and Synchronous are reversed
|
||||
},
|
||||
|
@ -656,8 +656,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheInstalledSramTypeRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x0d,
|
||||
SmbiosFldCacheType5
|
||||
},
|
||||
|
@ -669,8 +669,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheErrorTypeRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x10,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -682,8 +682,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheTypeRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x11,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -695,8 +695,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheAssociativityRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x12,
|
||||
SmbiosFldTruncateToByte
|
||||
},
|
||||
|
@ -708,8 +708,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_CACHE_SUBCLASS_GUID,
|
||||
CacheConfigRecordType,
|
||||
7,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION_WITH_OFFSET_SPECIFIED,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunctionWithOffsetSpecified,
|
||||
0x05,
|
||||
SmbiosFldCacheType10
|
||||
},
|
||||
|
@ -721,8 +721,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_ARRAY_LOCATION_RECORD_NUMBER,
|
||||
16,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType2
|
||||
},
|
||||
|
@ -734,8 +734,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER,
|
||||
6,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldSMBIOSType6
|
||||
},
|
||||
|
@ -747,8 +747,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER,
|
||||
17,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType3
|
||||
},
|
||||
|
@ -760,8 +760,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER,
|
||||
19,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType4
|
||||
},
|
||||
|
@ -773,8 +773,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_DEVICE_START_ADDRESS_RECORD_NUMBER,
|
||||
20,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType5
|
||||
},
|
||||
|
@ -786,8 +786,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_CHANNEL_TYPE_RECORD_NUMBER,
|
||||
37,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType6
|
||||
},
|
||||
|
@ -799,8 +799,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_CHANNEL_DEVICE_RECORD_NUMBER,
|
||||
37,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType7
|
||||
},
|
||||
|
@ -812,8 +812,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER,
|
||||
5,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType8
|
||||
},
|
||||
|
@ -825,8 +825,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER,
|
||||
18,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType9
|
||||
},
|
||||
|
@ -838,8 +838,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MEMORY_SUBCLASS_GUID,
|
||||
EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER,
|
||||
33,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMemoryType10
|
||||
},
|
||||
|
@ -851,8 +851,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_BIOS_VENDOR_RECORD_NUMBER, // 0,
|
||||
0, // smbios Type 0
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType0
|
||||
},
|
||||
|
@ -864,8 +864,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER, // 1,
|
||||
1,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType1
|
||||
},
|
||||
|
@ -877,8 +877,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER, // 2,
|
||||
2, // SMBIOS Type 2
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType2
|
||||
},
|
||||
|
@ -890,8 +890,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER, // 3,
|
||||
3,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType3
|
||||
},
|
||||
|
@ -903,8 +903,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER, // 8,
|
||||
8,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType8
|
||||
},
|
||||
|
@ -916,8 +916,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER, // 9,
|
||||
9,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType9
|
||||
},
|
||||
|
@ -929,8 +929,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER, // 10,
|
||||
10,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType10
|
||||
},
|
||||
|
@ -942,8 +942,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_OEM_STRING_RECORD_NUMBER, // 11,
|
||||
11,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType11
|
||||
},
|
||||
|
@ -955,8 +955,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER, // 12,
|
||||
12,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType12
|
||||
},
|
||||
|
@ -968,8 +968,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER, // 13,
|
||||
13,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType13
|
||||
},
|
||||
|
@ -981,8 +981,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER, // 13,
|
||||
13,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType14
|
||||
},
|
||||
|
@ -994,8 +994,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER, // 15,
|
||||
15,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType15
|
||||
},
|
||||
|
@ -1007,8 +1007,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER, // 21,
|
||||
21,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType21
|
||||
},
|
||||
|
@ -1020,8 +1020,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER, // 22,
|
||||
22,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType22
|
||||
},
|
||||
|
@ -1033,8 +1033,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER, // 23,
|
||||
23,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType23
|
||||
},
|
||||
|
@ -1046,8 +1046,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER, // 24,
|
||||
24,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType24
|
||||
},
|
||||
|
@ -1059,8 +1059,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER, // 25,
|
||||
25,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType25
|
||||
},
|
||||
|
@ -1072,8 +1072,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER, // 26,
|
||||
26,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType26
|
||||
},
|
||||
|
@ -1085,8 +1085,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER, // 27,
|
||||
27,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType27
|
||||
},
|
||||
|
@ -1098,8 +1098,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER, // 28,
|
||||
28,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType28
|
||||
},
|
||||
|
@ -1111,8 +1111,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER, // 29,
|
||||
29,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType29
|
||||
},
|
||||
|
@ -1124,8 +1124,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER, // 30,
|
||||
30,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType30
|
||||
},
|
||||
|
@ -1137,8 +1137,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER, // 32,
|
||||
32,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType32
|
||||
},
|
||||
|
@ -1150,8 +1150,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER, // 34,
|
||||
34,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType34
|
||||
},
|
||||
|
@ -1163,8 +1163,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER, // 36,
|
||||
36,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType36
|
||||
},
|
||||
|
@ -1176,8 +1176,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER, // 38,
|
||||
38,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType38
|
||||
},
|
||||
|
@ -1189,8 +1189,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER, // 39,
|
||||
39,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType39
|
||||
},
|
||||
|
@ -1202,8 +1202,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER, // 0x80,
|
||||
0x80,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscTypeOEM
|
||||
},
|
||||
|
@ -1215,8 +1215,8 @@ SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
|
|||
EFI_MISC_SUBCLASS_GUID,
|
||||
127,
|
||||
127,
|
||||
BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
|
||||
BY_FUNCTION,
|
||||
BySubclassInstanceSubinstanceProducer,
|
||||
ByFunction,
|
||||
0,
|
||||
SmbiosFldMiscType127
|
||||
},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
Translate the DataHub records via EFI_DATA_HUB_PROTOCOL to Smbios recorders
|
||||
via EFI_SMBIOS_PROTOCOL.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -117,7 +117,7 @@ SmbiosProcessDataRecord (
|
|||
SMBIOS_STRUCTURE_NODE_SIGNATURE
|
||||
);
|
||||
|
||||
if (Conversion->StructureLocatingMethod == BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER) {
|
||||
if (Conversion->StructureLocatingMethod == BySubclassInstanceSubinstanceProducer) {
|
||||
//
|
||||
// Look at SubClass, Instance, SubInstance and ProducerName for a matching
|
||||
// node
|
||||
|
@ -136,7 +136,7 @@ SmbiosProcessDataRecord (
|
|||
}
|
||||
}
|
||||
|
||||
} else if (Conversion->StructureLocatingMethod == BY_SUBCLASS_INSTANCE_PRODUCER) {
|
||||
} else if (Conversion->StructureLocatingMethod == BySubClassInstanceProducer) {
|
||||
//
|
||||
// Look at SubClass, Instance and ProducerName for a matching node
|
||||
//
|
||||
|
@ -172,7 +172,7 @@ SmbiosProcessDataRecord (
|
|||
goto Done;
|
||||
}
|
||||
|
||||
if (Conversion->StructureLocatingMethod == BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER) {
|
||||
if (Conversion->StructureLocatingMethod == BySubclassInstanceSubinstanceProducer) {
|
||||
//
|
||||
// Fill in SubClass, Instance, SubInstance and ProducerName
|
||||
//
|
||||
|
@ -181,7 +181,7 @@ SmbiosProcessDataRecord (
|
|||
StructureNode->SubInstance = DataHeader->SubInstance;
|
||||
CopyMem (&(StructureNode->ProducerName), &(RecordHeader->ProducerName), sizeof (EFI_GUID));
|
||||
|
||||
} else if (Conversion->StructureLocatingMethod == BY_SUBCLASS_INSTANCE_PRODUCER) {
|
||||
} else if (Conversion->StructureLocatingMethod == BySubClassInstanceProducer) {
|
||||
//
|
||||
// Fill in at SubClass, Instance and ProducerName, mark SubInstance as Non
|
||||
// Applicable
|
||||
|
@ -244,7 +244,7 @@ SmbiosProcessDataRecord (
|
|||
//
|
||||
// Fill the Structure's field corresponding to this data record
|
||||
//
|
||||
if (Conversion->FieldFillingMethod == RECORD_DATA_UNCHANGED_OFFSET_SPECIFIED) {
|
||||
if (Conversion->FieldFillingMethod == RecordDataUnchangedOffsetSpecified) {
|
||||
//
|
||||
// Field data is just the record data without transforming and
|
||||
// offset is specified directly in the conversion table entry
|
||||
|
@ -262,7 +262,7 @@ SmbiosProcessDataRecord (
|
|||
|
||||
CopyMem ((UINT8 *) (StructureNode->Structure) + Conversion->FieldOffset, SrcData, SrcDataSize);
|
||||
|
||||
} else if (Conversion->FieldFillingMethod == BY_FUNCTION_WITH_OFFSET_SPECIFIED) {
|
||||
} else if (Conversion->FieldFillingMethod == ByFunctionWithOffsetSpecified) {
|
||||
//
|
||||
// Field offfset is specified in the conversion table entry, but
|
||||
// record data needs to be transformed to be filled into the field,
|
||||
|
@ -292,7 +292,7 @@ SmbiosProcessDataRecord (
|
|||
|
||||
goto Done;
|
||||
}
|
||||
} else if (Conversion->FieldFillingMethod == BY_FUNCTION) {
|
||||
} else if (Conversion->FieldFillingMethod == ByFunction) {
|
||||
//
|
||||
// Both field offset and field content are determined by
|
||||
// FieldFillingFunction
|
||||
|
@ -321,7 +321,7 @@ SmbiosProcessDataRecord (
|
|||
|
||||
goto Done;
|
||||
}
|
||||
} else if (Conversion->FieldFillingMethod == BY_FUNCTION_WITH_WHOLE_DATA_RECORD) {
|
||||
} else if (Conversion->FieldFillingMethod == ByFunctionWithWholeDataRecord) {
|
||||
//
|
||||
// Both field offset and field content are determined by
|
||||
// FieldFillingFunction and the function accepts the whole data record
|
||||
|
|
|
@ -11,7 +11,7 @@ This module is used on platform when both of these two conditions are true:
|
|||
This module can't be used together with ReadOnlyVariableToReadOnlyVariable2Thunk module.
|
||||
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -30,87 +30,17 @@ Module Name:
|
|||
#include <Library/PeiServicesTablePointerLib.h>
|
||||
#include <Library/PeiServicesLib.h>
|
||||
|
||||
//
|
||||
// Function Prototypes
|
||||
//
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeiGetVariable (
|
||||
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
|
||||
IN CONST CHAR16 *VariableName,
|
||||
IN CONST EFI_GUID *VariableGuid,
|
||||
OUT UINT32 *Attributes,
|
||||
IN OUT UINTN *DataSize,
|
||||
OUT VOID *Data
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeiGetNextVariableName (
|
||||
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
|
||||
IN OUT UINTN *VariableNameSize,
|
||||
IN OUT CHAR16 *VariableName,
|
||||
IN OUT EFI_GUID *VariableGuid
|
||||
);
|
||||
|
||||
//
|
||||
// Module globals
|
||||
//
|
||||
EFI_PEI_READ_ONLY_VARIABLE2_PPI mVariablePpi = {
|
||||
PeiGetVariable,
|
||||
PeiGetNextVariableName
|
||||
};
|
||||
|
||||
EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = {
|
||||
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||
&gEfiPeiReadOnlyVariable2PpiGuid,
|
||||
&mVariablePpi
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
User entry for this PEIM driver.
|
||||
|
||||
@param FileHandle Handle of the file being invoked.
|
||||
@param PeiServices Describes the list of possible PEI Services.
|
||||
|
||||
@retval EFI_SUCCESS ReadOnlyVariable2 PPI is successfully installed.
|
||||
@return Others ReadOnlyVariable2 PPI is not successfully installed.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeimInitializeReadOnlyVariable2 (
|
||||
IN EFI_PEI_FILE_HANDLE FfsHeader,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
//
|
||||
// This thunk module can only be used together with a PI PEI core, as we
|
||||
// assume PeiServices Pointer Table can be located in a standard way defined
|
||||
// in PI spec.
|
||||
//
|
||||
ASSERT ((*PeiServices)->Hdr.Revision >= 0x00010000);
|
||||
|
||||
//
|
||||
// Developer should make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. or else, the call chain will form a
|
||||
// infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> .....
|
||||
//
|
||||
//
|
||||
// Publish the variable capability to other modules
|
||||
//
|
||||
return PeiServicesInstallPpi (&mPpiListVariable);
|
||||
}
|
||||
|
||||
/**
|
||||
Provide the read variable functionality of the variable services.
|
||||
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
@param VariableName The variable name
|
||||
@param VendorGuid The vendor's GUID
|
||||
@param Attributes Pointer to the attribute
|
||||
@param DataSize Size of data
|
||||
@param Data Pointer to data
|
||||
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.
|
||||
@param VariableName A pointer to a null-terminated string that is the variable's name.
|
||||
@param VariableGuid A pointer to an EFI_GUID that is the variable's GUID. The combination of
|
||||
VariableGuid and VariableName must be unique.
|
||||
@param Attributes If non-NULL, on return, points to the variable's attributes.
|
||||
@param DataSize On entry, points to the size in bytes of the Data buffer.
|
||||
On return, points to the size of the data returned in Data.
|
||||
@param Data Points to the buffer which will hold the returned variable value.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed
|
||||
@retval EFI_NOT_FOUND The variable could not be discovered
|
||||
|
@ -152,16 +82,17 @@ PeiGetVariable (
|
|||
/**
|
||||
Provide the get next variable functionality of the variable services.
|
||||
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
@param VariabvleNameSize The variable name's size.
|
||||
@param VariableName A pointer to the variable's name.
|
||||
@param VariableGuid A pointer to the EFI_GUID structure.
|
||||
@param VariableNameSize Size of the variable name
|
||||
@param VariableName The variable name
|
||||
@param VendorGuid The vendor's GUID
|
||||
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed
|
||||
@retval EFI_NOT_FOUND The variable could not be discovered
|
||||
@param VariableNameSize On entry, points to the size of the buffer pointed to by VariableName.
|
||||
@param VariableName On entry, a pointer to a null-terminated string that is the variable's name.
|
||||
On return, points to the next variable's null-terminated name string.
|
||||
|
||||
@param VariableGuid On entry, a pointer to an EFI_GUID that is the variable's GUID.
|
||||
On return, a pointer to the next variable's GUID.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed
|
||||
@retval EFI_NOT_FOUND The variable could not be discovered
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -191,3 +122,51 @@ PeiGetNextVariableName (
|
|||
VariableGuid
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Module globals
|
||||
//
|
||||
EFI_PEI_READ_ONLY_VARIABLE2_PPI mVariablePpi = {
|
||||
PeiGetVariable,
|
||||
PeiGetNextVariableName
|
||||
};
|
||||
|
||||
EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = {
|
||||
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||
&gEfiPeiReadOnlyVariable2PpiGuid,
|
||||
&mVariablePpi
|
||||
};
|
||||
|
||||
/**
|
||||
User entry for this PEIM driver.
|
||||
|
||||
@param FileHandle Handle of the file being invoked.
|
||||
@param PeiServices Describes the list of possible PEI Services.
|
||||
|
||||
@retval EFI_SUCCESS ReadOnlyVariable2 PPI is successfully installed.
|
||||
@return Others ReadOnlyVariable2 PPI is not successfully installed.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeimInitializeReadOnlyVariable2 (
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
//
|
||||
// This thunk module can only be used together with a PI PEI core, as we
|
||||
// assume PeiServices Pointer Table can be located in a standard way defined
|
||||
// in PI spec.
|
||||
//
|
||||
ASSERT ((*PeiServices)->Hdr.Revision >= 0x00010000);
|
||||
|
||||
//
|
||||
// Developer should make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. or else, the call chain will form a
|
||||
// infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> .....
|
||||
//
|
||||
//
|
||||
// Publish the variable capability to other modules
|
||||
//
|
||||
return PeiServicesInstallPpi (&mPpiListVariable);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ UEFI PI Spec supersedes Intel's Framework Specs.
|
|||
|
||||
This module can't be used together with ReadOnlyVariable2ToReadOnlyVariableThunk module.
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -28,80 +28,18 @@ Module Name:
|
|||
#include <Library/DebugLib.h>
|
||||
#include <Library/PeiServicesLib.h>
|
||||
|
||||
//
|
||||
// Function Prototypes
|
||||
//
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeiGetVariable (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN CHAR16 *VariableName,
|
||||
IN EFI_GUID *VendorGuid,
|
||||
OUT UINT32 *Attributes OPTIONAL,
|
||||
IN OUT UINTN *DataSize,
|
||||
OUT VOID *Data
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeiGetNextVariableName (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN OUT UINTN *VariableNameSize,
|
||||
IN OUT CHAR16 *VariableName,
|
||||
IN OUT EFI_GUID *VendorGuid
|
||||
);
|
||||
|
||||
//
|
||||
// Module globals
|
||||
//
|
||||
EFI_PEI_READ_ONLY_VARIABLE_PPI mVariablePpi = {
|
||||
PeiGetVariable,
|
||||
PeiGetNextVariableName
|
||||
};
|
||||
|
||||
EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = {
|
||||
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||
&gEfiPeiReadOnlyVariablePpiGuid,
|
||||
&mVariablePpi
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Standard entry point of a PEIM.
|
||||
|
||||
@param FfsHeadher The FFS file header
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
|
||||
@retval EFI_SUCCESS If the gEfiPeiReadOnlyVariablePpiGuid interface could be successfully installed.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeimInitializeReadOnlyVariable (
|
||||
IN EFI_PEI_FILE_HANDLE FfsHeader,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
//
|
||||
//Developer should make sure ReadOnlyVariableToReadOnlyVariable2 module is not present. If so, the call chain will form a
|
||||
// infinite loop: ReadOnlyVariable -> ReadOnlyVariable2 -> ReadOnlyVariable -> ....
|
||||
//
|
||||
//
|
||||
// Publish the variable capability to other modules
|
||||
//
|
||||
return (*PeiServices)->InstallPpi (PeiServices, &mPpiListVariable);
|
||||
}
|
||||
|
||||
/**
|
||||
Provide the read variable functionality of the variable services.
|
||||
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
@param VariableName The variable name
|
||||
@param VendorGuid The vendor's GUID
|
||||
@param Attributes Pointer to the attribute
|
||||
@param DataSize Size of data
|
||||
@param Data Pointer to data
|
||||
@param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param[in] VariableName A NULL-terminated Unicode string that is the name of the vendor's variable.
|
||||
@param[in] VendorGuid A unique identifier for the vendor.
|
||||
@param[out] Attributes This OPTIONAL parameter may be either NULL or
|
||||
a pointer to the location in which to return
|
||||
the attributes bitmask for the variable.
|
||||
@param[in, out] DataSize On input, the size in bytes of the return Data buffer.
|
||||
On output, the size of data returned in Data.
|
||||
@param[out] Data The buffer to return the contents of the variable.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed
|
||||
@retval EFI_NOT_FOUND The variable could not be discovered
|
||||
|
@ -144,13 +82,14 @@ PeiGetVariable (
|
|||
/**
|
||||
Provide the get next variable functionality of the variable services.
|
||||
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
@param VariabvleNameSize The variable name's size.
|
||||
@param VariableName A pointer to the variable's name.
|
||||
@param VariableGuid A pointer to the EFI_GUID structure.
|
||||
@param VariableNameSize Size of the variable name
|
||||
@param VariableName The variable name
|
||||
@param VendorGuid The vendor's GUID
|
||||
@param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param[in, out] VariableNameSize The size of the VariableName buffer.
|
||||
@param[in, out] VariableName On input, supplies the last VariableName that was
|
||||
returned by GetNextVariableName(). On output, returns the Null-terminated
|
||||
Unicode string of the current variable.
|
||||
@param[in, out] VendorGuid On input, supplies the last VendorGuid that was
|
||||
returned by GetNextVariableName(). On output, returns the VendorGuid
|
||||
of the current variable.
|
||||
|
||||
@retval EFI_SUCCESS The interface could be successfully installed
|
||||
@retval EFI_NOT_FOUND The variable could not be discovered
|
||||
|
@ -184,3 +123,43 @@ PeiGetNextVariableName (
|
|||
VendorGuid
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Module globals
|
||||
//
|
||||
EFI_PEI_READ_ONLY_VARIABLE_PPI mVariablePpi = {
|
||||
PeiGetVariable,
|
||||
PeiGetNextVariableName
|
||||
};
|
||||
|
||||
EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = {
|
||||
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||
&gEfiPeiReadOnlyVariablePpiGuid,
|
||||
&mVariablePpi
|
||||
};
|
||||
|
||||
/**
|
||||
Standard entry point of a PEIM.
|
||||
|
||||
@param FileHandle Handle of the file being invoked.
|
||||
@param PeiServices General purpose services available to every PEIM.
|
||||
|
||||
@retval EFI_SUCCESS If the gEfiPeiReadOnlyVariablePpiGuid interface could be successfully installed.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PeimInitializeReadOnlyVariable (
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
//
|
||||
//Developer should make sure ReadOnlyVariableToReadOnlyVariable2 module is not present. If so, the call chain will form a
|
||||
// infinite loop: ReadOnlyVariable -> ReadOnlyVariable2 -> ReadOnlyVariable -> ....
|
||||
//
|
||||
//
|
||||
// Publish the variable capability to other modules
|
||||
//
|
||||
return (*PeiServices)->InstallPpi (PeiServices, &mPpiListVariable);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
SMM Access2 Protocol on SMM Access Protocol Thunk driver.
|
||||
|
||||
Copyright (c) 2009 Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -68,7 +68,7 @@ SmmAccess2Open (
|
|||
This function "closes" SMRAM so that it is not visible while outside of SMM. The function should
|
||||
return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM.
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
@param [in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The operation was successful.
|
||||
@retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
|
||||
|
@ -135,8 +135,8 @@ SmmAccess2Lock (
|
|||
Queries the memory controller for the possible regions that will support SMRAM.
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
@param[in,out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
|
||||
@param[in,out] SmramMap A pointer to the buffer in which firmware places the current memory map.
|
||||
@param[in, out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
|
||||
@param[in, out] SmramMap A pointer to the buffer in which firmware places the current memory map.
|
||||
|
||||
@retval EFI_SUCCESS The chipset supported the given resource.
|
||||
@retval EFI_BUFFER_TOO_SMALL The SmramMap parameter was too small. The current buffer size
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Include file for SMM Access2 Protocol on SMM Access Protocol Thunk driver.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -81,8 +81,8 @@ SmmAccess2Lock (
|
|||
Queries the memory controller for the possible regions that will support SMRAM.
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
@param[in,out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
|
||||
@param[in,out] SmramMap A pointer to the buffer in which firmware places the current memory map.
|
||||
@param[in, out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
|
||||
@param[in, out] SmramMap A pointer to the buffer in which firmware places the current memory map.
|
||||
|
||||
@retval EFI_SUCCESS The chipset supported the given resource.
|
||||
@retval EFI_BUFFER_TOO_SMALL The SmramMap parameter was too small. The current buffer size
|
||||
|
|
|
@ -406,9 +406,9 @@ GetCallbackInfo (
|
|||
@param[in] DispatchHandle The unique handle assigned to this handler by SmiHandlerRegister().
|
||||
@param[in] Context Points to an optional handler context which was specified when the
|
||||
handler was registered.
|
||||
@param[in,out] CommBuffer A pointer to a collection of data in memory that will
|
||||
@param[in, out] CommBuffer A pointer to a collection of data in memory that will
|
||||
be conveyed from a non-SMM environment into an SMM environment.
|
||||
@param[in,out] CommBufferSize The size of the CommBuffer.
|
||||
@param[in, out] CommBufferSize The size of the CommBuffer.
|
||||
|
||||
@retval EFI_SUCCESS The interrupt was handled and quiesced. No other handlers
|
||||
should still be called.
|
||||
|
@ -651,11 +651,11 @@ HelperCommunicate (
|
|||
This SMI handler provides services for the SMM Base Thunk driver.
|
||||
|
||||
@param[in] DispatchHandle The unique handle assigned to this handler by SmiHandlerRegister().
|
||||
@param[in] Context Points to an optional handler context which was specified when the
|
||||
@param[in] RegisterContext Points to an optional handler context which was specified when the
|
||||
handler was registered.
|
||||
@param[in,out] CommBuffer A pointer to a collection of data in memory that will
|
||||
@param[in, out] CommBuffer A pointer to a collection of data in memory that will
|
||||
be conveyed from a non-SMM environment into an SMM environment.
|
||||
@param[in,out] CommBufferSize The size of the CommBuffer.
|
||||
@param[in, out] CommBufferSize The size of the CommBuffer.
|
||||
|
||||
@retval EFI_SUCCESS The interrupt was handled and quiesced. No other handlers
|
||||
should still be called.
|
||||
|
@ -682,22 +682,22 @@ SmmHandlerEntry (
|
|||
FunctionData = (SMMBASE_FUNCTION_DATA *)CommBuffer;
|
||||
|
||||
switch (FunctionData->Function) {
|
||||
case SMMBASE_REGISTER:
|
||||
case SmmBaseFunctionRegister:
|
||||
Register (FunctionData);
|
||||
break;
|
||||
case SMMBASE_UNREGISTER:
|
||||
case SmmBaseFunctionUnregister:
|
||||
UnRegister (FunctionData);
|
||||
break;
|
||||
case SMMBASE_REGISTER_CALLBACK:
|
||||
case SmmBaseFunctionRegisterCallback:
|
||||
RegisterCallback (FunctionData);
|
||||
break;
|
||||
case SMMBASE_ALLOCATE_POOL:
|
||||
case SmmBaseFunctionAllocatePool:
|
||||
HelperAllocatePool (FunctionData);
|
||||
break;
|
||||
case SMMBASE_FREE_POOL:
|
||||
case SmmBaseFunctionFreePool:
|
||||
HelperFreePool (FunctionData);
|
||||
break;
|
||||
case SMMBASE_COMMUNICATE:
|
||||
case SmmBaseFunctionCommunicate:
|
||||
HelperCommunicate (FunctionData);
|
||||
break;
|
||||
default:
|
||||
|
@ -725,9 +725,10 @@ SmmBaseHelperMain (
|
|||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_MP_SERVICES_PROTOCOL *MpServices;
|
||||
EFI_HANDLE Handle = NULL;
|
||||
EFI_HANDLE Handle;
|
||||
UINTN NumberOfEnabledProcessors;
|
||||
|
||||
|
||||
Handle = NULL;
|
||||
///
|
||||
/// Locate SMM CPU Protocol which is used later to retrieve/update CPU Save States
|
||||
///
|
||||
|
|
|
@ -35,90 +35,6 @@
|
|||
#include <Library/UefiLib.h>
|
||||
#include <Library/UefiRuntimeLib.h>
|
||||
|
||||
//
|
||||
// SMM Base Protocol function ptoyotypes
|
||||
//
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseRegister (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
|
||||
IN VOID *SourceBuffer,
|
||||
IN UINTN SourceSize,
|
||||
OUT EFI_HANDLE *ImageHandle,
|
||||
IN BOOLEAN LegacyIA32Binary
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseUnregister (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseCommunicate (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN OUT VOID *CommunicationBuffer,
|
||||
IN OUT UINTN *BufferSize
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseRegisterCallback (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
IN EFI_HANDLE SmmImageHandle,
|
||||
IN EFI_SMM_CALLBACK_ENTRY_POINT CallbackAddress,
|
||||
IN BOOLEAN MakeLast,
|
||||
IN BOOLEAN FloatingPointSave
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseInSmm (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
OUT BOOLEAN *InSmm
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseSmmAllocatePool (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN UINTN Size,
|
||||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseSmmFreePool (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SmmBaseGetSmstLocation (
|
||||
IN EFI_SMM_BASE_PROTOCOL *This,
|
||||
OUT EFI_SMM_SYSTEM_TABLE **Smst
|
||||
);
|
||||
|
||||
///
|
||||
/// SMM Base Protocol instance
|
||||
///
|
||||
EFI_SMM_BASE_PROTOCOL mSmmBase = {
|
||||
SmmBaseRegister,
|
||||
SmmBaseUnregister,
|
||||
SmmBaseCommunicate,
|
||||
SmmBaseRegisterCallback,
|
||||
SmmBaseInSmm,
|
||||
SmmBaseSmmAllocatePool,
|
||||
SmmBaseSmmFreePool,
|
||||
SmmBaseGetSmstLocation
|
||||
};
|
||||
|
||||
SMMBASETHUNK_COMMUNICATION_DATA mCommunicationData = {
|
||||
EFI_SMM_BASE_THUNK_COMMUNICATION_GUID,
|
||||
sizeof (SMMBASE_FUNCTION_DATA)
|
||||
|
@ -160,7 +76,7 @@ SmmBaseHelperService (
|
|||
|
||||
mCommunicationData.FunctionData.Status = EFI_UNSUPPORTED;
|
||||
|
||||
if ((mCommunicationData.FunctionData.Function != SMMBASE_COMMUNICATE) && IsInSmm()) {
|
||||
if ((mCommunicationData.FunctionData.Function != SmmBaseFunctionCommunicate) && IsInSmm()) {
|
||||
///
|
||||
/// If in SMM mode, directly call services in SMM Base Helper.
|
||||
///
|
||||
|
@ -220,7 +136,7 @@ SmmBaseRegister (
|
|||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
mCommunicationData.FunctionData.Function = SMMBASE_REGISTER;
|
||||
mCommunicationData.FunctionData.Function = SmmBaseFunctionRegister;
|
||||
mCommunicationData.FunctionData.Args.Register.FilePath = FilePath;
|
||||
mCommunicationData.FunctionData.Args.Register.SourceBuffer = SourceBuffer;
|
||||
mCommunicationData.FunctionData.Args.Register.SourceSize = SourceSize;
|
||||
|
@ -249,7 +165,7 @@ SmmBaseUnregister (
|
|||
IN EFI_HANDLE ImageHandle
|
||||
)
|
||||
{
|
||||
mCommunicationData.FunctionData.Function = SMMBASE_UNREGISTER;
|
||||
mCommunicationData.FunctionData.Function = SmmBaseFunctionUnregister;
|
||||
mCommunicationData.FunctionData.Args.UnRegister.ImageHandle = ImageHandle;
|
||||
|
||||
SmmBaseHelperService ();
|
||||
|
@ -264,8 +180,8 @@ SmmBaseUnregister (
|
|||
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ImageHandle The handle of the registered driver.
|
||||
@param[in,out] CommunicationBuffer Pointer to the buffer to convey into SMRAM.
|
||||
@param[in,out] BufferSize The size of the data buffer being passed in.
|
||||
@param[in, out] CommunicationBuffer Pointer to the buffer to convey into SMRAM.
|
||||
@param[in, out] BufferSize The size of the data buffer being passed in.
|
||||
On exit, the size of data being returned.
|
||||
Zero if the handler does not wish to reply with any data.
|
||||
|
||||
|
@ -285,7 +201,7 @@ SmmBaseCommunicate (
|
|||
/// Note this is a runtime interface
|
||||
///
|
||||
|
||||
mCommunicationData.FunctionData.Function = SMMBASE_COMMUNICATE;
|
||||
mCommunicationData.FunctionData.Function = SmmBaseFunctionCommunicate;
|
||||
mCommunicationData.FunctionData.Args.Communicate.ImageHandle = ImageHandle;
|
||||
mCommunicationData.FunctionData.Args.Communicate.CommunicationBuffer = CommunicationBuffer;
|
||||
mCommunicationData.FunctionData.Args.Communicate.SourceSize = BufferSize;
|
||||
|
@ -327,7 +243,7 @@ SmmBaseRegisterCallback (
|
|||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
mCommunicationData.FunctionData.Function = SMMBASE_REGISTER_CALLBACK;
|
||||
mCommunicationData.FunctionData.Function = SmmBaseFunctionRegisterCallback;
|
||||
mCommunicationData.FunctionData.Args.RegisterCallback.SmmImageHandle = SmmImageHandle;
|
||||
mCommunicationData.FunctionData.Args.RegisterCallback.CallbackAddress = CallbackAddress;
|
||||
mCommunicationData.FunctionData.Args.RegisterCallback.MakeLast = MakeLast;
|
||||
|
@ -387,7 +303,7 @@ SmmBaseSmmAllocatePool (
|
|||
OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
mCommunicationData.FunctionData.Function = SMMBASE_ALLOCATE_POOL;
|
||||
mCommunicationData.FunctionData.Function = SmmBaseFunctionAllocatePool;
|
||||
mCommunicationData.FunctionData.Args.AllocatePool.PoolType = PoolType;
|
||||
mCommunicationData.FunctionData.Args.AllocatePool.Size = Size;
|
||||
mCommunicationData.FunctionData.Args.AllocatePool.Buffer = Buffer;
|
||||
|
@ -415,7 +331,7 @@ SmmBaseSmmFreePool (
|
|||
IN VOID *Buffer
|
||||
)
|
||||
{
|
||||
mCommunicationData.FunctionData.Function = SMMBASE_FREE_POOL;
|
||||
mCommunicationData.FunctionData.Function = SmmBaseFunctionFreePool;
|
||||
mCommunicationData.FunctionData.Args.FreePool.Buffer = Buffer;
|
||||
|
||||
SmmBaseHelperService ();
|
||||
|
@ -429,7 +345,7 @@ SmmBaseSmmFreePool (
|
|||
global variable so that the SMST can be invoked in subsequent callbacks.
|
||||
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] Smst Pointer to the SMST.
|
||||
@param[out] Smst Pointer to the SMST.
|
||||
|
||||
@retval EFI_SUCCESS The operation was successful
|
||||
@retval EFI_INVALID_PARAMETER Smst was invalid.
|
||||
|
@ -473,6 +389,20 @@ SmmBaseAddressChangeEvent (
|
|||
EfiConvertPointer (0x0, (VOID **) &mSmmCommunication);
|
||||
}
|
||||
|
||||
///
|
||||
/// SMM Base Protocol instance
|
||||
///
|
||||
EFI_SMM_BASE_PROTOCOL mSmmBase = {
|
||||
SmmBaseRegister,
|
||||
SmmBaseUnregister,
|
||||
SmmBaseCommunicate,
|
||||
SmmBaseRegisterCallback,
|
||||
SmmBaseInSmm,
|
||||
SmmBaseSmmAllocatePool,
|
||||
SmmBaseSmmFreePool,
|
||||
SmmBaseGetSmstLocation
|
||||
};
|
||||
|
||||
/**
|
||||
Entry Point for SMM Base Protocol on SMM Base2 Protocol Thunk driver.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
SMM Control2 Protocol on SMM Control Protocol Thunk driver.
|
||||
|
||||
Copyright (c) 2009 Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -29,8 +29,8 @@ UINT8 mDataPort;
|
|||
This function generates an SMI.
|
||||
|
||||
@param[in] This The EFI_SMM_CONTROL2_PROTOCOL instance.
|
||||
@param[in,out] CommandPort The value written to the command port.
|
||||
@param[in,out] DataPort The value written to the data port.
|
||||
@param[in, out] CommandPort The value written to the command port.
|
||||
@param[in, out] DataPort The value written to the data port.
|
||||
@param[in] Periodic Optional mechanism to engender a periodic stream.
|
||||
@param[in] ActivationInterval Optional parameter to repeat at this period one
|
||||
time or, if the Periodic Boolean is set, periodically.
|
||||
|
@ -50,8 +50,9 @@ SmmControl2Trigger (
|
|||
IN UINTN ActivationInterval OPTIONAL
|
||||
)
|
||||
{
|
||||
UINTN ArgumentBufferSize = 0;
|
||||
UINTN ArgumentBufferSize;
|
||||
|
||||
ArgumentBufferSize = 0;
|
||||
if (CommandPort != NULL) {
|
||||
ArgumentBufferSize = 1;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Include file for SMM Control2 Protocol on SMM Control Protocol Thunk driver.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, 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
|
||||
|
@ -30,8 +30,8 @@
|
|||
This function generates an SMI.
|
||||
|
||||
@param[in] This The EFI_SMM_CONTROL2_PROTOCOL instance.
|
||||
@param[in,out] CommandPort The value written to the command port.
|
||||
@param[in,out] DataPort The value written to the data port.
|
||||
@param[in, out] CommandPort The value written to the command port.
|
||||
@param[in, out] DataPort The value written to the data port.
|
||||
@param[in] Periodic Optional mechanism to engender a periodic stream.
|
||||
@param[in] ActivationInterval Optional parameter to repeat at this period one
|
||||
time or, if the Periodic Boolean is set, periodically.
|
||||
|
|
|
@ -9,7 +9,7 @@ these two conditions are true:
|
|||
1) EFI 1.10 module producing UC present
|
||||
2) And the rest of modules on the platform consume UC2
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -153,11 +153,11 @@ StrToFat (
|
|||
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL UC2;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL *UC;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL Uc2;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL *Uc;
|
||||
} UC2_PRIVATE_DATA;
|
||||
|
||||
#define UC2_PRIVATE_DATA_FROM_THIS(a) CR (a, UC2_PRIVATE_DATA, UC2, UC2_PRIVATE_DATA_SIGNATURE)
|
||||
#define UC2_PRIVATE_DATA_FROM_THIS(a) CR (a, UC2_PRIVATE_DATA, Uc2, UC2_PRIVATE_DATA_SIGNATURE)
|
||||
|
||||
//
|
||||
// Firmware Volume Protocol template
|
||||
|
@ -181,7 +181,15 @@ UC2_PRIVATE_DATA gUC2PrivateDataTemplate = {
|
|||
//
|
||||
// Module globals
|
||||
//
|
||||
/**
|
||||
This notification function is invoked when an instance of the
|
||||
EFI_UNICODE_COLLATION_PROTOCOL is produced. It installs another instance of the
|
||||
EFI_UNICODE_COLLATION_PROTOCOL2 on the same handle.
|
||||
|
||||
@param Event The event that occured
|
||||
@param Context Context of event. Not used in this nofication function.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
UcNotificationEvent (
|
||||
|
@ -237,23 +245,23 @@ UcNotificationEvent (
|
|||
Status = gBS->HandleProtocol (
|
||||
Handle,
|
||||
&gEfiUnicodeCollationProtocolGuid,
|
||||
(VOID **)&Private->UC
|
||||
(VOID **)&Private->Uc
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
// Fill in rest of private data structure
|
||||
//
|
||||
Private->UC2.SupportedLanguages = ConvertLanguagesIso639ToRfc4646 (Private->UC->SupportedLanguages);
|
||||
if (Private->UC2.SupportedLanguages != NULL) {
|
||||
Private->Uc2.SupportedLanguages = ConvertLanguagesIso639ToRfc4646 (Private->Uc->SupportedLanguages);
|
||||
if (Private->Uc2.SupportedLanguages != NULL) {
|
||||
|
||||
//
|
||||
// Install Firmware Volume Protocol onto same handle
|
||||
// Install UC2 Protocol onto same handle
|
||||
//
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&Handle,
|
||||
&gEfiUnicodeCollation2ProtocolGuid,
|
||||
&Private->UC2,
|
||||
&Private->Uc2,
|
||||
NULL
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
@ -317,7 +325,7 @@ StriColl (
|
|||
|
||||
Private = UC2_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
return Private->UC->StriColl (Private->UC, Str1, Str2);
|
||||
return Private->Uc->StriColl (Private->Uc, Str1, Str2);
|
||||
}
|
||||
|
||||
|
||||
|
@ -340,7 +348,7 @@ StrLwr (
|
|||
|
||||
Private = UC2_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
Private->UC->StrLwr (Private->UC, Str);
|
||||
Private->Uc->StrLwr (Private->Uc, Str);
|
||||
}
|
||||
|
||||
|
||||
|
@ -363,7 +371,7 @@ StrUpr (
|
|||
|
||||
Private = UC2_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
Private->UC->StrUpr (Private->UC, Str);
|
||||
Private->Uc->StrUpr (Private->Uc, Str);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -390,7 +398,7 @@ MetaiMatch (
|
|||
|
||||
Private = UC2_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
return Private->UC->MetaiMatch (Private->UC, String, Pattern);
|
||||
return Private->Uc->MetaiMatch (Private->Uc, String, Pattern);
|
||||
}
|
||||
|
||||
|
||||
|
@ -419,7 +427,7 @@ FatToStr (
|
|||
|
||||
Private = UC2_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
Private->UC->FatToStr (Private->UC, FatSize, Fat, String);
|
||||
Private->Uc->FatToStr (Private->Uc, FatSize, Fat, String);
|
||||
}
|
||||
|
||||
|
||||
|
@ -451,6 +459,6 @@ StrToFat (
|
|||
|
||||
Private = UC2_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
return Private->UC->StrToFat (Private->UC, String, FatSize, Fat);
|
||||
return Private->Uc->StrToFat (Private->Uc, String, FatSize, Fat);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ these two conditions are true:
|
|||
1) EFI 1.10 module consuming UC present
|
||||
2) And the rest of modules on the platform produce UC2
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -153,11 +153,11 @@ StrToFat (
|
|||
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL UC;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL *UC2;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL Uc;
|
||||
EFI_UNICODE_COLLATION_PROTOCOL *Uc2;
|
||||
} UC_PRIVATE_DATA;
|
||||
|
||||
#define UC_PRIVATE_DATA_FROM_THIS(a) CR (a, UC_PRIVATE_DATA, UC, UC_PRIVATE_DATA_SIGNATURE)
|
||||
#define UC_PRIVATE_DATA_FROM_THIS(a) CR (a, UC_PRIVATE_DATA, Uc, UC_PRIVATE_DATA_SIGNATURE)
|
||||
|
||||
//
|
||||
// Firmware Volume Protocol template
|
||||
|
@ -181,7 +181,15 @@ UC_PRIVATE_DATA gUCPrivateDataTemplate = {
|
|||
//
|
||||
// Module globals
|
||||
//
|
||||
/**
|
||||
This notification function is invoked when an instance of the
|
||||
EFI_UNICODE_COLLATION_PROTOCOL2 is produced. It installs another instance of the
|
||||
EFI_UNICODE_COLLATION_PROTOCOL on the same handle.
|
||||
|
||||
@param Event The event that occured
|
||||
@param Context Context of event. Not used in this nofication function.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
Uc2NotificationEvent (
|
||||
|
@ -237,16 +245,16 @@ Uc2NotificationEvent (
|
|||
Status = gBS->HandleProtocol (
|
||||
Handle,
|
||||
&gEfiUnicodeCollation2ProtocolGuid,
|
||||
(VOID **)&Private->UC2
|
||||
(VOID **)&Private->Uc2
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
// Fill in rest of private data structure
|
||||
//
|
||||
Private->UC.SupportedLanguages = ConvertLanguagesRfc4646ToIso639 (Private->UC2->SupportedLanguages);
|
||||
Private->Uc.SupportedLanguages = ConvertLanguagesRfc4646ToIso639 (Private->Uc2->SupportedLanguages);
|
||||
|
||||
if (Private->UC.SupportedLanguages != NULL) {
|
||||
if (Private->Uc.SupportedLanguages != NULL) {
|
||||
|
||||
//
|
||||
// Install Firmware Volume Protocol onto same handle
|
||||
|
@ -254,7 +262,7 @@ Uc2NotificationEvent (
|
|||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&Handle,
|
||||
&gEfiUnicodeCollationProtocolGuid,
|
||||
&Private->UC,
|
||||
&Private->Uc,
|
||||
NULL
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
@ -318,7 +326,7 @@ StriColl (
|
|||
|
||||
Private = UC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
return Private->UC2->StriColl (Private->UC2, Str1, Str2);
|
||||
return Private->Uc2->StriColl (Private->Uc2, Str1, Str2);
|
||||
}
|
||||
|
||||
|
||||
|
@ -341,7 +349,7 @@ StrLwr (
|
|||
|
||||
Private = UC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
Private->UC2->StrLwr (Private->UC2, Str);
|
||||
Private->Uc2->StrLwr (Private->Uc2, Str);
|
||||
}
|
||||
|
||||
|
||||
|
@ -364,7 +372,7 @@ StrUpr (
|
|||
|
||||
Private = UC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
Private->UC2->StrUpr (Private->UC2, Str);
|
||||
Private->Uc2->StrUpr (Private->Uc2, Str);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -391,7 +399,7 @@ MetaiMatch (
|
|||
|
||||
Private = UC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
return Private->UC2->MetaiMatch (Private->UC2, String, Pattern);
|
||||
return Private->Uc2->MetaiMatch (Private->Uc2, String, Pattern);
|
||||
}
|
||||
|
||||
|
||||
|
@ -420,7 +428,7 @@ FatToStr (
|
|||
|
||||
Private = UC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
Private->UC2->FatToStr (Private->UC2, FatSize, Fat, String);
|
||||
Private->Uc2->FatToStr (Private->Uc2, FatSize, Fat, String);
|
||||
}
|
||||
|
||||
|
||||
|
@ -452,6 +460,6 @@ StrToFat (
|
|||
|
||||
Private = UC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
return Private->UC2->StrToFat (Private->UC2, String, FatSize, Fat);
|
||||
return Private->Uc2->StrToFat (Private->Uc2, String, FatSize, Fat);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue