Retire Extended HII library class.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8011 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -32,7 +32,6 @@
|
|||||||
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
||||||
GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
|
GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
|
||||||
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
||||||
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
||||||
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
||||||
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
||||||
|
@ -19,6 +19,31 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
|
|
||||||
BOOLEAN mHiiPackageListUpdated = FALSE;
|
BOOLEAN mHiiPackageListUpdated = FALSE;
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mUefiHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {2A1F1827-03E2-4b2f-83DE-89B6073A0182}
|
||||||
|
//
|
||||||
|
{ 0x2a1f1827, 0x3e2, 0x4b2f, { 0x83, 0xde, 0x89, 0xb6, 0x7, 0x3a, 0x1, 0x82 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
CONFIG_ACCESS_PRIVATE gConfigAccessPrivateTempate = {
|
CONFIG_ACCESS_PRIVATE gConfigAccessPrivateTempate = {
|
||||||
CONFIG_ACCESS_PRIVATE_SIGNATURE,
|
CONFIG_ACCESS_PRIVATE_SIGNATURE,
|
||||||
{
|
{
|
||||||
@ -198,9 +223,6 @@ InstallDefaultConfigAccessProtocol (
|
|||||||
|
|
||||||
ASSERT (ThunkContext->IfrPackageCount != 0);
|
ASSERT (ThunkContext->IfrPackageCount != 0);
|
||||||
|
|
||||||
Status = HiiLibCreateHiiDriverHandle (&ThunkContext->UefiHiiDriverHandle);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
ConfigAccessInstance = AllocateCopyPool (
|
ConfigAccessInstance = AllocateCopyPool (
|
||||||
sizeof (CONFIG_ACCESS_PRIVATE),
|
sizeof (CONFIG_ACCESS_PRIVATE),
|
||||||
&gConfigAccessPrivateTempate
|
&gConfigAccessPrivateTempate
|
||||||
@ -209,6 +231,8 @@ InstallDefaultConfigAccessProtocol (
|
|||||||
|
|
||||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
&ThunkContext->UefiHiiDriverHandle,
|
&ThunkContext->UefiHiiDriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mUefiHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
&ConfigAccessInstance->ConfigAccessProtocol,
|
&ConfigAccessInstance->ConfigAccessProtocol,
|
||||||
NULL
|
NULL
|
||||||
@ -237,8 +261,6 @@ UninstallDefaultConfigAccessProtocol (
|
|||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
|
EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
|
||||||
|
|
||||||
HiiLibDestroyHiiDriverHandle (ThunkContext->UefiHiiDriverHandle);
|
|
||||||
|
|
||||||
Status = gBS->HandleProtocol (
|
Status = gBS->HandleProtocol (
|
||||||
ThunkContext->UefiHiiDriverHandle,
|
ThunkContext->UefiHiiDriverHandle,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
@ -246,10 +268,13 @@ UninstallDefaultConfigAccessProtocol (
|
|||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
Status = gBS->UninstallProtocolInterface (
|
Status = gBS->UninstallMultipleProtocolInterfaces (
|
||||||
ThunkContext->UefiHiiDriverHandle,
|
ThunkContext->UefiHiiDriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mUefiHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
ConfigAccess
|
ConfigAccess,
|
||||||
|
NULL
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
@ -76,7 +76,6 @@
|
|||||||
DebugLib
|
DebugLib
|
||||||
BaseLib
|
BaseLib
|
||||||
HiiLib
|
HiiLib
|
||||||
ExtendedHiiLib
|
|
||||||
IfrSupportLib
|
IfrSupportLib
|
||||||
ExtendedIfrSupportLib
|
ExtendedIfrSupportLib
|
||||||
PrintLib
|
PrintLib
|
||||||
|
@ -45,7 +45,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#include <Library/UefiBootServicesTableLib.h>
|
#include <Library/UefiBootServicesTableLib.h>
|
||||||
#include <Library/UefiRuntimeServicesTableLib.h>
|
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
#include <Library/DevicePathLib.h>
|
||||||
#include <Library/UefiLib.h>
|
#include <Library/UefiLib.h>
|
||||||
|
|
||||||
#include <Library/IfrSupportLib.h>
|
#include <Library/IfrSupportLib.h>
|
||||||
@ -185,7 +185,17 @@ typedef struct {
|
|||||||
UINT16 VarStoreId;
|
UINT16 VarStoreId;
|
||||||
} BUFFER_STORAGE_ENTRY;
|
} BUFFER_STORAGE_ENTRY;
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
///
|
||||||
|
/// HII specific Vendor Device Path definition.
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL End;
|
||||||
|
} HII_VENDOR_DEVICE_PATH;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
#define CONFIG_ACCESS_PRIVATE_SIGNATURE SIGNATURE_32 ('H', 'T', 'c', 'a')
|
#define CONFIG_ACCESS_PRIVATE_SIGNATURE SIGNATURE_32 ('H', 'T', 'c', 'a')
|
||||||
#define CONFIG_ACCESS_PRIVATE_FROM_PROTOCOL(Record) CR(Record, CONFIG_ACCESS_PRIVATE, ConfigAccessProtocol, CONFIG_ACCESS_PRIVATE_SIGNATURE)
|
#define CONFIG_ACCESS_PRIVATE_FROM_PROTOCOL(Record) CR(Record, CONFIG_ACCESS_PRIVATE, ConfigAccessProtocol, CONFIG_ACCESS_PRIVATE_SIGNATURE)
|
||||||
|
@ -46,7 +46,6 @@ define GCC_MACRO = -DEFI_SPECIFICATION_VERSION=0x00020000 -DPI_S
|
|||||||
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
||||||
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
||||||
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
||||||
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
|
IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
|
||||||
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
||||||
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
||||||
|
@ -63,7 +63,6 @@
|
|||||||
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
||||||
GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
|
GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
|
||||||
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
||||||
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
PlatformBdsLib|IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
|
PlatformBdsLib|IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
|
||||||
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
||||||
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
||||||
|
@ -60,7 +60,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
#include <Library/CapsuleLib.h>
|
#include <Library/CapsuleLib.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
#include <Library/DevicePathLib.h>
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
|
|
||||||
#include <Library/GenericBdsLib.h>
|
#include <Library/GenericBdsLib.h>
|
||||||
@ -73,6 +73,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \
|
EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
///
|
||||||
|
/// HII specific Vendor Device Path definition.
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL End;
|
||||||
|
} HII_VENDOR_DEVICE_PATH;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
Show progress bar with title above it. It only works in Graphics mode.
|
Show progress bar with title above it. It only works in Graphics mode.
|
||||||
|
@ -107,7 +107,6 @@
|
|||||||
DebugLib
|
DebugLib
|
||||||
PrintLib
|
PrintLib
|
||||||
HiiLib
|
HiiLib
|
||||||
ExtendedHiiLib
|
|
||||||
UefiDriverEntryPoint
|
UefiDriverEntryPoint
|
||||||
PlatformBdsLib
|
PlatformBdsLib
|
||||||
CapsuleLib
|
CapsuleLib
|
||||||
|
@ -28,6 +28,55 @@ EFI_DEVICE_PATH_PROTOCOL EndDevicePath[] = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mBmmHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {165A028F-0BB2-4b5f-8747-77592E3F6499}
|
||||||
|
//
|
||||||
|
{ 0x165a028f, 0xbb2, 0x4b5f, { 0x87, 0x47, 0x77, 0x59, 0x2e, 0x3f, 0x64, 0x99 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mFeHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {91DB4238-B0C8-472e-BBCF-F3A6541010F4}
|
||||||
|
//
|
||||||
|
{ 0x91db4238, 0xb0c8, 0x472e, { 0xbb, 0xcf, 0xf3, 0xa6, 0x54, 0x10, 0x10, 0xf4 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
EFI_GUID EfiLegacyDevOrderGuid = EFI_LEGACY_DEV_ORDER_VARIABLE_GUID;
|
EFI_GUID EfiLegacyDevOrderGuid = EFI_LEGACY_DEV_ORDER_VARIABLE_GUID;
|
||||||
EFI_GUID mBootMaintGuid = BOOT_MAINT_FORMSET_GUID;
|
EFI_GUID mBootMaintGuid = BOOT_MAINT_FORMSET_GUID;
|
||||||
@ -850,42 +899,30 @@ InitializeBM (
|
|||||||
BmmCallbackInfo->FeDisplayContext = UNKNOWN_CONTEXT;
|
BmmCallbackInfo->FeDisplayContext = UNKNOWN_CONTEXT;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&BmmCallbackInfo->BmmDriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&BmmCallbackInfo->BmmDriverHandle,
|
&BmmCallbackInfo->BmmDriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mBmmHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&BmmCallbackInfo->BmmConfigAccess,
|
||||||
&BmmCallbackInfo->BmmConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&BmmCallbackInfo->FeDriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&BmmCallbackInfo->FeDriverHandle,
|
&BmmCallbackInfo->FeDriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mFeHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&BmmCallbackInfo->FeConfigAccess,
|
||||||
&BmmCallbackInfo->FeConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return Status;
|
return Status;
|
||||||
|
@ -19,6 +19,31 @@ EFI_GUID mBootManagerGuid = BOOT_MANAGER_FORMSET_GUID;
|
|||||||
LIST_ENTRY *mBootOptionsList;
|
LIST_ENTRY *mBootOptionsList;
|
||||||
BDS_COMMON_OPTION *gOption;
|
BDS_COMMON_OPTION *gOption;
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mBootManagerHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {1DDDBE15-481D-4d2b-8277-B191EAF66525}
|
||||||
|
//
|
||||||
|
{ 0x1dddbe15, 0x481d, 0x4d2b, { 0x82, 0x77, 0xb1, 0x91, 0xea, 0xf6, 0x65, 0x25 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
BOOT_MANAGER_CALLBACK_DATA gBootManagerPrivate = {
|
BOOT_MANAGER_CALLBACK_DATA gBootManagerPrivate = {
|
||||||
BOOT_MANAGER_CALLBACK_DATA_SIGNATURE,
|
BOOT_MANAGER_CALLBACK_DATA_SIGNATURE,
|
||||||
NULL,
|
NULL,
|
||||||
@ -104,7 +129,7 @@ BootManagerCallback (
|
|||||||
Registers HII packages for the Boot Manger to HII Database.
|
Registers HII packages for the Boot Manger to HII Database.
|
||||||
It also registers the browser call back function.
|
It also registers the browser call back function.
|
||||||
|
|
||||||
@return Status of HiiLibCreateHiiDriverHandle() and gHiiDatabase->NewPackageList()
|
@return Status of gBS->InstallMultipleProtocolInterfaces() and gHiiDatabase->NewPackageList()
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
@ -116,21 +141,15 @@ InitializeBootManager (
|
|||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&gBootManagerPrivate.DriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&gBootManagerPrivate.DriverHandle,
|
&gBootManagerPrivate.DriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mBootManagerHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&gBootManagerPrivate.ConfigAccess,
|
||||||
&gBootManagerPrivate.ConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ BootManagerCallback (
|
|||||||
Registers HII packages for the Boot Manger to HII Database.
|
Registers HII packages for the Boot Manger to HII Database.
|
||||||
It also registers the browser call back function.
|
It also registers the browser call back function.
|
||||||
|
|
||||||
@return Status of HiiLibCreateHiiDriverHandle() and gHiiDatabase->NewPackageList()
|
@return Status of gBS->InstallMultipleProtocolInterfaces() and gHiiDatabase->NewPackageList()
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
InitializeBootManager (
|
InitializeBootManager (
|
||||||
|
@ -36,6 +36,31 @@ DEVICE_MANAGER_MENU_ITEM mDeviceManagerMenuItemTable[] = {
|
|||||||
{ STRING_TOKEN (STR_OTHER_DEVICE), EFI_OTHER_DEVICE_CLASS }
|
{ STRING_TOKEN (STR_OTHER_DEVICE), EFI_OTHER_DEVICE_CLASS }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mDeviceManagerHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {102579A0-3686-466e-ACD8-80C087044F4A}
|
||||||
|
//
|
||||||
|
{ 0x102579a0, 0x3686, 0x466e, { 0xac, 0xd8, 0x80, 0xc0, 0x87, 0x4, 0x4f, 0x4a } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
#define MENU_ITEM_NUM \
|
#define MENU_ITEM_NUM \
|
||||||
(sizeof (mDeviceManagerMenuItemTable) / sizeof (DEVICE_MANAGER_MENU_ITEM))
|
(sizeof (mDeviceManagerMenuItemTable) / sizeof (DEVICE_MANAGER_MENU_ITEM))
|
||||||
|
|
||||||
@ -100,21 +125,15 @@ InitializeDeviceManager (
|
|||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&gDeviceManagerPrivate.DriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&gDeviceManagerPrivate.DriverHandle,
|
&gDeviceManagerPrivate.DriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mDeviceManagerHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&gDeviceManagerPrivate.ConfigAccess,
|
||||||
&gDeviceManagerPrivate.ConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
@ -37,6 +37,31 @@ FRONT_PAGE_CALLBACK_DATA gFrontPagePrivate = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mFrontPageHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {8E6D99EE-7531-48f8-8745-7F6144468FF2}
|
||||||
|
//
|
||||||
|
{ 0x8e6d99ee, 0x7531, 0x48f8, { 0x87, 0x45, 0x7f, 0x61, 0x44, 0x46, 0x8f, 0xf2 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function allows a caller to extract the current configuration for one
|
This function allows a caller to extract the current configuration for one
|
||||||
or more named elements from the target driver.
|
or more named elements from the target driver.
|
||||||
@ -324,21 +349,15 @@ InitializeFrontPage (
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&gFrontPagePrivate.DriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&gFrontPagePrivate.DriverHandle,
|
&gFrontPagePrivate.DriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mFrontPageHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&gFrontPagePrivate.ConfigAccess,
|
||||||
&gFrontPagePrivate.ConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
@ -259,23 +259,13 @@ ExportFonts (
|
|||||||
VOID
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
|
||||||
EFI_HANDLE DriverHandle;
|
|
||||||
EFI_HII_HANDLE HiiHandle;
|
EFI_HII_HANDLE HiiHandle;
|
||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
|
|
||||||
//
|
|
||||||
// Create driver handle used by HII database
|
|
||||||
//
|
|
||||||
Status = HiiLibCreateHiiDriverHandle (&DriverHandle);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
|
|
||||||
PackageList = HiiLibPreparePackageList (1, &mFontPackageGuid, &mFontBin);
|
PackageList = HiiLibPreparePackageList (1, &mFontPackageGuid, &mFontBin);
|
||||||
ASSERT (PackageList != NULL);
|
ASSERT (PackageList != NULL);
|
||||||
|
|
||||||
gHiiDatabase->NewPackageList (gHiiDatabase, PackageList, DriverHandle, &HiiHandle);
|
gHiiDatabase->NewPackageList (gHiiDatabase, PackageList, mBdsImageHandle, &HiiHandle);
|
||||||
FreePool (PackageList);
|
FreePool (PackageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,6 @@ InitializeStringSupport (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_HANDLE DriverHandle;
|
|
||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
|
|
||||||
Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID **) &gHiiDatabase);
|
Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID **) &gHiiDatabase);
|
||||||
@ -42,21 +41,13 @@ InitializeStringSupport (
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Create driver handle used by HII database
|
|
||||||
//
|
|
||||||
Status = HiiLibCreateHiiDriverHandle (&DriverHandle);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
PackageList = HiiLibPreparePackageList (1, &mBdsStringPackGuid, &BdsDxeStrings);
|
PackageList = HiiLibPreparePackageList (1, &mBdsStringPackGuid, &BdsDxeStrings);
|
||||||
ASSERT (PackageList != NULL);
|
ASSERT (PackageList != NULL);
|
||||||
|
|
||||||
Status = gHiiDatabase->NewPackageList (
|
Status = gHiiDatabase->NewPackageList (
|
||||||
gHiiDatabase,
|
gHiiDatabase,
|
||||||
PackageList,
|
PackageList,
|
||||||
DriverHandle,
|
mBdsImageHandle,
|
||||||
&gStringPackHandle
|
&gStringPackHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#include <Protocol/DevicePathToText.h>
|
#include <Protocol/DevicePathToText.h>
|
||||||
#include <Protocol/DevicePath.h>
|
#include <Protocol/DevicePath.h>
|
||||||
|
|
||||||
|
#include <Library/DevicePathLib.h>
|
||||||
#include <Library/BaseLib.h>
|
#include <Library/BaseLib.h>
|
||||||
#include <Library/DebugLib.h>
|
#include <Library/DebugLib.h>
|
||||||
#include <Library/UefiLib.h>
|
#include <Library/UefiLib.h>
|
||||||
@ -47,7 +48,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#include <Library/PlatformDriverOverrideLib.h>
|
#include <Library/PlatformDriverOverrideLib.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/IfrSupportLib.h>
|
#include <Library/IfrSupportLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
|
||||||
#include <Library/ExtendedIfrSupportLib.h>
|
#include <Library/ExtendedIfrSupportLib.h>
|
||||||
#include <Library/BaseMemoryLib.h>
|
#include <Library/BaseMemoryLib.h>
|
||||||
#include <Library/MemoryAllocationLib.h>
|
#include <Library/MemoryAllocationLib.h>
|
||||||
@ -66,6 +66,18 @@ typedef struct {
|
|||||||
EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
|
EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
|
||||||
} EFI_CALLBACK_INFO;
|
} EFI_CALLBACK_INFO;
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
///
|
||||||
|
/// HII specific Vendor Device Path definition.
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL End;
|
||||||
|
} HII_VENDOR_DEVICE_PATH;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
//
|
//
|
||||||
// uni string and Vfr Binary data.
|
// uni string and Vfr Binary data.
|
||||||
//
|
//
|
||||||
@ -92,6 +104,31 @@ UINTN mSelectedDriverImageNum;
|
|||||||
UINTN mLastSavedDriverImageNum;
|
UINTN mLastSavedDriverImageNum;
|
||||||
UINT16 mCurrentPage;
|
UINT16 mCurrentPage;
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {99936717-BF3D-4b04-9787-76CEE324D76F}
|
||||||
|
//
|
||||||
|
{ 0x99936717, 0xbf3d, 0x4b04, { 0x97, 0x87, 0x76, 0xce, 0xe3, 0x24, 0xd7, 0x6f } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Converting a given device to an unicode string.
|
Converting a given device to an unicode string.
|
||||||
|
|
||||||
@ -1276,8 +1313,7 @@ PlatOverMngrInit (
|
|||||||
EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
|
EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
|
||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
EFI_CALLBACK_INFO *CallbackInfo;
|
EFI_CALLBACK_INFO *CallbackInfo;
|
||||||
EFI_HANDLE DriverHandle;
|
EFI_FORM_BROWSER2_PROTOCOL *FormBrowser2;
|
||||||
EFI_FORM_BROWSER2_PROTOCOL *FormBrowser2;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// There should only be one HII protocol
|
// There should only be one HII protocol
|
||||||
@ -1314,22 +1350,15 @@ PlatOverMngrInit (
|
|||||||
CallbackInfo->ConfigAccess.Callback = PlatOverMngrCallback;
|
CallbackInfo->ConfigAccess.Callback = PlatOverMngrCallback;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&DriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
&CallbackInfo->DriverHandle,
|
||||||
goto Finish;
|
&gEfiDevicePathProtocolGuid,
|
||||||
}
|
&mHiiVendorDevicePath,
|
||||||
CallbackInfo->DriverHandle = DriverHandle;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&DriverHandle,
|
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&CallbackInfo->ConfigAccess,
|
||||||
&CallbackInfo->ConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
goto Finish;
|
goto Finish;
|
||||||
@ -1349,7 +1378,7 @@ PlatOverMngrInit (
|
|||||||
Status = HiiDatabase->NewPackageList (
|
Status = HiiDatabase->NewPackageList (
|
||||||
HiiDatabase,
|
HiiDatabase,
|
||||||
PackageList,
|
PackageList,
|
||||||
DriverHandle,
|
CallbackInfo->DriverHandle,
|
||||||
&CallbackInfo->RegisteredHandle
|
&CallbackInfo->RegisteredHandle
|
||||||
);
|
);
|
||||||
FreePool (PackageList);
|
FreePool (PackageList);
|
||||||
@ -1405,7 +1434,14 @@ PlatOverMngrInit (
|
|||||||
|
|
||||||
Finish:
|
Finish:
|
||||||
if (CallbackInfo->DriverHandle != NULL) {
|
if (CallbackInfo->DriverHandle != NULL) {
|
||||||
HiiLibDestroyHiiDriverHandle (CallbackInfo->DriverHandle);
|
gBS->UninstallMultipleProtocolInterfaces (
|
||||||
|
CallbackInfo->DriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mHiiVendorDevicePath,
|
||||||
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
|
&CallbackInfo->ConfigAccess,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (CallbackInfo != NULL) {
|
if (CallbackInfo != NULL) {
|
||||||
FreePool (CallbackInfo);
|
FreePool (CallbackInfo);
|
||||||
|
@ -58,7 +58,6 @@
|
|||||||
PlatformDriverOverrideLib
|
PlatformDriverOverrideLib
|
||||||
HiiLib
|
HiiLib
|
||||||
IfrSupportLib
|
IfrSupportLib
|
||||||
ExtendedHiiLib
|
|
||||||
ExtendedIfrSupportLib
|
ExtendedIfrSupportLib
|
||||||
BaseMemoryLib
|
BaseMemoryLib
|
||||||
MemoryAllocationLib
|
MemoryAllocationLib
|
||||||
@ -85,4 +84,4 @@
|
|||||||
gEfiFormBrowser2ProtocolGuid ## CONSUMED
|
gEfiFormBrowser2ProtocolGuid ## CONSUMED
|
||||||
gEfiHiiConfigRoutingProtocolGuid ## CONSUMED
|
gEfiHiiConfigRoutingProtocolGuid ## CONSUMED
|
||||||
gEfiHiiConfigAccessProtocolGuid ## PRODUCED
|
gEfiHiiConfigAccessProtocolGuid ## PRODUCED
|
||||||
gEfiDevicePathToTextProtocolGuid ## CONSUMED
|
gEfiDevicePathToTextProtocolGuid ## CONSUMED
|
||||||
|
@ -25,26 +25,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#define BROWSER_STATE_VALIDATE_PASSWORD 0
|
#define BROWSER_STATE_VALIDATE_PASSWORD 0
|
||||||
#define BROWSER_STATE_SET_PASSWORD 1
|
#define BROWSER_STATE_SET_PASSWORD 1
|
||||||
|
|
||||||
|
|
||||||
///
|
|
||||||
/// HII specific Vendor Device Path Node definition.
|
|
||||||
///
|
|
||||||
#pragma pack(1)
|
|
||||||
typedef struct {
|
|
||||||
VENDOR_DEVICE_PATH VendorDevicePath;
|
|
||||||
UINT32 Reserved;
|
|
||||||
UINT64 UniqueId;
|
|
||||||
} HII_VENDOR_DEVICE_PATH_NODE;
|
|
||||||
#pragma pack()
|
|
||||||
|
|
||||||
///
|
|
||||||
/// HII specific Vendor Device Path definition.
|
|
||||||
///
|
|
||||||
typedef struct {
|
|
||||||
HII_VENDOR_DEVICE_PATH_NODE Node;
|
|
||||||
EFI_DEVICE_PATH_PROTOCOL End;
|
|
||||||
} HII_VENDOR_DEVICE_PATH;
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// GUIDed opcodes defined for EDKII implementation
|
/// GUIDed opcodes defined for EDKII implementation
|
||||||
///
|
///
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
/** @file
|
|
||||||
This library includes two extended HII functions to
|
|
||||||
create and destory Hii Package by create the virtual Driver Handle.
|
|
||||||
|
|
||||||
Copyright (c) 2008, Intel Corporation. <BR>
|
|
||||||
All rights reserved. This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
#ifndef __EXTENDED_HII_LIB_H__
|
|
||||||
#define __EXTENDED_HII_LIB_H__
|
|
||||||
|
|
||||||
/**
|
|
||||||
The HII driver handle passed in for HiiDatabase.NewPackageList() requires
|
|
||||||
that there should be DevicePath Protocol installed on it.
|
|
||||||
This routine create a virtual Driver Handle by installing a vendor device
|
|
||||||
path on it, so as to use it to invoke HiiDatabase.NewPackageList().
|
|
||||||
The Device Path created is a Vendor Device Path specific to Intel's implemenation
|
|
||||||
and it is defined as HII_VENDOR_DEVICE_PATH_NODE.
|
|
||||||
|
|
||||||
|
|
||||||
@param DriverHandle Handle to be returned
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Handle destroy success.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Not enough memory.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibCreateHiiDriverHandle (
|
|
||||||
OUT EFI_HANDLE *DriverHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Destroy the Driver Handle created by CreateHiiDriverHandle().
|
|
||||||
|
|
||||||
If no Device Path protocol is installed on the DriverHandle, then ASSERT.
|
|
||||||
If this Device Path protocol is failed to be uninstalled, then ASSERT.
|
|
||||||
|
|
||||||
@param DriverHandle Handle returned by CreateHiiDriverHandle()
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
HiiLibDestroyHiiDriverHandle (
|
|
||||||
IN EFI_HANDLE DriverHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,145 +0,0 @@
|
|||||||
/** @file
|
|
||||||
Library instance for ExtendedHiiLib.
|
|
||||||
|
|
||||||
This library instance implements the common HII routines which is
|
|
||||||
related to HII but reference data structures that are not defined in
|
|
||||||
UEFI specification, for example HII_VENDOR_DEVICE_PATH.
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
|
||||||
All rights reserved. This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
|
|
||||||
#include <Uefi.h>
|
|
||||||
#include <Protocol/DevicePath.h>
|
|
||||||
#include <Library/DebugLib.h>
|
|
||||||
#include <Library/MemoryAllocationLib.h>
|
|
||||||
#include <Library/UefiBootServicesTableLib.h>
|
|
||||||
#include <Library/DevicePathLib.h>
|
|
||||||
#include <Guid/MdeModuleHii.h>
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Hii vendor device path template
|
|
||||||
//
|
|
||||||
GLOBAL_REMOVE_IF_UNREFERENCED CONST HII_VENDOR_DEVICE_PATH mHiiVendorDevicePathTemplate = {
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
HARDWARE_DEVICE_PATH,
|
|
||||||
HW_VENDOR_DP,
|
|
||||||
{
|
|
||||||
(UINT8) (sizeof (HII_VENDOR_DEVICE_PATH_NODE)),
|
|
||||||
(UINT8) ((sizeof (HII_VENDOR_DEVICE_PATH_NODE)) >> 8)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
EFI_IFR_TIANO_GUID
|
|
||||||
},
|
|
||||||
0,
|
|
||||||
0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
END_DEVICE_PATH_TYPE,
|
|
||||||
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
|
||||||
{
|
|
||||||
END_DEVICE_PATH_LENGTH
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
The HII driver handle passed in for HiiDatabase.NewPackageList() requires
|
|
||||||
that there should be DevicePath Protocol installed on it.
|
|
||||||
This routine create a virtual Driver Handle by installing a vendor device
|
|
||||||
path on it, so as to use it to invoke HiiDatabase.NewPackageList().
|
|
||||||
The Device Path created is a Vendor Device Path specific to Intel's implemenation
|
|
||||||
and it is defined as HII_VENDOR_DEVICE_PATH_NODE.
|
|
||||||
|
|
||||||
|
|
||||||
@param DriverHandle Handle to be returned
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Handle destroy success.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Not enough memory.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibCreateHiiDriverHandle (
|
|
||||||
OUT EFI_HANDLE *DriverHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
HII_VENDOR_DEVICE_PATH_NODE *VendorDevicePath;
|
|
||||||
|
|
||||||
VendorDevicePath = AllocateCopyPool (sizeof (HII_VENDOR_DEVICE_PATH), &mHiiVendorDevicePathTemplate);
|
|
||||||
if (VendorDevicePath == NULL) {
|
|
||||||
return EFI_OUT_OF_RESOURCES;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Use memory address as unique ID to distinguish from different device paths
|
|
||||||
//
|
|
||||||
VendorDevicePath->UniqueId = (UINT64) ((UINTN) VendorDevicePath);
|
|
||||||
|
|
||||||
*DriverHandle = NULL;
|
|
||||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
|
||||||
DriverHandle,
|
|
||||||
&gEfiDevicePathProtocolGuid,
|
|
||||||
VendorDevicePath,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Destroy the Driver Handle created by CreateHiiDriverHandle().
|
|
||||||
|
|
||||||
If no Device Path protocol is installed on the DriverHandle, then ASSERT.
|
|
||||||
If this Device Path protocol is failed to be uninstalled, then ASSERT.
|
|
||||||
|
|
||||||
@param DriverHandle Handle returned by CreateHiiDriverHandle()
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
HiiLibDestroyHiiDriverHandle (
|
|
||||||
IN EFI_HANDLE DriverHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
|
||||||
|
|
||||||
Status = gBS->HandleProtocol (
|
|
||||||
DriverHandle,
|
|
||||||
&gEfiDevicePathProtocolGuid,
|
|
||||||
(VOID **) &DevicePath
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
Status = gBS->UninstallProtocolInterface (
|
|
||||||
DriverHandle,
|
|
||||||
&gEfiDevicePathProtocolGuid,
|
|
||||||
DevicePath
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
FreePool (DevicePath);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
#/** @file
|
|
||||||
#
|
|
||||||
# Library instance for ExtendedHiiLib.
|
|
||||||
#
|
|
||||||
# This library instance implements the common HII routines which is
|
|
||||||
# related to HII but reference data structures that are not defined in
|
|
||||||
# UEFI specification, for example HII_VENDOR_DEVICE_PATH.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
|
||||||
# All rights reserved. This program and the accompanying materials
|
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
|
||||||
#
|
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
#
|
|
||||||
#**/
|
|
||||||
|
|
||||||
[Defines]
|
|
||||||
INF_VERSION = 0x00010005
|
|
||||||
BASE_NAME = ExtendedHiiLib
|
|
||||||
FILE_GUID = 35961516-ABA1-4636-A4C0-608E62BE8BB0
|
|
||||||
MODULE_TYPE = DXE_DRIVER
|
|
||||||
VERSION_STRING = 1.0
|
|
||||||
LIBRARY_CLASS = ExtendedHiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
|
|
||||||
EFI_SPECIFICATION_VERSION = 0x0002000A
|
|
||||||
|
|
||||||
#
|
|
||||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
|
||||||
#
|
|
||||||
|
|
||||||
[Sources.common]
|
|
||||||
ExtendedHiiLib.c
|
|
||||||
|
|
||||||
|
|
||||||
[Packages]
|
|
||||||
MdePkg/MdePkg.dec
|
|
||||||
MdeModulePkg/MdeModulePkg.dec
|
|
||||||
|
|
||||||
[LibraryClasses]
|
|
||||||
MemoryAllocationLib
|
|
||||||
DebugLib
|
|
||||||
DevicePathLib
|
|
||||||
|
|
||||||
[Protocols]
|
|
||||||
gEfiDevicePathProtocolGuid ## SOMETIMES_PRODUCES
|
|
||||||
|
|
@ -60,11 +60,6 @@
|
|||||||
## @libraryclass Provides a set of interfaces to do IFR opcode creation and interact with a UEFI Form Browser.
|
## @libraryclass Provides a set of interfaces to do IFR opcode creation and interact with a UEFI Form Browser.
|
||||||
IfrSupportLib|Include/Library/IfrSupportLib.h
|
IfrSupportLib|Include/Library/IfrSupportLib.h
|
||||||
|
|
||||||
## @libraryclass Includes two extended HII functions to create and destory Hii Package
|
|
||||||
# by create the virtual Driver Handle.
|
|
||||||
##
|
|
||||||
ExtendedHiiLib|Include/Library/ExtendedHiiLib.h
|
|
||||||
|
|
||||||
## @libraryclass Defines APIs that is related to IFR operations but specific to EDK II
|
## @libraryclass Defines APIs that is related to IFR operations but specific to EDK II
|
||||||
# implementation.
|
# implementation.
|
||||||
##
|
##
|
||||||
|
@ -62,7 +62,6 @@
|
|||||||
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
||||||
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
||||||
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
||||||
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
|
UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
|
||||||
NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
|
NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
|
||||||
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
|
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
|
||||||
@ -276,7 +275,6 @@
|
|||||||
MdeModulePkg/Library/DxePlatDriOverLib/DxePlatDriOverLib.inf
|
MdeModulePkg/Library/DxePlatDriOverLib/DxePlatDriOverLib.inf
|
||||||
MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
|
MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
|
||||||
MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf
|
MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf
|
||||||
MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
|
||||||
MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
||||||
MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
|
MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
|
||||||
|
@ -23,6 +23,56 @@ EFI_GUID mInventoryGuid = INVENTORY_GUID;
|
|||||||
|
|
||||||
CHAR16 VariableName[] = L"MyIfrNVData";
|
CHAR16 VariableName[] = L"MyIfrNVData";
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath1 = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {C153B68D-EBFC-488e-B110-662867745B87}
|
||||||
|
//
|
||||||
|
{ 0xc153b68d, 0xebfc, 0x488e, { 0xb1, 0x10, 0x66, 0x28, 0x67, 0x74, 0x5b, 0x87 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath2 = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {06F37F07-0C48-40e9-8436-0A08A0BB76B0}
|
||||||
|
//
|
||||||
|
{ 0x6f37f07, 0xc48, 0x40e9, { 0x84, 0x36, 0xa, 0x8, 0xa0, 0xbb, 0x76, 0xb0 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Encode the password using a simple algorithm.
|
Encode the password using a simple algorithm.
|
||||||
|
|
||||||
@ -689,7 +739,7 @@ DriverSampleInit (
|
|||||||
EFI_STATUS SavedStatus;
|
EFI_STATUS SavedStatus;
|
||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
EFI_HII_HANDLE HiiHandle[2];
|
EFI_HII_HANDLE HiiHandle[2];
|
||||||
EFI_HANDLE DriverHandle[2];
|
EFI_HANDLE DriverHandle[2] = {NULL, NULL};
|
||||||
DRIVER_SAMPLE_PRIVATE_DATA *PrivateData;
|
DRIVER_SAMPLE_PRIVATE_DATA *PrivateData;
|
||||||
EFI_SCREEN_DESCRIPTOR Screen;
|
EFI_SCREEN_DESCRIPTOR Screen;
|
||||||
EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
|
EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
|
||||||
@ -766,23 +816,18 @@ DriverSampleInit (
|
|||||||
}
|
}
|
||||||
PrivateData->HiiConfigRouting = HiiConfigRouting;
|
PrivateData->HiiConfigRouting = HiiConfigRouting;
|
||||||
|
|
||||||
//
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
// Install Config Access protocol
|
|
||||||
//
|
|
||||||
Status = HiiLibCreateHiiDriverHandle (&DriverHandle[0]);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
PrivateData->DriverHandle[0] = DriverHandle[0];
|
|
||||||
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&DriverHandle[0],
|
&DriverHandle[0],
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mHiiVendorDevicePath1,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&PrivateData->ConfigAccess,
|
||||||
&PrivateData->ConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
PrivateData->DriverHandle[0] = DriverHandle[0];
|
||||||
|
|
||||||
//
|
//
|
||||||
// Publish our HII data
|
// Publish our HII data
|
||||||
//
|
//
|
||||||
@ -811,10 +856,14 @@ DriverSampleInit (
|
|||||||
//
|
//
|
||||||
// Publish another Fromset
|
// Publish another Fromset
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&DriverHandle[1]);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
&DriverHandle[1],
|
||||||
return Status;
|
&gEfiDevicePathProtocolGuid,
|
||||||
}
|
&mHiiVendorDevicePath2,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
PrivateData->DriverHandle[1] = DriverHandle[1];
|
PrivateData->DriverHandle[1] = DriverHandle[1];
|
||||||
|
|
||||||
PackageList = HiiLibPreparePackageList (
|
PackageList = HiiLibPreparePackageList (
|
||||||
|
@ -42,7 +42,7 @@ Revision History
|
|||||||
#include <Library/IfrSupportLib.h>
|
#include <Library/IfrSupportLib.h>
|
||||||
#include <Library/ExtendedIfrSupportLib.h>
|
#include <Library/ExtendedIfrSupportLib.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
#include <Library/DevicePathLib.h>
|
||||||
|
|
||||||
#include "NVDataStruc.h"
|
#include "NVDataStruc.h"
|
||||||
|
|
||||||
@ -97,4 +97,16 @@ typedef struct {
|
|||||||
|
|
||||||
#define DRIVER_SAMPLE_PRIVATE_FROM_THIS(a) CR (a, DRIVER_SAMPLE_PRIVATE_DATA, ConfigAccess, DRIVER_SAMPLE_PRIVATE_SIGNATURE)
|
#define DRIVER_SAMPLE_PRIVATE_FROM_THIS(a) CR (a, DRIVER_SAMPLE_PRIVATE_DATA, ConfigAccess, DRIVER_SAMPLE_PRIVATE_SIGNATURE)
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
///
|
||||||
|
/// HII specific Vendor Device Path definition.
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL End;
|
||||||
|
} HII_VENDOR_DEVICE_PATH;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -53,7 +53,6 @@
|
|||||||
DebugLib
|
DebugLib
|
||||||
HiiLib
|
HiiLib
|
||||||
IfrSupportLib
|
IfrSupportLib
|
||||||
ExtendedHiiLib
|
|
||||||
ExtendedIfrSupportLib
|
ExtendedIfrSupportLib
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
|
@ -24,6 +24,31 @@ LIST_ENTRY mIScsiConfigFormList = {
|
|||||||
&mIScsiConfigFormList
|
&mIScsiConfigFormList
|
||||||
};
|
};
|
||||||
|
|
||||||
|
HII_VENDOR_DEVICE_PATH mIScsiHiiVendorDevicePath = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
HARDWARE_DEVICE_PATH,
|
||||||
|
HW_VENDOR_DP,
|
||||||
|
{
|
||||||
|
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
|
||||||
|
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//
|
||||||
|
// {49D7B73E-143D-4716-977B-C45F1CB038CC}
|
||||||
|
//
|
||||||
|
{ 0x49d7b73e, 0x143d, 0x4716, { 0x97, 0x7b, 0xc4, 0x5f, 0x1c, 0xb0, 0x38, 0xcc } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
END_DEVICE_PATH_TYPE,
|
||||||
|
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||||
|
{
|
||||||
|
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||||
|
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Convert the IPv4 address into a dotted string.
|
Convert the IPv4 address into a dotted string.
|
||||||
|
|
||||||
@ -908,7 +933,7 @@ IScsiConfigFormInit (
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
CallbackInfo = (ISCSI_FORM_CALLBACK_INFO *) AllocatePool (sizeof (ISCSI_FORM_CALLBACK_INFO));
|
CallbackInfo = (ISCSI_FORM_CALLBACK_INFO *) AllocateZeroPool (sizeof (ISCSI_FORM_CALLBACK_INFO));
|
||||||
if (CallbackInfo == NULL) {
|
if (CallbackInfo == NULL) {
|
||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
}
|
}
|
||||||
@ -928,22 +953,15 @@ IScsiConfigFormInit (
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create driver handle used by HII database
|
// Install Device Path Protocol and Config Access protocol to driver handle
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&CallbackInfo->DriverHandle);
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
FreePool(CallbackInfo);
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Install Config Access protocol to driver handle
|
|
||||||
//
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&CallbackInfo->DriverHandle,
|
&CallbackInfo->DriverHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
&mIScsiHiiVendorDevicePath,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
EFI_NATIVE_INTERFACE,
|
&CallbackInfo->ConfigAccess,
|
||||||
&CallbackInfo->ConfigAccess
|
NULL
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
@ -1010,13 +1028,14 @@ IScsiConfigFormUnload (
|
|||||||
//
|
//
|
||||||
// Uninstall EFI_HII_CONFIG_ACCESS_PROTOCOL
|
// Uninstall EFI_HII_CONFIG_ACCESS_PROTOCOL
|
||||||
//
|
//
|
||||||
gBS->UninstallProtocolInterface (
|
gBS->UninstallMultipleProtocolInterfaces (
|
||||||
mCallbackInfo->DriverHandle,
|
mCallbackInfo->DriverHandle,
|
||||||
&gEfiHiiConfigAccessProtocolGuid,
|
&gEfiDevicePathProtocolGuid,
|
||||||
&mCallbackInfo->ConfigAccess
|
&mIScsiHiiVendorDevicePath,
|
||||||
);
|
&gEfiHiiConfigAccessProtocolGuid,
|
||||||
HiiLibDestroyHiiDriverHandle (mCallbackInfo->DriverHandle);
|
&mCallbackInfo->ConfigAccess,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
gBS->FreePool (mCallbackInfo);
|
gBS->FreePool (mCallbackInfo);
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
|
@ -17,7 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
|
|
||||||
#include <Protocol/HiiConfigRouting.h>
|
#include <Protocol/HiiConfigRouting.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
#include <Library/DevicePathLib.h>
|
||||||
#include <Library/IfrSupportLib.h>
|
#include <Library/IfrSupportLib.h>
|
||||||
#include <Library/ExtendedIfrSupportLib.h>
|
#include <Library/ExtendedIfrSupportLib.h>
|
||||||
#include <Library/DebugLib.h>
|
#include <Library/DebugLib.h>
|
||||||
@ -103,6 +103,18 @@ typedef struct _ISCSI_FORM_CALLBACK_INFO {
|
|||||||
ISCSI_CONFIG_FORM_ENTRY *Current;
|
ISCSI_CONFIG_FORM_ENTRY *Current;
|
||||||
} ISCSI_FORM_CALLBACK_INFO;
|
} ISCSI_FORM_CALLBACK_INFO;
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
///
|
||||||
|
/// HII specific Vendor Device Path definition.
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL End;
|
||||||
|
} HII_VENDOR_DEVICE_PATH;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Updates the iSCSI configuration form to add/delete an entry for the iSCSI
|
Updates the iSCSI configuration form to add/delete an entry for the iSCSI
|
||||||
device specified by the Controller.
|
device specified by the Controller.
|
||||||
|
@ -79,7 +79,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
PrintLib
|
PrintLib
|
||||||
HiiLib
|
HiiLib
|
||||||
IfrSupportLib
|
IfrSupportLib
|
||||||
ExtendedHiiLib
|
|
||||||
ExtendedIfrSupportLib
|
ExtendedIfrSupportLib
|
||||||
NetLib
|
NetLib
|
||||||
|
|
||||||
|
@ -525,7 +525,6 @@ InitializeSetup (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_HANDLE HiiDriverHandle;
|
|
||||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -555,15 +554,12 @@ InitializeSetup (
|
|||||||
//
|
//
|
||||||
// Publish our HII data
|
// Publish our HII data
|
||||||
//
|
//
|
||||||
Status = HiiLibCreateHiiDriverHandle (&HiiDriverHandle);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
PackageList = HiiLibPreparePackageList (1, &gSetupBrowserGuid, SetupBrowserStrings);
|
PackageList = HiiLibPreparePackageList (1, &gSetupBrowserGuid, SetupBrowserStrings);
|
||||||
ASSERT (PackageList != NULL);
|
ASSERT (PackageList != NULL);
|
||||||
Status = mHiiDatabase->NewPackageList (
|
Status = mHiiDatabase->NewPackageList (
|
||||||
mHiiDatabase,
|
mHiiDatabase,
|
||||||
PackageList,
|
PackageList,
|
||||||
HiiDriverHandle,
|
ImageHandle,
|
||||||
&gHiiHandle
|
&gHiiHandle
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
@ -42,7 +42,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#include <Library/IfrSupportLib.h>
|
#include <Library/IfrSupportLib.h>
|
||||||
#include <Library/ExtendedIfrSupportLib.h>
|
#include <Library/ExtendedIfrSupportLib.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
|
|
||||||
#include "Colors.h"
|
#include "Colors.h"
|
||||||
|
@ -61,7 +61,6 @@
|
|||||||
PrintLib
|
PrintLib
|
||||||
IfrSupportLib
|
IfrSupportLib
|
||||||
HiiLib
|
HiiLib
|
||||||
ExtendedHiiLib
|
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiIfrTianoGuid ## CONSUMES ## GUID
|
gEfiIfrTianoGuid ## CONSUMES ## GUID
|
||||||
|
@ -65,7 +65,6 @@
|
|||||||
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
||||||
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
|
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
|
||||||
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
||||||
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
S3Lib|MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf
|
S3Lib|MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf
|
||||||
RecoveryLib|MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
|
RecoveryLib|MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
|
||||||
IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
|
IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
|
||||||
|
@ -61,7 +61,6 @@
|
|||||||
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
||||||
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
|
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
|
||||||
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
||||||
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
|
|
||||||
S3Lib|MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf
|
S3Lib|MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf
|
||||||
RecoveryLib|MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
|
RecoveryLib|MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
|
||||||
IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
|
IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
|
||||||
|
Reference in New Issue
Block a user