TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Protocol/GenericMemoryTest.h>
#include <Library/DebugLib.h>
#include <Library/UefiDriverEntryPoint.h>
#include <Library/DxeServicesTableLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/MemoryAllocationLib.h>
Go to the source code of this file.
Macros | |
#define | EFI_MEMORY_PRESENT 0x0100000000000000ULL |
#define | EFI_MEMORY_INITIALIZED 0x0200000000000000ULL |
#define | EFI_MEMORY_TESTED 0x0400000000000000ULL |
Functions | |
EFI_STATUS EFIAPI | InitializeMemoryTest (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN EXTENDMEM_COVERAGE_LEVEL Level, OUT BOOLEAN *RequireSoftECCInit) |
EFI_STATUS EFIAPI | GenPerformMemoryTest (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN OUT UINT64 *TestedMemorySize, OUT UINT64 *TotalMemorySize, OUT BOOLEAN *ErrorOut, IN BOOLEAN TestAbort) |
EFI_STATUS EFIAPI | GenMemoryTestFinished (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This) |
EFI_STATUS EFIAPI | GenCompatibleRangeTest (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS StartAddress, IN UINT64 Length) |
Include file of the NULL memory test driver.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file NullMemoryTest.h.
#define EFI_MEMORY_INITIALIZED 0x0200000000000000ULL |
Definition at line 26 of file NullMemoryTest.h.
#define EFI_MEMORY_PRESENT 0x0100000000000000ULL |
Definition at line 25 of file NullMemoryTest.h.
#define EFI_MEMORY_TESTED 0x0400000000000000ULL |
Definition at line 27 of file NullMemoryTest.h.
EFI_STATUS EFIAPI GenCompatibleRangeTest | ( | IN EFI_GENERIC_MEMORY_TEST_PROTOCOL * | This, |
IN EFI_PHYSICAL_ADDRESS | StartAddress, | ||
IN UINT64 | Length | ||
) |
Provide capability to test compatible range which used by some special driver required using memory range before BDS perform memory test.
This function implements EFI_GENERIC_MEMORY_TEST_PROTOCOL.CompatibleRangeTest. It simply set the memory range to system memory.
This | Protocol instance pointer. |
StartAddress | The start address of the memory range. |
Length | The memory range's length. |
EFI_SUCCESS | The compatible memory range pass the memory test. |
EFI_INVALID_PARAMETER | The compatible memory range must be below 16M. |
Provides the capability to test the compatible range used by some special drivers.
[in] | This | The protocol instance pointer. |
[in] | StartAddress | The start address of the compatible memory range that must be below 16M. |
[in] | Length | The compatible memory range's length. |
EFI_SUCCESS | The compatible memory range pass the memory test. |
EFI_INVALID_PARAMETER | The compatible memory range are not below Low 16M. |
Provide capability to test compatible range which used by some special driver required using memory range before BDS perform memory test.
This function implements EFI_GENERIC_MEMORY_TEST_PROTOCOL.CompatibleRangeTest. It simply sets the memory range to system memory.
This | Protocol instance pointer. |
StartAddress | The start address of the memory range. |
Length | The memory range's length. |
EFI_SUCCESS | The compatible memory range pass the memory test. |
EFI_INVALID_PARAMETER | The compatible memory range must be below 16M. |
Definition at line 727 of file LightMemoryTest.c.
EFI_STATUS EFIAPI GenMemoryTestFinished | ( | IN EFI_GENERIC_MEMORY_TEST_PROTOCOL * | This | ) |
The memory test finished.
This function implements EFI_GENERIC_MEMORY_TEST_PROTOCOL.Finished. It simply returns EFI_SUCCESS.
This | Protocol instance pointer. |
EFI_SUCCESS | Successful free all the generic memory test driver allocated resource and notify to platform memory test driver that memory test finished. |
Finish the memory test.
[in] | This | The protocol instance pointer. |
EFI_SUCCESS | Success. All resources used in the memory test are freed. |
Definition at line 683 of file LightMemoryTest.c.
EFI_STATUS EFIAPI GenPerformMemoryTest | ( | IN EFI_GENERIC_MEMORY_TEST_PROTOCOL * | This, |
IN OUT UINT64 * | TestedMemorySize, | ||
OUT UINT64 * | TotalMemorySize, | ||
OUT BOOLEAN * | ErrorOut, | ||
IN BOOLEAN | TestAbort | ||
) |
Perform the memory test.
This function implements EFI_GENERIC_MEMORY_TEST_PROTOCOL.PerformMemoryTest. It simply returns EFI_NOT_FOUND.
This | Protocol instance pointer. |
TestedMemorySize | Return the tested extended memory size. |
TotalMemorySize | Return the whole system physical memory size, this value may be changed if in some case some error DIMMs be disabled. |
ErrorOut | Any time the memory error occurs, this will be TRUE. |
IfTestAbort | Indicate if the user press "ESC" to skip the memory test. |
EFI_SUCCESS | One block of memory test ok, the block size is hide internally. |
EFI_NOT_FOUND | Indicate all the non-tested memory blocks have already go through. |
EFI_DEVICE_ERROR | Mis-compare error, and no agent can handle it |
Definition at line 177 of file NullMemoryTest.c.
EFI_STATUS EFIAPI InitializeMemoryTest | ( | IN EFI_GENERIC_MEMORY_TEST_PROTOCOL * | This, |
IN EXTENDMEM_COVERAGE_LEVEL | Level, | ||
OUT BOOLEAN * | RequireSoftECCInit | ||
) |
Initialize the generic memory test.
This function implements EFI_GENERIC_MEMORY_TEST_PROTOCOL.MemoryTestInit. It simply promotes untested reserved memory to system memory without real test.
This | Protocol instance pointer. |
Level | The coverage level of the memory test. |
RequireSoftECCInit | Indicate if the memory need software ECC init. |
EFI_SUCCESS | The generic memory test initialized correctly. |
EFI_NO_MEDIA | There is not any non-tested memory found, in this function if not any non-tesed memory found means that the memory test driver have not detect any non-tested extended memory of current system. |
Initialize the generic memory test.
[in] | This | The protocol instance pointer. |
[in] | Level | The coverage level of the memory test. |
[out] | RequireSoftECCInit | Indicate if the memory need software ECC init. |
EFI_SUCCESS | The generic memory test is initialized correctly. |
EFI_NO_MEDIA | The system had no memory to be tested. |
Definition at line 460 of file LightMemoryTest.c.