TianoCore EDK2 master
|
#include "NullMemoryTest.h"
Go to the source code of this file.
Functions | |
EFI_STATUS EFIAPI | GenericMemoryTestEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
EFI_STATUS | ConvertToTestedMemory (IN UINT64 BaseAddress, IN UINT64 Length, IN UINT64 Capabilities) |
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) |
Variables | |
UINT64 | mTestedSystemMemory = 0 |
UINT64 | mTotalSystemMemory = 0 |
EFI_HANDLE | mGenericMemoryTestHandle |
EFI_GENERIC_MEMORY_TEST_PROTOCOL | mGenericMemoryTest |
Implementation of Generic Memory Test Protocol which does not perform real memory test.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file NullMemoryTest.c.
EFI_STATUS ConvertToTestedMemory | ( | IN UINT64 | BaseAddress, |
IN UINT64 | Length, | ||
IN UINT64 | Capabilities | ||
) |
Convert the memory range to tested.
BaseAddress | Base address of the memory range. |
Length | Length of the memory range. |
Capabilities | Capabilities of the memory range. |
EFI_SUCCESS | The memory range is converted to tested. |
others | Error happens. |
Definition at line 65 of file NullMemoryTest.c.
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 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 231 of file NullMemoryTest.c.
EFI_STATUS EFIAPI GenericMemoryTestEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Entry point of the NULL memory test driver.
This function is the entry point of the NULL memory test driver. It simply installs the Generic Memory Test Protocol.
ImageHandle | The firmware allocated handle for the EFI image. |
SystemTable | A pointer to the EFI System Table. |
EFI_SUCCESS | Generic Memory Test Protocol is successfully installed. |
Definition at line 36 of file NullMemoryTest.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. |
Definition at line 207 of file NullMemoryTest.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. |
Definition at line 110 of file NullMemoryTest.c.
EFI_GENERIC_MEMORY_TEST_PROTOCOL mGenericMemoryTest |
Definition at line 15 of file NullMemoryTest.c.
EFI_HANDLE mGenericMemoryTestHandle |
Definition at line 13 of file NullMemoryTest.c.
UINT64 mTestedSystemMemory = 0 |
Definition at line 11 of file NullMemoryTest.c.
UINT64 mTotalSystemMemory = 0 |
Definition at line 12 of file NullMemoryTest.c.