ProcessCapsule() and BdsMemoryTest() are implemented in the BdsDxe module, which will be invoked at PlatformBds library.

It is not proper for a library implementation to assume the names of function in a parent module.
Instead, they must be designed as the pointers to these two BdsDxe functions and passed in.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8930 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
eric_tian 2009-07-13 12:06:51 +00:00
parent a798a78906
commit f51c8a9de3
1 changed files with 25 additions and 28 deletions

View File

@ -235,7 +235,8 @@ Returns:
VOID VOID
PlatformBdsDiagnostics ( PlatformBdsDiagnostics (
IN EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel, IN EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel,
IN BOOLEAN QuietBoot IN BOOLEAN QuietBoot,
IN BASEM_MEMORY_TEST BaseMemoryTest
) )
/*++ /*++
@ -250,6 +251,8 @@ Arguments:
QuietBoot - Indicate if need to enable the quiet boot QuietBoot - Indicate if need to enable the quiet boot
BaseMemoryTest - A pointer to BdsMemoryTest()
Returns: Returns:
None. None.
@ -269,7 +272,7 @@ Returns:
// //
// Perform system diagnostic // Perform system diagnostic
// //
Status = BdsMemoryTest (MemoryTestLevel); Status = BaseMemoryTest (MemoryTestLevel);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
DisableQuietBoot (); DisableQuietBoot ();
} }
@ -279,34 +282,28 @@ Returns:
// //
// Perform system diagnostic // Perform system diagnostic
// //
Status = BdsMemoryTest (MemoryTestLevel); Status = BaseMemoryTest (MemoryTestLevel);
} }
VOID /**
EFIAPI
PlatformBdsPolicyBehavior (
IN OUT LIST_ENTRY *DriverOptionList,
IN OUT LIST_ENTRY *BootOptionList
)
/*++
Routine Description:
The function will excute with as the platform policy, current policy The function will excute with as the platform policy, current policy
is driven by boot mode. IBV/OEM can customize this code for their specific is driven by boot mode. IBV/OEM can customize this code for their specific
policy action. policy action.
Arguments: @param DriverOptionList The header of the driver option link list
@param BootOptionList The header of the boot option link list
@param ProcessCapsules A pointer to ProcessCapsules()
@param BaseMemoryTest A pointer to BaseMemoryTest()
DriverOptionList - The header of the driver option link list **/
VOID
BootOptionList - The header of the boot option link list EFIAPI
PlatformBdsPolicyBehavior (
Returns: IN OUT LIST_ENTRY *DriverOptionList,
IN OUT LIST_ENTRY *BootOptionList,
None. IN PROCESS_CAPSULES ProcessCapsules,
IN BASEM_MEMORY_TEST BaseMemoryTest
--*/ )
{ {
EFI_STATUS Status; EFI_STATUS Status;
UINT16 Timeout; UINT16 Timeout;
@ -340,7 +337,7 @@ Returns:
// console directly. // console directly.
// //
BdsLibConnectAllDefaultConsoles (); BdsLibConnectAllDefaultConsoles ();
PlatformBdsDiagnostics ((EXTENDMEM_COVERAGE_LEVEL)IGNORE, TRUE); PlatformBdsDiagnostics ((EXTENDMEM_COVERAGE_LEVEL)IGNORE, TRUE, BaseMemoryTest);
// //
// Perform some platform specific connect sequence // Perform some platform specific connect sequence
@ -364,7 +361,7 @@ Returns:
// Boot with the specific configuration // Boot with the specific configuration
// //
PlatformBdsConnectConsole (gPlatformConsole); PlatformBdsConnectConsole (gPlatformConsole);
PlatformBdsDiagnostics (EXTENSIVE, FALSE); PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest);
BdsLibConnectAll (); BdsLibConnectAll ();
ProcessCapsules (BOOT_ON_FLASH_UPDATE); ProcessCapsules (BOOT_ON_FLASH_UPDATE);
break; break;
@ -375,7 +372,7 @@ Returns:
// and show up the front page // and show up the front page
// //
PlatformBdsConnectConsole (gPlatformConsole); PlatformBdsConnectConsole (gPlatformConsole);
PlatformBdsDiagnostics (EXTENSIVE, FALSE); PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest);
// //
// In recovery boot mode, we still enter to the // In recovery boot mode, we still enter to the
@ -399,7 +396,7 @@ Returns:
PlatformBdsNoConsoleAction (); PlatformBdsNoConsoleAction ();
} }
PlatformBdsDiagnostics ((EXTENDMEM_COVERAGE_LEVEL)IGNORE, TRUE); PlatformBdsDiagnostics ((EXTENDMEM_COVERAGE_LEVEL)IGNORE, TRUE, BaseMemoryTest);
// //
// Perform some platform specific connect sequence // Perform some platform specific connect sequence