summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTest.h
blob: f0245f4cc469ae003000d89a5165bd9d75585571 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/** @file
  Internal include file for support of memory test in PEI Phase.

Copyright (c) 2006 - 2008, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which 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.

**/

#ifndef _PEI_BASE_MEMORY_TEST_H_
#define _PEI_BASE_MEMORY_TEST_H_

#include <PiPei.h>
#include <Ppi/BaseMemoryTest.h>
#include <Library/DebugLib.h>
#include <Library/PeimEntryPoint.h>
#include <Library/ReportStatusCodeLib.h>
#include <Library/PcdLib.h>
#include <Library/PeiServicesLib.h>

#define COVER_SPAN    0x40000
#define TEST_PATTERN  0x5A5A5A5A

/**
  Test base memory.

  @param  PeiServices      An indirect pointer to the PEI Services Table published by the PEI Foundation.
  @param  This             Pointer to this PPI instance.
  @param  BeginAddress     Beginning of the memory address to be checked.
  @param  MemoryLength     Bytes of memory range to be checked.
  @param  Operation        Type of memory check operation to be performed.
  @param  ErrorAddress     Pointer to address of the error memory returned.

  @retval EFI_SUCCESS      Memory test passed.
  @retval EFI_DEVICE_ERROR Memory test failed.

**/    
EFI_STATUS
EFIAPI
BaseMemoryTest (
  IN  EFI_PEI_SERVICES                   **PeiServices,
  IN PEI_BASE_MEMORY_TEST_PPI            *This,
  IN  EFI_PHYSICAL_ADDRESS               BeginAddress,
  IN  UINT64                             MemoryLength,
  IN  PEI_MEMORY_TEST_OP                 Operation,
  OUT EFI_PHYSICAL_ADDRESS               *ErrorAddress
  );

#endif