mirror of https://github.com/acidanthera/audk.git
Remove BaseMemoryTest PPI and related producers and consumers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7560 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ea1ac7a0f7
commit
d73be1d1b1
|
@ -1,65 +0,0 @@
|
||||||
/** @file
|
|
||||||
This file defines Pei memory test PPI used to perform memory test in PEI phase.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
#ifndef __BASE_MEMORY_TEST_H__
|
|
||||||
#define __BASE_MEMORY_TEST_H__
|
|
||||||
|
|
||||||
#define PEI_BASE_MEMORY_TEST_GUID \
|
|
||||||
{ 0xb6ec423c, 0x21d2, 0x490d, {0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74 } }
|
|
||||||
|
|
||||||
typedef struct _PEI_BASE_MEMORY_TEST_PPI PEI_BASE_MEMORY_TEST_PPI;
|
|
||||||
|
|
||||||
///
|
|
||||||
/// Pei Memory test operations
|
|
||||||
/// Ignore op not test memory, Quick and Sparse op test memory quickly, Extensive op test memory detailedly.
|
|
||||||
///
|
|
||||||
typedef enum {
|
|
||||||
Ignore,
|
|
||||||
Quick,
|
|
||||||
Sparse,
|
|
||||||
Extensive
|
|
||||||
} PEI_MEMORY_TEST_OP;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Test a range memory space that is ready to read and write.
|
|
||||||
If the memory is not ready, the error memory address will be returned.
|
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
|
||||||
@param This Pointer to Pei memory test PPI instance.
|
|
||||||
@param BeginAddress Beginning of the memory address to be checked.
|
|
||||||
@param MemoryLength Bytes of memory range to be checked.
|
|
||||||
@param Operation Type of memory check operation to be performed.
|
|
||||||
@param ErrorAddress Address of memory where the error is checked.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Memory range pass basic read and write test.
|
|
||||||
@retval EFI_DEVICE_ERROR Memory is not ready to access.
|
|
||||||
**/
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *PEI_BASE_MEMORY_TEST)(
|
|
||||||
IN EFI_PEI_SERVICES **PeiServices,
|
|
||||||
IN PEI_BASE_MEMORY_TEST_PPI * This,
|
|
||||||
IN EFI_PHYSICAL_ADDRESS BeginAddress,
|
|
||||||
IN UINT64 MemoryLength,
|
|
||||||
IN PEI_MEMORY_TEST_OP Operation,
|
|
||||||
OUT EFI_PHYSICAL_ADDRESS * ErrorAddress
|
|
||||||
);
|
|
||||||
|
|
||||||
struct _PEI_BASE_MEMORY_TEST_PPI {
|
|
||||||
PEI_BASE_MEMORY_TEST BaseMemoryTest;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern EFI_GUID gPeiBaseMemoryTestPpiGuid;
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -273,11 +273,6 @@
|
||||||
## Include/Protocol/HotPlugDevice.h
|
## Include/Protocol/HotPlugDevice.h
|
||||||
gEfiHotPlugDeviceGuid = { 0x220AC432, 0x1D43, 0x49E5, { 0xA7, 0x4F, 0x4C, 0x9D, 0xA6, 0x7A, 0xD2, 0x3B }}
|
gEfiHotPlugDeviceGuid = { 0x220AC432, 0x1D43, 0x49E5, { 0xA7, 0x4F, 0x4C, 0x9D, 0xA6, 0x7A, 0xD2, 0x3B }}
|
||||||
|
|
||||||
[Ppis.common]
|
|
||||||
## Pei memory test PPI used to Perform memory test in PEI phase.
|
|
||||||
## Include/Ppi/BaseMemoryTest.h
|
|
||||||
gPeiBaseMemoryTestPpiGuid = { 0xB6EC423C, 0x21D2, 0x490D, { 0x85, 0xC6, 0xDD, 0x58, 0x64, 0xEA, 0xA6, 0x74 }}
|
|
||||||
|
|
||||||
[PcdsFeatureFlag.common]
|
[PcdsFeatureFlag.common]
|
||||||
## Indicate whether platform can support update capsule across a system reset
|
## Indicate whether platform can support update capsule across a system reset
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d
|
||||||
|
|
|
@ -315,7 +315,6 @@
|
||||||
MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
|
MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
|
||||||
MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
|
MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
|
||||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
|
||||||
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||||
MdeModulePkg/Universal/Metronome/Metronome.inf
|
MdeModulePkg/Universal/Metronome/Metronome.inf
|
||||||
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
||||||
|
|
|
@ -1,143 +0,0 @@
|
||||||
/** @file
|
|
||||||
Support of memory test in PEI Phase.
|
|
||||||
|
|
||||||
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 "BaseMemoryTest.h"
|
|
||||||
|
|
||||||
PEI_BASE_MEMORY_TEST_PPI mPeiBaseMemoryTestPpi = {
|
|
||||||
BaseMemoryTest
|
|
||||||
};
|
|
||||||
|
|
||||||
EFI_PEI_PPI_DESCRIPTOR PpiListPeiBaseMemoryTest = {
|
|
||||||
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
|
||||||
&gPeiBaseMemoryTestPpiGuid,
|
|
||||||
&mPeiBaseMemoryTestPpi
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
Entry point of BaseMemoryTestPei PEIM.
|
|
||||||
|
|
||||||
This function is the entry point of BaseMemoryTestPei PEIM.
|
|
||||||
It installs the PEI_BASE_MEMORY_TEST_PPI.
|
|
||||||
|
|
||||||
@param FileHandle Handle of the file being invoked.
|
|
||||||
@param PeiServices Describes the list of possible PEI Services.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS PEI_BASE_MEMORY_TEST_PPI is successfully installed.
|
|
||||||
@retval Others PEI_BASE_MEMORY_TEST_PPI is not successfully installed.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
PeiBaseMemoryTestInit (
|
|
||||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return PeiServicesInstallPpi (&PpiListPeiBaseMemoryTest);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Test base memory.
|
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
|
||||||
@param This Pointer to this PPI instance.
|
|
||||||
@param BeginAddress Beginning of the memory address to be checked.
|
|
||||||
@param MemoryLength Bytes of memory range to be checked.
|
|
||||||
@param Operation Type of memory check operation to be performed.
|
|
||||||
@param ErrorAddress Pointer to address of the error memory returned.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Memory test passed.
|
|
||||||
@retval EFI_DEVICE_ERROR Memory test failed.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
BaseMemoryTest (
|
|
||||||
IN EFI_PEI_SERVICES **PeiServices,
|
|
||||||
IN PEI_BASE_MEMORY_TEST_PPI *This,
|
|
||||||
IN EFI_PHYSICAL_ADDRESS BeginAddress,
|
|
||||||
IN UINT64 MemoryLength,
|
|
||||||
IN PEI_MEMORY_TEST_OP Operation,
|
|
||||||
OUT EFI_PHYSICAL_ADDRESS *ErrorAddress
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UINT32 TestPattern;
|
|
||||||
EFI_PHYSICAL_ADDRESS TempAddress;
|
|
||||||
UINT32 SpanSize;
|
|
||||||
|
|
||||||
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdStatusCodeValueMemoryTestStarted));
|
|
||||||
|
|
||||||
TestPattern = TEST_PATTERN;
|
|
||||||
SpanSize = 0;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Make sure we don't try and test anything above the max physical address range
|
|
||||||
//
|
|
||||||
ASSERT (BeginAddress + MemoryLength < MAX_ADDRESS);
|
|
||||||
|
|
||||||
switch (Operation) {
|
|
||||||
case Extensive:
|
|
||||||
//
|
|
||||||
// Extensive means full and detailed check,
|
|
||||||
// so use small span size to cover the entire test range.
|
|
||||||
//
|
|
||||||
SpanSize = 0x4;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Sparse:
|
|
||||||
case Quick:
|
|
||||||
//
|
|
||||||
// Sparse and Quick indicates quick test,
|
|
||||||
// so use large span size for sample test.
|
|
||||||
//
|
|
||||||
SpanSize = COVER_SPAN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Ignore:
|
|
||||||
//
|
|
||||||
// Ignore means no test.
|
|
||||||
//
|
|
||||||
goto Done;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// Write the test pattern into memory range
|
|
||||||
//
|
|
||||||
TempAddress = BeginAddress;
|
|
||||||
while (TempAddress < BeginAddress + MemoryLength) {
|
|
||||||
(*(UINT32 *) (UINTN) TempAddress) = TestPattern;
|
|
||||||
TempAddress += SpanSize;
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// Read pattern from memory and compare it
|
|
||||||
//
|
|
||||||
TempAddress = BeginAddress;
|
|
||||||
while (TempAddress < BeginAddress + MemoryLength) {
|
|
||||||
if ((*(UINT32 *) (UINTN) TempAddress) != TestPattern) {
|
|
||||||
//
|
|
||||||
// Value read back does not equal to the value written, so error is detected.
|
|
||||||
//
|
|
||||||
*ErrorAddress = TempAddress;
|
|
||||||
REPORT_STATUS_CODE (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED, PcdGet32 (PcdStatusCodeValueUncorrectableMemoryError));
|
|
||||||
|
|
||||||
return EFI_DEVICE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
TempAddress += SpanSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
Done:
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
/** @file
|
|
||||||
Internal include file for support of memory test in PEI Phase.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
#ifndef _PEI_BASE_MEMORY_TEST_H_
|
|
||||||
#define _PEI_BASE_MEMORY_TEST_H_
|
|
||||||
|
|
||||||
#include <PiPei.h>
|
|
||||||
#include <Ppi/BaseMemoryTest.h>
|
|
||||||
#include <Library/DebugLib.h>
|
|
||||||
#include <Library/PeimEntryPoint.h>
|
|
||||||
#include <Library/ReportStatusCodeLib.h>
|
|
||||||
#include <Library/PcdLib.h>
|
|
||||||
#include <Library/PeiServicesLib.h>
|
|
||||||
|
|
||||||
#define COVER_SPAN 0x40000
|
|
||||||
#define TEST_PATTERN 0x5A5A5A5A
|
|
||||||
|
|
||||||
/**
|
|
||||||
Test base memory.
|
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
|
||||||
@param This Pointer to this PPI instance.
|
|
||||||
@param BeginAddress Beginning of the memory address to be checked.
|
|
||||||
@param MemoryLength Bytes of memory range to be checked.
|
|
||||||
@param Operation Type of memory check operation to be performed.
|
|
||||||
@param ErrorAddress Pointer to address of the error memory returned.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Memory test passed.
|
|
||||||
@retval EFI_DEVICE_ERROR Memory test failed.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
BaseMemoryTest (
|
|
||||||
IN EFI_PEI_SERVICES **PeiServices,
|
|
||||||
IN PEI_BASE_MEMORY_TEST_PPI *This,
|
|
||||||
IN EFI_PHYSICAL_ADDRESS BeginAddress,
|
|
||||||
IN UINT64 MemoryLength,
|
|
||||||
IN PEI_MEMORY_TEST_OP Operation,
|
|
||||||
OUT EFI_PHYSICAL_ADDRESS *ErrorAddress
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,49 +0,0 @@
|
||||||
#/** @file
|
|
||||||
# This PEIM provides Base Memory Test PPI for memory test in PEI Phase.
|
|
||||||
#
|
|
||||||
# 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 = BaseMemoryTestPei
|
|
||||||
FILE_GUID = 736EB068-8C01-47c5-964B-1C57BD5D4D64
|
|
||||||
MODULE_TYPE = PEIM
|
|
||||||
VERSION_STRING = 1.0
|
|
||||||
ENTRY_POINT = PeiBaseMemoryTestInit
|
|
||||||
|
|
||||||
#
|
|
||||||
# The following information is for reference only and not required by the build tools.
|
|
||||||
#
|
|
||||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only)
|
|
||||||
#
|
|
||||||
|
|
||||||
[Sources.common]
|
|
||||||
BaseMemoryTest.c
|
|
||||||
BaseMemoryTest.h
|
|
||||||
|
|
||||||
[Packages]
|
|
||||||
MdePkg/MdePkg.dec
|
|
||||||
MdeModulePkg/MdeModulePkg.dec
|
|
||||||
|
|
||||||
[LibraryClasses]
|
|
||||||
ReportStatusCodeLib
|
|
||||||
PeimEntryPoint
|
|
||||||
DebugLib
|
|
||||||
PeiServicesLib
|
|
||||||
|
|
||||||
[Ppis]
|
|
||||||
gPeiBaseMemoryTestPpiGuid ## PRODUCES
|
|
||||||
|
|
||||||
[FixedPcd.common]
|
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMemoryTestStarted
|
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueUncorrectableMemoryError
|
|
||||||
|
|
|
@ -404,7 +404,6 @@
|
||||||
IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
||||||
Nt32Pkg/BootModePei/BootModePei.inf
|
Nt32Pkg/BootModePei/BootModePei.inf
|
||||||
Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
||||||
MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
|
||||||
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
||||||
Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
||||||
Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
||||||
|
|
|
@ -161,7 +161,6 @@ INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||||
INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
||||||
INF Nt32Pkg/BootModePei/BootModePei.inf
|
INF Nt32Pkg/BootModePei/BootModePei.inf
|
||||||
INF Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
INF Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
||||||
INF MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
|
||||||
INF Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
INF Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
||||||
INF Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
INF Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
||||||
INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
||||||
|
|
|
@ -27,7 +27,6 @@ Revision History
|
||||||
//
|
//
|
||||||
// The protocols, PPI and GUID defintions for this module
|
// The protocols, PPI and GUID defintions for this module
|
||||||
//
|
//
|
||||||
#include <Ppi/BaseMemoryTest.h>
|
|
||||||
#include <Ppi/NtAutoscan.h>
|
#include <Ppi/NtAutoscan.h>
|
||||||
//
|
//
|
||||||
// The Library classes this module consumes
|
// The Library classes this module consumes
|
||||||
|
@ -62,8 +61,6 @@ Returns:
|
||||||
PEI_NT_AUTOSCAN_PPI *PeiNtService;
|
PEI_NT_AUTOSCAN_PPI *PeiNtService;
|
||||||
UINT64 MemorySize;
|
UINT64 MemorySize;
|
||||||
EFI_PHYSICAL_ADDRESS MemoryBase;
|
EFI_PHYSICAL_ADDRESS MemoryBase;
|
||||||
PEI_BASE_MEMORY_TEST_PPI *MemoryTestPpi;
|
|
||||||
EFI_PHYSICAL_ADDRESS ErrorAddress;
|
|
||||||
UINTN Index;
|
UINTN Index;
|
||||||
EFI_RESOURCE_ATTRIBUTE_TYPE Attributes;
|
EFI_RESOURCE_ATTRIBUTE_TYPE Attributes;
|
||||||
|
|
||||||
|
@ -81,17 +78,6 @@ Returns:
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
//
|
|
||||||
// Get the Memory Test PPI
|
|
||||||
//
|
|
||||||
Status = PeiServicesLocatePpi (
|
|
||||||
&gPeiBaseMemoryTestPpiGuid,
|
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
(VOID**)&MemoryTestPpi
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
Index = 0;
|
Index = 0;
|
||||||
do {
|
do {
|
||||||
Status = PeiNtService->NtAutoScan (Index, &MemoryBase, &MemorySize);
|
Status = PeiNtService->NtAutoScan (Index, &MemoryBase, &MemorySize);
|
||||||
|
@ -108,20 +94,7 @@ Returns:
|
||||||
|
|
||||||
if (Index == 0) {
|
if (Index == 0) {
|
||||||
//
|
//
|
||||||
// For the first area register it as PEI tested memory
|
// Register the memory with the PEI Core
|
||||||
//
|
|
||||||
Status = MemoryTestPpi->BaseMemoryTest (
|
|
||||||
(EFI_PEI_SERVICES **) PeiServices,
|
|
||||||
MemoryTestPpi,
|
|
||||||
MemoryBase,
|
|
||||||
MemorySize,
|
|
||||||
Quick,
|
|
||||||
&ErrorAddress
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Register the "tested" memory with the PEI Core
|
|
||||||
//
|
//
|
||||||
Status = PeiServicesInstallPeiMemory (MemoryBase, MemorySize);
|
Status = PeiServicesInstallPeiMemory (MemoryBase, MemorySize);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
|
@ -47,8 +47,7 @@
|
||||||
PeiServicesLib
|
PeiServicesLib
|
||||||
|
|
||||||
[Ppis]
|
[Ppis]
|
||||||
gPeiBaseMemoryTestPpiGuid # PPI ALWAYS_CONSUMED
|
|
||||||
gPeiNtAutoScanPpiGuid # PPI ALWAYS_CONSUMED
|
gPeiNtAutoScanPpiGuid # PPI ALWAYS_CONSUMED
|
||||||
|
|
||||||
[depex]
|
[depex]
|
||||||
gPeiNtAutoScanPpiGuid AND gEfiPeiMasterBootModePpiGuid AND gPeiBaseMemoryTestPpiGuid
|
gPeiNtAutoScanPpiGuid AND gEfiPeiMasterBootModePpiGuid
|
||||||
|
|
|
@ -21,7 +21,6 @@ Revision History
|
||||||
|
|
||||||
#include "PiPei.h"
|
#include "PiPei.h"
|
||||||
#include <Ppi/UnixAutoScan.h>
|
#include <Ppi/UnixAutoScan.h>
|
||||||
#include <Ppi/BaseMemoryTest.h>
|
|
||||||
#include <Ppi/MemoryDiscovered.h>
|
#include <Ppi/MemoryDiscovered.h>
|
||||||
|
|
||||||
#include <Library/DebugLib.h>
|
#include <Library/DebugLib.h>
|
||||||
|
@ -57,8 +56,6 @@ Returns:
|
||||||
PEI_UNIX_AUTOSCAN_PPI *PeiUnixService;
|
PEI_UNIX_AUTOSCAN_PPI *PeiUnixService;
|
||||||
UINT64 MemorySize;
|
UINT64 MemorySize;
|
||||||
EFI_PHYSICAL_ADDRESS MemoryBase;
|
EFI_PHYSICAL_ADDRESS MemoryBase;
|
||||||
PEI_BASE_MEMORY_TEST_PPI *MemoryTestPpi;
|
|
||||||
EFI_PHYSICAL_ADDRESS ErrorAddress;
|
|
||||||
UINTN Index;
|
UINTN Index;
|
||||||
EFI_RESOURCE_ATTRIBUTE_TYPE Attributes;
|
EFI_RESOURCE_ATTRIBUTE_TYPE Attributes;
|
||||||
|
|
||||||
|
@ -76,17 +73,6 @@ Returns:
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
//
|
|
||||||
// Get the Memory Test PPI
|
|
||||||
//
|
|
||||||
Status = PeiServicesLocatePpi (
|
|
||||||
&gPeiBaseMemoryTestPpiGuid,
|
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
(VOID**)&MemoryTestPpi
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
Index = 0;
|
Index = 0;
|
||||||
do {
|
do {
|
||||||
Status = PeiUnixService->UnixAutoScan (Index, &MemoryBase, &MemorySize);
|
Status = PeiUnixService->UnixAutoScan (Index, &MemoryBase, &MemorySize);
|
||||||
|
@ -103,20 +89,7 @@ Returns:
|
||||||
|
|
||||||
if (Index == 0) {
|
if (Index == 0) {
|
||||||
//
|
//
|
||||||
// For the first area register it as PEI tested memory
|
// Register the memory with the PEI Core
|
||||||
//
|
|
||||||
Status = MemoryTestPpi->BaseMemoryTest (
|
|
||||||
(EFI_PEI_SERVICES **) PeiServices,
|
|
||||||
MemoryTestPpi,
|
|
||||||
MemoryBase,
|
|
||||||
MemorySize,
|
|
||||||
Quick,
|
|
||||||
&ErrorAddress
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Register the "tested" memory with the PEI Core
|
|
||||||
//
|
//
|
||||||
Status = PeiServicesInstallPeiMemory (MemoryBase, MemorySize);
|
Status = PeiServicesInstallPeiMemory (MemoryBase, MemorySize);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
|
@ -51,10 +51,9 @@
|
||||||
|
|
||||||
[Ppis]
|
[Ppis]
|
||||||
gEfiPeiMemoryDiscoveredPpiGuid # PPI ALWAYS_PRODUCED
|
gEfiPeiMemoryDiscoveredPpiGuid # PPI ALWAYS_PRODUCED
|
||||||
gPeiBaseMemoryTestPpiGuid # PPI ALWAYS_CONSUMED
|
|
||||||
gPeiUnixAutoScanPpiGuid # PPI ALWAYS_CONSUMED
|
gPeiUnixAutoScanPpiGuid # PPI ALWAYS_CONSUMED
|
||||||
|
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
gPeiUnixAutoScanPpiGuid AND gEfiPeiMasterBootModePpiGuid AND gPeiBaseMemoryTestPpiGuid
|
gPeiUnixAutoScanPpiGuid AND gEfiPeiMasterBootModePpiGuid
|
||||||
|
|
||||||
|
|
|
@ -424,7 +424,6 @@
|
||||||
IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
||||||
UnixPkg/BootModePei/BootModePei.inf
|
UnixPkg/BootModePei/BootModePei.inf
|
||||||
UnixPkg/UnixFlashMapPei/FlashMap.inf
|
UnixPkg/UnixFlashMapPei/FlashMap.inf
|
||||||
MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
|
||||||
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
||||||
UnixPkg/UnixAutoScanPei/UnixAutoScan.inf
|
UnixPkg/UnixAutoScanPei/UnixAutoScan.inf
|
||||||
UnixPkg/UnixFirmwareVolumePei/UnixFwh.inf
|
UnixPkg/UnixFirmwareVolumePei/UnixFwh.inf
|
||||||
|
|
|
@ -161,7 +161,6 @@ INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||||
INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
||||||
INF UnixPkg/BootModePei/BootModePei.inf
|
INF UnixPkg/BootModePei/BootModePei.inf
|
||||||
INF UnixPkg/UnixFlashMapPei/FlashMap.inf
|
INF UnixPkg/UnixFlashMapPei/FlashMap.inf
|
||||||
INF MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
|
||||||
INF UnixPkg/UnixAutoScanPei/UnixAutoScan.inf
|
INF UnixPkg/UnixAutoScanPei/UnixAutoScan.inf
|
||||||
INF UnixPkg/UnixFirmwareVolumePei/UnixFwh.inf
|
INF UnixPkg/UnixFirmwareVolumePei/UnixFwh.inf
|
||||||
INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
||||||
|
|
Loading…
Reference in New Issue