summaryrefslogtreecommitdiff
path: root/Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c
diff options
context:
space:
mode:
Diffstat (limited to 'Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c')
-rw-r--r--Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c b/Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c
index 7c7a98e2b9..6715d9073b 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PlatformBootManagerLib/PlatformBootManager.c
@@ -23,6 +23,7 @@
#include <Protocol/ExitPmAuth.h>
#include <Protocol/UsbIo.h>
#include <Protocol/VariableLock.h>
+#include <Protocol/GenericMemoryTest.h>
#include <Library/IoLib.h>
#include <Library/PciLib.h>
#include <Library/TcgPhysicalPresenceLib.h>
@@ -1000,11 +1001,31 @@ PlatformBootManagerAfterConsole (
VOID
)
{
- EFI_BOOT_MODE LocalBootMode;
+ EFI_STATUS Status;
+ EFI_BOOT_MODE LocalBootMode;
+ BOOLEAN RequireSoftECCInit;
+ EFI_GENERIC_MEMORY_TEST_PROTOCOL *GenMemoryTest;
DEBUG ((EFI_D_INFO, "PlatformBootManagerAfterConsole\n"));
//
+ // Run memory test code at this point.
+ //
+ Status = gBS->LocateProtocol (
+ &gEfiGenericMemTestProtocolGuid,
+ NULL,
+ (VOID **) &GenMemoryTest
+ );
+
+ if (!EFI_ERROR (Status)) {
+ Status = GenMemoryTest->MemoryTestInit (
+ GenMemoryTest,
+ IGNORE,
+ &RequireSoftECCInit
+ );
+ }
+
+ //
// Get current Boot Mode.
//
LocalBootMode = mBootMode;