1 /*++
2 
3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 Module Name:
13 
14   BaseMemoryTest.h
15 
16 Abstract:
17 
18   Pei memory test PPI as defined in Tiano
19 
20   Used to Pei memory test in PEI
21 
22 --*/
23 
24 #ifndef _BASE_MEMORY_TEST_H_
25 #define _BASE_MEMORY_TEST_H_
26 
27 #define PEI_BASE_MEMORY_TEST_GUID \
28   { \
29     0xb6ec423c, 0x21d2, 0x490d, {0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74} \
30   }
31 
32 EFI_FORWARD_DECLARATION (PEI_BASE_MEMORY_TEST_PPI);
33 
34 typedef enum {
35   Ignore,
36   Quick,
37   Sparse,
38   Extensive
39 } PEI_MEMORY_TEST_OP;
40 
41 typedef
42 EFI_STATUS
43 (EFIAPI *PEI_BASE_MEMORY_TEST) (
44   IN  EFI_PEI_SERVICES                   **PeiServices,
45   IN PEI_BASE_MEMORY_TEST_PPI            * This,
46   IN  EFI_PHYSICAL_ADDRESS               BeginAddress,
47   IN  UINT64                             MemoryLength,
48   IN  PEI_MEMORY_TEST_OP                 Operation,
49   OUT EFI_PHYSICAL_ADDRESS               * ErrorAddress
50   );
51 
52 struct _PEI_BASE_MEMORY_TEST_PPI {
53   PEI_BASE_MEMORY_TEST  BaseMemoryTest;
54 };
55 
56 extern EFI_GUID gPeiBaseMemoryTestPpiGuid;
57 
58 #endif
59