diff options
-rw-r--r-- | MdeModulePkg/Include/Library/MemoryTestLib.h | 100 | ||||
-rw-r--r-- | MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.c | 259 | ||||
-rw-r--r-- | MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.inf | 46 | ||||
-rw-r--r-- | MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.c | 108 | ||||
-rw-r--r-- | MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf | 37 | ||||
-rw-r--r-- | MdeModulePkg/MdeModulePkg.dec | 4 | ||||
-rw-r--r-- | MdeModulePkg/MdeModulePkg.dsc | 3 |
7 files changed, 0 insertions, 557 deletions
diff --git a/MdeModulePkg/Include/Library/MemoryTestLib.h b/MdeModulePkg/Include/Library/MemoryTestLib.h deleted file mode 100644 index 39d96d7682..0000000000 --- a/MdeModulePkg/Include/Library/MemoryTestLib.h +++ /dev/null @@ -1,100 +0,0 @@ -/** @file
- Library class to provide APIs for system memory test.
-
-Copyright (c) 2009, 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 _MEMORY_TEST_LIB_H_
-#define _MEMORY_TEST_LIB_H_
-
-
-/**
- Perform a quick system memory range test.
-
- This function performs a quick system memory range test. It leads to quick performance
- but least reliability.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passed the test.
- @retval RETURN_DEVICE_ERROR The memory range failed the test.
-
-**/
-RETURN_STATUS
-EFIAPI
-QuickMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- );
-
-/**
- Tests a system memory range with sparsely sampled memory units.
-
- This function tests a system memory range, whose memory units
- are sampled sparsely. It leads to relatively good performance
- and partial reliability.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passed the test.
- @retval RETURN_DEVICE_ERROR The memory range failed the test.
-
-**/
-RETURN_STATUS
-EFIAPI
-SparseMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- );
-
-/**
- Test a system memory range with extensively sampled memory units.
-
- This function tests a system memory range whose memory units
- are sampled extensively. Compared with SparseMemoryTest, it achieves
- more reliability and less performance.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passed the test.
- @retval RETURN_DEVICE_ERROR The memory range failed the test.
-
-**/
-RETURN_STATUS
-EFIAPI
-ExtensiveMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- );
-
-/**
- Check if soft ECC initialzation is needed for system
-
- @retval TRUE Soft ECC initialzation is needed.
- @retval FALSE Soft ECC initialzation is not needed.
-
-**/
-BOOLEAN
-EFIAPI
-IsSoftEccInitRequired (
- VOID
- );
-
-#endif
diff --git a/MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.c b/MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.c deleted file mode 100644 index 878b7558b6..0000000000 --- a/MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.c +++ /dev/null @@ -1,259 +0,0 @@ -/** @file
- Null instance of Memory Test Library.
-
-Copyright (c) 2009, 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 <Base.h>
-#include <Library/MemoryTestLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/CacheMaintenanceLib.h>
-#include <Library/DebugLib.h>
-#include <Library/PcdLib.h>
-#include <Library/ReportStatusCodeLib.h>
-
-
-UINT32 TestPattern[] = {
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5,
- 0x5a5a5a5a,
- 0xa5a5a5a5
-};
-
-/**
- Internal function to compare two memory buffers of a given length.
-
- This is the internal function to compare two memory buffers. We cannot
- use CompareMem() in BaseLib, for that function ASSERT when buffer address
- is zero.
-
- @param DestinationBuffer First memory buffer
- @param SourceBuffer Second memory buffer
- @param Length Length of DestinationBuffer and SourceBuffer memory
- regions to compare.
-
- @return 0 All Length bytes of the two buffers are identical.
- @retval Non-zero The first mismatched byte in SourceBuffer subtracted from the first
- mismatched byte in DestinationBuffer.
-
-**/
-INTN
-CompareMemoryWorker (
- IN CONST VOID *DestinationBuffer,
- IN CONST VOID *SourceBuffer,
- IN UINTN Length
- )
-{
- while ((--Length != 0) &&
- (*(INT8*)DestinationBuffer == *(INT8*)SourceBuffer)) {
- DestinationBuffer = (INT8*)DestinationBuffer + 1;
- SourceBuffer = (INT8*)SourceBuffer + 1;
- }
- return (INTN)*(UINT8*)DestinationBuffer - (INTN)*(UINT8*)SourceBuffer;
-}
-
-/**
- Internal worker function for system memory range test.
-
- This function is the internal worker function for system memory range test.
- It writes test pattern to memory range and then reads back to check if memory
- works well.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-MemoryTestWorker (
- IN VOID *StartAddress,
- IN UINT64 Length,
- IN UINTN SpanSize,
- OUT VOID **ErrorAddress
- )
-{
- VOID *TempAddress;
-
- //
- // Make sure we don't try and test anything above the max physical address range
- //
- ASSERT ((UINTN) StartAddress + Length < MAX_ADDRESS);
-
- REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdStatusCodeValueMemoryTestStarted));
-
- //
- // Write the test pattern into memory range
- //
- TempAddress = StartAddress;
- while ((UINTN) TempAddress < (UINTN) StartAddress + Length) {
- CopyMem (TempAddress, TestPattern, sizeof (TestPattern));
- TempAddress = (VOID *) ((UINTN) TempAddress + SpanSize);
- }
-
- //
- // Write back and invalidate cache to make sure data is in memory
- //
- WriteBackInvalidateDataCacheRange (StartAddress, (UINTN) Length);
-
- //
- // Read pattern from memory and compare it
- //
- TempAddress = StartAddress;
- while ((UINTN) TempAddress < (UINTN) StartAddress + Length) {
- if (CompareMemoryWorker (TempAddress, TestPattern, sizeof (TestPattern)) != 0) {
- //
- // 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 RETURN_DEVICE_ERROR;
- }
-
- TempAddress = (VOID *) ((UINTN) TempAddress + SpanSize);
- }
-
- return RETURN_SUCCESS;
-}
-
-/**
- Perform a quick system memory range test.
-
- This function performs a quick system memory range test. It leads to quick performance
- but least reliability.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-EFIAPI
-QuickMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- )
-{
- RETURN_STATUS Status;
-
- Status = MemoryTestWorker (
- StartAddress,
- Length,
- sizeof (TestPattern) * 0x20000,
- ErrorAddress
- );
-
- return Status;
-}
-
-/**
- Test a system memory range with sparsely sampled memory units.
-
- This function tests a system memory range, whose memory units
- are sampled sparsely. It leads to relatively good performance
- and partial reliability.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-EFIAPI
-SparseMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- )
-{
- RETURN_STATUS Status;
-
- Status = MemoryTestWorker (
- StartAddress,
- Length,
- sizeof (TestPattern) * 0x8000,
- ErrorAddress
- );
-
- return Status;
-}
-
-/**
- Test a system memory range with extensively sampled memory units.
-
- This function tests a system memory range, whose memory units
- are sampled extensively. Compared with SparseMemoryTest, it achieves
- more reliability and less performance.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-EFIAPI
-ExtensiveMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- )
-{
- RETURN_STATUS Status;
-
- Status = MemoryTestWorker (
- StartAddress,
- Length,
- sizeof (TestPattern),
- ErrorAddress
- );
-
- return Status;
-}
-
-/**
- Check if soft ECC initialzation is needed for system
-
- @retval TRUE Soft ECC initialzation is needed.
- @retval FALSE Soft ECC initialzation is not needed.
-
-**/
-BOOLEAN
-EFIAPI
-IsSoftEccInitRequired (
- VOID
- )
-{
- return FALSE;
-}
diff --git a/MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.inf b/MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.inf deleted file mode 100644 index ff6273e394..0000000000 --- a/MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.inf +++ /dev/null @@ -1,46 +0,0 @@ -/** @file
- Instance of Memory Test Library.
-
-Copyright (c) 2009, 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 = BaseMemoryTestLib
- FILE_GUID = 216CAA56-AF75-4BBB-9D74-CC0960E92ECB
- MODULE_TYPE = BASE
- VERSION_STRING = 1.0
- LIBRARY_CLASS = MemoryTestLib
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources.common]
- BaseMemoryTestLib.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
-
-[LibraryClasses]
- MemoryTestLib
- BaseMemoryLib
- CacheMaintenanceLib
- DebugLib
- PcdLib
- ReportStatusCodeLib
-
-[FixedPcd]
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMemoryTestStarted
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueUncorrectableMemoryError
diff --git a/MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.c b/MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.c deleted file mode 100644 index 747fc16f11..0000000000 --- a/MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.c +++ /dev/null @@ -1,108 +0,0 @@ -/** @file
- Null instance of Memory Test Library.
-
-Copyright (c) 2009, 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 <Base.h>
-#include <Library/MemoryTestLib.h>
-
-/**
- Perform a quick system memory range test.
-
- This function performs a quick system memory range test. It leads to quick performance
- but least reliability.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-EFIAPI
-QuickMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- )
-{
- return RETURN_SUCCESS;
-}
-
-/**
- Test a system memory range with sparsely sampled memory units.
-
- This function tests a system memory range, whose memory units
- are sampled sparsely. It leads to relatively good performance
- and partial reliability.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-EFIAPI
-SparseMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- )
-{
- return RETURN_SUCCESS;
-}
-
-/**
- Test a system memory range with extensively sampled memory units.
-
- This function tests a system memory range, whose memory units
- are sampled extensively. Compared with SparseMemoryTest, it achieves
- more reliability and less performance.
-
- @param StartAddress Start address of the memory range to test.
- @param Length Length of the memory range to test.
- @param ErrorAddress Address of the memory where error is encountered.
-
- @retval RETURN_SUCCESS The memory range passes test.
- @retval RETURN_DEVICE_ERROR The memory range does not pass test.
-
-**/
-RETURN_STATUS
-EFIAPI
-ExtensiveMemoryTest (
- IN VOID *StartAddress,
- IN UINT64 Length,
- OUT VOID **ErrorAddress
- )
-{
- return RETURN_SUCCESS;
-}
-
-/**
- Check if soft ECC initialzation is needed for system
-
- @retval TRUE Soft ECC initialzation is needed.
- @retval FALSE Soft ECC initialzation is not needed.
-
-**/
-BOOLEAN
-EFIAPI
-IsSoftEccInitRequired (
- VOID
- )
-{
- return FALSE;
-}
diff --git a/MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf b/MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf deleted file mode 100644 index 3587516daf..0000000000 --- a/MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf +++ /dev/null @@ -1,37 +0,0 @@ -/** @file
- Null instance of Memory Test Library.
-
-Copyright (c) 2009, 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 = BaseMemoryTestLibNull
- FILE_GUID = D519E511-9C1C-47F5-AE01-FD216E779269
- MODULE_TYPE = BASE
- VERSION_STRING = 1.0
- LIBRARY_CLASS = MemoryTestLib
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources.common]
- BaseMemoryTestLibNull.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
-
-[LibraryClasses]
- MemoryTestLib
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 8fdf10d3b5..2460ca4554 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -59,10 +59,6 @@ ## @libraryclass Library for Deferred Procedure Calls.
DpcLib|Include/Library/DpcLib.h
- ## @libraryclass Provides APIs for system memory test.
- ##
- MemoryTestLib|Include/Library/MemoryTestLib.h
-
## @libraryclass Provides global variables that are pointers
## to the UEFI HII related protocols.
##
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 66c4cd0b22..f21b069ba3 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -73,7 +73,6 @@ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
- MemoryTestLib|MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
[LibraryClasses.IA32]
@@ -276,8 +275,6 @@ MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf
MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
- MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf
- MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.inf
MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|