TianoCore EDK2 master
Loading...
Searching...
No Matches
GenericMemoryTest.h File Reference

Go to the source code of this file.

Data Structures

struct  _EFI_GENERIC_MEMORY_TEST_PROTOCOL
 

Macros

#define EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID    { 0x309de7f1, 0x7f5e, 0x4ace, {0xb4, 0x9c, 0x53, 0x1b, 0xe5, 0xaa, 0x95, 0xef} }
 

Typedefs

typedef struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL EFI_GENERIC_MEMORY_TEST_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EFI_MEMORY_TEST_INIT) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN EXTENDMEM_COVERAGE_LEVEL Level, OUT BOOLEAN *RequireSoftECCInit)
 
typedef EFI_STATUS(EFIAPI * EFI_PERFORM_MEMORY_TEST) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, OUT UINT64 *TestedMemorySize, OUT UINT64 *TotalMemorySize, OUT BOOLEAN *ErrorOut, IN BOOLEAN IfTestAbort)
 
typedef EFI_STATUS(EFIAPI * EFI_MEMORY_TEST_FINISHED) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This)
 
typedef EFI_STATUS(EFIAPI * EFI_MEMORY_TEST_COMPATIBLE_RANGE) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS StartAddress, IN UINT64 Length)
 

Enumerations

enum  EXTENDMEM_COVERAGE_LEVEL {
  IGNORE , QUICK , SPARSE , EXTENSIVE ,
  MAXLEVEL
}
 

Variables

EFI_GUID gEfiGenericMemTestProtocolGuid
 

Detailed Description

This protocol defines the generic memory test interfaces in Dxe phase.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file GenericMemoryTest.h.

Macro Definition Documentation

◆ EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID

#define EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID    { 0x309de7f1, 0x7f5e, 0x4ace, {0xb4, 0x9c, 0x53, 0x1b, 0xe5, 0xaa, 0x95, 0xef} }

Definition at line 12 of file GenericMemoryTest.h.

Typedef Documentation

◆ EFI_GENERIC_MEMORY_TEST_PROTOCOL

◆ EFI_MEMORY_TEST_COMPATIBLE_RANGE

typedef EFI_STATUS(EFIAPI * EFI_MEMORY_TEST_COMPATIBLE_RANGE) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS StartAddress, IN UINT64 Length)

Provides the capability to test the compatible range used by some special drivers.

Parameters
ThisThe protocol instance pointer.
StartAddressThe start address of the compatible memory range that must be below 16M.
LengthThe compatible memory range's length.
Return values
EFI_SUCCESSThe compatible memory range pass the memory test.
EFI_INVALID_PARAMETERThe compatible memory range are not below Low 16M.

Definition at line 100 of file GenericMemoryTest.h.

◆ EFI_MEMORY_TEST_FINISHED

typedef EFI_STATUS(EFIAPI * EFI_MEMORY_TEST_FINISHED) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This)

Finish the memory test.

Parameters
ThisThe protocol instance pointer.
Return values
EFI_SUCCESSSuccess. All resources used in the memory test are freed.

Definition at line 82 of file GenericMemoryTest.h.

◆ EFI_MEMORY_TEST_INIT

typedef EFI_STATUS(EFIAPI * EFI_MEMORY_TEST_INIT) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, IN EXTENDMEM_COVERAGE_LEVEL Level, OUT BOOLEAN *RequireSoftECCInit)

Initialize the generic memory test.

Parameters
ThisThe protocol instance pointer.
LevelThe coverage level of the memory test.
RequireSoftECCInitIndicate if the memory need software ECC init.
Return values
EFI_SUCCESSThe generic memory test is initialized correctly.
EFI_NO_MEDIAThe system had no memory to be tested.

Definition at line 41 of file GenericMemoryTest.h.

◆ EFI_PERFORM_MEMORY_TEST

typedef EFI_STATUS(EFIAPI * EFI_PERFORM_MEMORY_TEST) (IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This, OUT UINT64 *TestedMemorySize, OUT UINT64 *TotalMemorySize, OUT BOOLEAN *ErrorOut, IN BOOLEAN IfTestAbort)

Perform the memory test.

Parameters
ThisThe protocol instance pointer.
TestedMemorySizeReturn the tested extended memory size.
TotalMemorySizeReturn the whole system physical memory size. The total memory size does not include memory in a slot with a disabled DIMM.
ErrorOutTRUE if the memory error occurred.
IfTestAbortIndicates that the user pressed "ESC" to skip the memory test.
Return values
EFI_SUCCESSOne block of memory passed the test.
EFI_NOT_FOUNDAll memory blocks have already been tested.
EFI_DEVICE_ERRORMemory device error occurred, and no agent can handle it.

Definition at line 64 of file GenericMemoryTest.h.

Enumeration Type Documentation

◆ EXTENDMEM_COVERAGE_LEVEL

Memory test coverage level. Ignore chooses not to test memory. Quick and Sparse test some memory, and Extensive performs a detailed memory test.

Definition at line 21 of file GenericMemoryTest.h.