summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Foundation/Ppi
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2007-06-28 07:00:39 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2007-06-28 07:00:39 +0000
commit3eb9473ea9a949badfe06ae61d2d3fcfa53651c7 (patch)
treee9d8c368dbb1e58794b2c00acefe4bbad270f8c4 /EdkCompatibilityPkg/Foundation/Ppi
parent30d4a0c7ec19938196b1308006b990e0945150da (diff)
downloadedk2-platforms-3eb9473ea9a949badfe06ae61d2d3fcfa53651c7.tar.xz
Add in the 1st version of ECP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkCompatibilityPkg/Foundation/Ppi')
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.c28
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.h58
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf51
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.c28
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.h59
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.c28
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.h34
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.c33
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.h29
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.c28
-rw-r--r--EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.h53
11 files changed, 429 insertions, 0 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.c b/EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.c
new file mode 100644
index 0000000000..9293d10a21
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.c
@@ -0,0 +1,28 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ BaseMemoryTest.c
+
+Abstract:
+
+ PEI memory test PPI GUID as defined in Tiano
+
+--*/
+
+#include "Tiano.h"
+#include "Pei.h"
+#include EFI_PPI_DEFINITION (BaseMemoryTest)
+
+EFI_GUID gPeiBaseMemoryTestPpiGuid = PEI_BASE_MEMORY_TEST_GUID;
+
+EFI_GUID_STRING(&gPeiBaseMemoryTestPpiGuid, "PeiBaseMemoryTest", "Pei Base Memory Test PPI");
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.h b/EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.h
new file mode 100644
index 0000000000..9498c1644e
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/BaseMemoryTest/BaseMemoryTest.h
@@ -0,0 +1,58 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ BaseMemoryTest.h
+
+Abstract:
+
+ Pei memory test PPI as defined in Tiano
+
+ Used to Pei memory test in PEI
+
+--*/
+
+#ifndef _BASE_MEMORY_TEST_H_
+#define _BASE_MEMORY_TEST_H_
+
+#define PEI_BASE_MEMORY_TEST_GUID \
+ { \
+ 0xb6ec423c, 0x21d2, 0x490d, 0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74 \
+ }
+
+EFI_FORWARD_DECLARATION (PEI_BASE_MEMORY_TEST_PPI);
+
+typedef enum {
+ Ignore,
+ Quick,
+ Sparse,
+ Extensive
+} PEI_MEMORY_TEST_OP;
+
+typedef
+EFI_STATUS
+(EFIAPI *PEI_BASE_MEMORY_TEST) (
+ 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
+ );
+
+typedef struct _PEI_BASE_MEMORY_TEST_PPI {
+ PEI_BASE_MEMORY_TEST BaseMemoryTest;
+} PEI_BASE_MEMORY_TEST_PPI;
+
+extern EFI_GUID gPeiBaseMemoryTestPpiGuid;
+
+#endif
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf b/EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
new file mode 100644
index 0000000000..1fc4350bc0
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
@@ -0,0 +1,51 @@
+#/*++
+#
+# Copyright (c) 2004 - 2006, 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
+# 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.
+#
+# Module Name:
+#
+# EdkPpiLib.inf
+#
+# Abstract:
+#
+# Component description file for the Edk PPI library.
+#
+#--*/
+
+[defines]
+BASE_NAME= EdkPpiLib
+COMPONENT_TYPE= LIBRARY
+
+[includes.common]
+ $(EDK_SOURCE)\Foundation
+ $(EDK_SOURCE)\Foundation\Efi
+ $(EDK_SOURCE)\Foundation\Include
+ $(EDK_SOURCE)\Foundation\Efi\Include
+ $(EDK_SOURCE)\Foundation\Framework\Include
+ $(EDK_SOURCE)\Foundation\Include\IndustryStandard
+ $(EDK_SOURCE)\Foundation\Include\Pei
+ $(EDK_SOURCE)\Foundation\Library\Pei\Include
+ $(EDK_SOURCE)\Foundation\Core\Dxe
+ $(EDK_SOURCE)\Foundation\Library\Dxe\Include
+ $(EDK_SOURCE)\Foundation\Framework
+
+[nmake.common]
+
+[sources.common]
+ BaseMemoryTest\BaseMemoryTest.h
+ BaseMemoryTest\BaseMemoryTest.c
+ FlashMap\FlashMap.h
+ FlashMap\FlashMap.c
+ PeiInMemory\PeiInMemory.h
+ PeiInMemory\PeiInMemory.c
+ StatusCodeMemory\StatusCodeMemory.h
+ StatusCodeMemory\StatusCodeMemory.c
+ OperatorPresence\OperatorPresence.h
+ OperatorPresence\OperatorPresence.c
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.c b/EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.c
new file mode 100644
index 0000000000..db90583dbf
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.c
@@ -0,0 +1,28 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ FlashMap.c
+
+Abstract:
+
+ Flash Map PPI GUID as defined in Tiano
+
+--*/
+
+#include "Tiano.h"
+#include "Pei.h"
+#include EFI_PPI_DEFINITION (FlashMap)
+
+EFI_GUID gPeiFlashMapPpiGuid = PEI_FLASH_MAP_PPI_GUID;
+
+EFI_GUID_STRING(&gPeiFlashMapPpiGuid, "Flash Map", "Flash Map PPI");
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.h b/EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.h
new file mode 100644
index 0000000000..7203055bf1
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/FlashMap/FlashMap.h
@@ -0,0 +1,59 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ FlashMap.h
+
+Abstract:
+
+ FlashMap PPI defined in Tiano
+
+ This code abstracts FlashMap access
+
+--*/
+
+#ifndef _PEI_FLASH_MAP_PPI_H_
+#define _PEI_FLASH_MAP_PPI_H_
+
+#define PEI_FLASH_MAP_PPI_GUID \
+ { \
+ 0xf34c2fa0, 0xde88, 0x4270, 0x84, 0x14, 0x96, 0x12, 0x22, 0xf4, 0x52, 0x1c \
+ }
+
+#include "EfiFlashMap.h"
+
+EFI_FORWARD_DECLARATION (PEI_FLASH_MAP_PPI);
+
+//
+// Functions
+//
+typedef
+EFI_STATUS
+(EFIAPI *PEI_GET_FLASH_AREA_INFO) (
+ IN EFI_PEI_SERVICES **PeiServices,
+ IN PEI_FLASH_MAP_PPI * This,
+ IN EFI_FLASH_AREA_TYPE AreaType,
+ IN EFI_GUID * AreaTypeGuid,
+ OUT UINT32 *NumEntries,
+ OUT EFI_FLASH_SUBAREA_ENTRY **Entries
+ );
+
+//
+// PEI_FLASH_MAP_PPI
+//
+typedef struct _PEI_FLASH_MAP_PPI {
+ PEI_GET_FLASH_AREA_INFO GetAreaInfo;
+} PEI_FLASH_MAP_PPI;
+
+extern EFI_GUID gPeiFlashMapPpiGuid;
+
+#endif // _PEI_FLASH_MAP_PPI_H_
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.c b/EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.c
new file mode 100644
index 0000000000..a5a2e145fe
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.c
@@ -0,0 +1,28 @@
+/*++
+
+Copyright (c) 2006, 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
+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.
+
+Module Name:
+
+ OperatorPresence.c
+
+Abstract:
+
+ PPI GUID definition for PEI_OPERATOR_PRESENCE_PPI
+
+--*/
+
+#include <Tiano.h>
+
+#include EFI_PPI_DEFINITION (OperatorPresence)
+
+EFI_GUID gPeiOperatorPresencePpiGuid = PEI_OPERATOR_PRESENCE_PPI_GUID;
+
+EFI_GUID_STRING(&gPeiOperatorPresencePpiGuid, "OperatorPresence", "Operator Presence Detection");
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.h b/EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.h
new file mode 100644
index 0000000000..8d866deaee
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/OperatorPresence/OperatorPresence.h
@@ -0,0 +1,34 @@
+/*++
+
+Copyright (c) 2006, 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
+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.
+
+Module Name:
+
+ OperatorPresence.h
+
+Abstract:
+
+ PPI published by the PEIM who's responsible for detecting operator presence
+
+--*/
+
+#ifndef _PEI_OPERATOR_PRESENCE_H_
+#define _PEI_OPERATOR_PRESENCE_H_
+
+#define PEI_OPERATOR_PRESENCE_PPI_GUID \
+ { 0x20a7378c, 0xaa83, 0x4ce1, 0x82, 0x1f, 0x47, 0x40, 0xee, 0x1b, 0x3f, 0x9f }
+
+typedef struct _PEI_OPERATOR_PRESENCE_PPI {
+ BOOLEAN OperatorPresent;
+} PEI_OPERATOR_PRESENCE_PPI;
+
+extern EFI_GUID gPeiOperatorPresencePpiGuid;
+
+#endif // _PEI_OPERATOR_PRESENCE_H_
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.c b/EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.c
new file mode 100644
index 0000000000..c081660420
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.c
@@ -0,0 +1,33 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ PeiInMemory.c
+
+Abstract:
+
+ Capsule on Fat Usb Disk GUID.
+
+ This is the contract between the recovery module and device recovery module
+ in order to convey the name of a given recovery module type
+
+--*/
+
+#include "Tiano.h"
+#include "PeiBind.h"
+#include "PeiApi.h"
+#include EFI_PPI_DEFINITION(PeiInMemory)
+
+EFI_GUID gPeiInMemoryGuid = PEI_IN_MEMORY_GUID;
+
+EFI_GUID_STRING(&gPeiInMemoryGuid, "PeiInMemory", "PEIM In Memory");
+
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.h b/EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.h
new file mode 100644
index 0000000000..571c61773d
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/PeiInMemory/PeiInMemory.h
@@ -0,0 +1,29 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ PeiInMemory.h
+
+Abstract:
+
+
+--*/
+
+#ifndef _PEI_IN_MEMORY_H
+#define _PEI_IN_MEMORY_H
+
+#define PEI_IN_MEMORY_GUID \
+ {0x643b8786, 0xb417, 0x48d2, 0x8f, 0x5e, 0x78, 0x19, 0x93, 0x1c, 0xae, 0xd8}
+
+extern EFI_GUID gPeiInMemoryGuid;
+
+#endif
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.c b/EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.c
new file mode 100644
index 0000000000..683baefe94
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.c
@@ -0,0 +1,28 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ StatusCodeMemory.c
+
+Abstract:
+
+ Status Code Memory descriptor
+
+--*/
+
+#include "Tiano.h"
+#include "Pei.h"
+#include EFI_PPI_DEFINITION (StatusCodeMemory)
+
+EFI_GUID gPeiStatusCodeMemoryPpiGuid = PEI_STATUS_CODE_MEMORY_PPI_GUID;
+
+EFI_GUID_STRING(&gPeiStatusCodeMemoryPpiGuid, "StatusCodeMemory", "Status Code memory descriptor.");
diff --git a/EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.h b/EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.h
new file mode 100644
index 0000000000..46543f17e5
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Ppi/StatusCodeMemory/StatusCodeMemory.h
@@ -0,0 +1,53 @@
+/*++
+
+Copyright (c) 2004, 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
+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.
+
+Module Name:
+
+ StatusCodeMemory.h
+
+Abstract:
+
+ Status Code memory descriptor PPI. Contains information about memory that
+ the Status Code PEIM may use to journal Status Codes.
+
+--*/
+
+#ifndef _PEI_STATUS_CODE_MEMORY_PPI_H_
+#define _PEI_STATUS_CODE_MEMORY_PPI_H_
+
+//
+// GUID definition
+//
+#define PEI_STATUS_CODE_MEMORY_PPI_GUID \
+ { 0x26f8ab01, 0xd3cd, 0x489c, 0x98, 0x4f, 0xdf, 0xde, 0xf7, 0x68, 0x39, 0x5b }
+
+//
+// Data types
+//
+typedef struct {
+ EFI_STATUS_CODE_TYPE Type;
+ EFI_STATUS_CODE_VALUE Value;
+ UINT32 Instance;
+} EFI_STATUS_CODE_ENTRY;
+
+//
+// PPI definition
+//
+typedef struct {
+ UINTN FirstEntry;
+ UINTN LastEntry;
+ EFI_PHYSICAL_ADDRESS Address;
+ UINTN Length;
+} PEI_STATUS_CODE_MEMORY_PPI;
+
+extern EFI_GUID gPeiStatusCodeMemoryPpiGuid;
+
+#endif