MdeModulePkg/Include/Protocol/GenericMemoryTest.h File Reference


Data Structures

struct  _EFI_GENERIC_MEMORY_TEST_PROTOCOL

Defines

#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 - 2010, 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 that 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.


Define Documentation

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


Typedef Documentation

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:
This The protocol instance pointer.
StartAddress The start address of the compatible memory range that must be below 16M.
Length The compatible memory range's length.
Return values:
EFI_SUCCESS The compatible memory range pass the memory test.
EFI_INVALID_PARAMETER The compatible memory range are not below Low 16M.

Finish the memory test.

Parameters:
This The protocol instance pointer.
Return values:
EFI_SUCCESS Success. All resources used in the memory test are freed.

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:
This The protocol instance pointer.
Level The coverage level of the memory test.
RequireSoftECCInit Indicate if the memory need software ECC init.
Return values:
EFI_SUCCESS The generic memory test is initialized correctly.
EFI_NO_MEDIA The system had no memory to be tested.

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:
This The protocol instance pointer.
TestedMemorySize Return the tested extended memory size.
TotalMemorySize Return the whole system physical memory size. The total memory size does not include memory in a slot with a disabled DIMM.
ErrorOut TRUE if the memory error occured.
IfTestAbort Indicates that the user pressed "ESC" to skip the memory test.
Return values:
EFI_SUCCESS One block of memory passed the test.
EFI_NOT_FOUND All memory blocks have already been tested.
EFI_DEVICE_ERROR Memory device error occured, and no agent can handle it.


Enumeration Type Documentation

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

Enumerator:
IGNORE 
QUICK 
SPARSE 
EXTENSIVE 
MAXLEVEL 


Variable Documentation


Generated on Thu Sep 24 23:30:15 2015 for MdeModulePkg[ALL] by  doxygen 1.5.7.1