]>
git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Library/BaseMemoryTestLib.h
2 Library class to provide APIs for system memory test.
4 Copyright (c) 2009, Intel Corporation.<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef _MEMORY_TEST_LIB_H_
16 #define _MEMORY_TEST_LIB_H_
20 Perform a quick system memory range test.
22 This function performs a quick system memory range test. It leads to quick performance
23 but least reliability.
25 @param StartAddress Start address of the memory range to test.
26 @param Length Length of the memory range to test.
27 @param ErrorAddress Address of the memory where error is encountered.
29 @retval RETURN_SUCCESS The memory range passes test.
30 @retval RETURN_DEVICE_ERROR The memory range does not pass test.
36 IN VOID
*StartAddress
,
38 OUT VOID
**ErrorAddress
42 Test a system memory range with sparsely sampled memory units.
44 This function tests a system memory range, whose memory units
45 are sampled sparsely. It leads to relatively good performance
46 and partial reliability.
48 @param StartAddress Start address of the memory range to test.
49 @param Length Length of the memory range to test.
50 @param ErrorAddress Address of the memory where error is encountered.
52 @retval RETURN_SUCCESS The memory range passes test.
53 @retval RETURN_DEVICE_ERROR The memory range does not pass test.
59 IN VOID
*StartAddress
,
61 OUT VOID
**ErrorAddress
65 Test a system memory range with extensively sampled memory units.
67 This function tests a system memory range, whose memory units
68 are sampled extensively. Compared with SparseMemoryTest, it achieves
69 more reliability and less performance.
71 @param StartAddress Start address of the memory range to test.
72 @param Length Length of the memory range to test.
73 @param ErrorAddress Address of the memory where error is encountered.
75 @retval RETURN_SUCCESS The memory range passes test.
76 @retval RETURN_DEVICE_ERROR The memory range does not pass test.
82 IN VOID
*StartAddress
,
84 OUT VOID
**ErrorAddress
88 Check if soft ECC initialzation is needed for system
90 @retval TRUE Soft ECC initialzation is needed.
91 @retval FALSE Soft ECC initialzation is not needed.
96 IsSoftEccInitRequired (