From a29645c4c79dcb91fbf74b421b427813f6ffc940 Mon Sep 17 00:00:00 2001 From: xli24 Date: Thu, 2 Jul 2009 07:54:51 +0000 Subject: Remove library class of MemoryTestLib and related library instances. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8722 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/BaseMemoryTestLib/BaseMemoryTestLib.c | 259 --------------------- .../BaseMemoryTestLib/BaseMemoryTestLib.inf | 46 ---- .../BaseMemoryTestLibNull/BaseMemoryTestLibNull.c | 108 --------- .../BaseMemoryTestLibNull.inf | 37 --- 4 files changed, 450 deletions(-) delete mode 100644 MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.c delete mode 100644 MdeModulePkg/Library/BaseMemoryTestLib/BaseMemoryTestLib.inf delete mode 100644 MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.c delete mode 100644 MdeModulePkg/Library/BaseMemoryTestLibNull/BaseMemoryTestLibNull.inf (limited to 'MdeModulePkg/Library') 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.
-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 -#include -#include -#include -#include -#include -#include - - -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.
-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.
-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 -#include - -/** - 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.
-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 -- cgit v1.2.3