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
This commit is contained in:
qwang12
2007-06-28 07:00:39 +00:00
parent 30d4a0c7ec
commit 3eb9473ea9
1433 changed files with 266617 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 1999 - 2002, 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:
BlockIo.c
Abstract:
BlockIo PPI GUID as defined in EFI 2.0
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (BlockIo)
EFI_GUID gPeiBlockIoPpiGuid = PEI_BLOCK_IO_PPI_GUID;
EFI_GUID_STRING(&gPeiBlockIoPpiGuid, "BlockIo", "PEI Block I/O PPI");

View File

@@ -0,0 +1,88 @@
/*++
Copyright (c) 1999 - 2002, 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:
BlockIo.h
Abstract:
BlockIo PPI as defined in EFI 2.0
Used to access block-oriented storage devices
--*/
#ifndef _PEI_BLOCK_IO_H_
#define _PEI_BLOCK_IO_H_
#define PEI_BLOCK_IO_PPI_GUID \
{ \
0x695d8aa1, 0x42ee, 0x4c46, 0x80, 0x5c, 0x6e, 0xa6, 0xbc, 0xe7, 0x99, 0xe3 \
}
EFI_FORWARD_DECLARATION (PEI_RECOVERY_BLOCK_IO_INTERFACE);
typedef UINT64 PEI_LBA;
typedef enum {
LegacyFloppy = 0,
IdeCDROM = 1,
IdeLS120 = 2,
UsbMassStorage= 3,
MaxDeviceType
} PEI_BLOCK_DEVICE_TYPE;
typedef struct {
PEI_BLOCK_DEVICE_TYPE DeviceType;
BOOLEAN MediaPresent;
UINTN LastBlock;
UINTN BlockSize;
} PEI_BLOCK_IO_MEDIA;
typedef
EFI_STATUS
(EFIAPI *PEI_GET_NUMBER_BLOCK_DEVICES) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_RECOVERY_BLOCK_IO_INTERFACE * This,
OUT UINTN *NumberBlockDevices
);
typedef
EFI_STATUS
(EFIAPI *PEI_GET_DEVICE_MEDIA_INFORMATION) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_RECOVERY_BLOCK_IO_INTERFACE * This,
IN UINTN DeviceIndex,
OUT PEI_BLOCK_IO_MEDIA * MediaInfo
);
typedef
EFI_STATUS
(EFIAPI *PEI_READ_BLOCKS) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_RECOVERY_BLOCK_IO_INTERFACE * This,
IN UINTN DeviceIndex,
IN PEI_LBA StartLBA,
IN UINTN BufferSize,
OUT VOID *Buffer
);
typedef struct _PEI_RECOVERY_BLOCK_IO_INTERFACE {
PEI_GET_NUMBER_BLOCK_DEVICES GetNumberOfBlockDevices;
PEI_GET_DEVICE_MEDIA_INFORMATION GetBlockDeviceMediaInfo;
PEI_READ_BLOCKS ReadBlocks;
} PEI_RECOVERY_BLOCK_IO_INTERFACE;
extern EFI_GUID gPeiBlockIoPpiGuid;
#endif

View File

@@ -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:
BootInRecoveryMode.c
Abstract:
Boot Mode PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (BootInRecoveryMode)
EFI_GUID gPeiBootInRecoveryModePpiGuid = PEI_BOOT_IN_RECOVERY_MODE_PEIM_PPI;
EFI_GUID_STRING(&gPeiMasterBootModePpiGuid, "BootMode", "Master Boot Mode PPI");

View File

@@ -0,0 +1,34 @@
/*++
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:
BootInRecoveryMode.h
Abstract:
Boot Mode PPI as defined in Tiano
--*/
#ifndef _PEI_BOOT_IN_RECOVERY_MODE_PPI_H
#define _PEI_BOOT_IN_RECOVERY_MODE_PPI_H
#define PEI_BOOT_IN_RECOVERY_MODE_PEIM_PPI \
{ \
0x17ee496a, 0xd8e4, 0x4b9a, 0x94, 0xd1, 0xce, 0x82, 0x72, 0x30, 0x8, 0x50 \
}
EFI_FORWARD_DECLARATION (PEI_BOOT_IN_RECOVERY_MODE_PPI);
extern EFI_GUID gPeiBootInRecoveryModePpiGuid;
#endif

View File

@@ -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:
BootMode.c
Abstract:
Boot Mode PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (BootMode)
EFI_GUID gPeiMasterBootModePpiGuid = PEI_MASTER_BOOT_MODE_PEIM_PPI;
EFI_GUID_STRING(&gPeiMasterBootModePpiGuid, "BootMode", "Master Boot Mode PPI");

View File

@@ -0,0 +1,34 @@
/*++
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:
BootMode.h
Abstract:
Boot Mode PPI as defined in Tiano
--*/
#ifndef _PEI_MASTER_BOOT_MODE_PPI_H
#define _PEI_MASTER_BOOT_MODE_PPI_H
#define PEI_MASTER_BOOT_MODE_PEIM_PPI \
{ \
0x7408d748, 0xfc8c, 0x4ee6, 0x92, 0x88, 0xc4, 0xbe, 0xc0, 0x92, 0xa4, 0x10 \
}
EFI_FORWARD_DECLARATION (PEI_MASTER_BOOT_MODE_PPI);
extern EFI_GUID gPeiMasterBootModePpiGuid;
#endif

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 2001 - 2002, 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:
BootScriptExecuter.c
Abstract:
Boot Script Executer PPI GUID as defined in EFI 2.0
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (BootScriptExecuter)
EFI_GUID gPeiBootScriptExecuterPpiGuid = PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID;
EFI_GUID_STRING(&gPeiBootScriptExecuterPpiGuid, "BootScriptExecuter", "Boot Script Executer PPI");

View File

@@ -0,0 +1,50 @@
/*++
Copyright (c) 2001 - 2002, 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:
BootScriptExecuter.h
Abstract:
Boot Script Executer PPI as defined in EFI 2.0
--*/
#ifndef _PEI_BOOT_SCRIPT_EXECUTER_PPI_H
#define _PEI_BOOT_SCRIPT_EXECUTER_PPI_H
#define PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID \
{ \
0xabd42895, 0x78cf, 0x4872, 0x84, 0x44, 0x1b, 0x5c, 0x18, 0x0b, 0xfb, 0xff \
}
EFI_FORWARD_DECLARATION (PEI_BOOT_SCRIPT_EXECUTER_PPI);
#define PEI_BOOT_SCRIPT_EXECUTER_PPI_REVISION 0x00000001
typedef
EFI_STATUS
(EFIAPI *PEI_BOOT_SCRIPT_EXECUTE) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_BOOT_SCRIPT_EXECUTER_PPI * This,
IN EFI_PHYSICAL_ADDRESS Address,
IN EFI_GUID * FvFile OPTIONAL
);
typedef struct _PEI_BOOT_SCRIPT_EXECUTER_PPI {
UINT64 Revision;
PEI_BOOT_SCRIPT_EXECUTE Execute;
} PEI_BOOT_SCRIPT_EXECUTER_PPI;
extern EFI_GUID gPeiBootScriptExecuterPpiGuid;
#endif

View File

@@ -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:
CpuIO.c
Abstract:
CPU IO PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (CpuIo)
EFI_GUID gPeiCpuIoPpiInServiceTableGuid = PEI_CPU_IO_PPI_GUID;
EFI_GUID_STRING(&gPeiCpuIoPpiInServiceTableGuid, "CPU IO", "CPU IO PPI");

View File

@@ -0,0 +1,250 @@
/*++
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:
CpuIo.h
Abstract:
CPU IO PPI defined in Tiano
CPU IO PPI abstracts CPU IO access
--*/
#ifndef _PEI_CPUIO_PPI_H_
#define _PEI_CPUIO_PPI_H_
#define PEI_CPU_IO_PPI_GUID \
{ \
0xe6af1f7b, 0xfc3f, 0x46da, 0xa8, 0x28, 0xa3, 0xb4, 0x57, 0xa4, 0x42, 0x82 \
}
EFI_FORWARD_DECLARATION (PEI_CPU_IO_PPI);
//
// *******************************************************
// PEI_CPU_IO_PPI_WIDTH
// *******************************************************
//
typedef enum {
PeiCpuIoWidthUint8,
PeiCpuIoWidthUint16,
PeiCpuIoWidthUint32,
PeiCpuIoWidthUint64,
PeiCpuIoWidthFifoUint8,
PeiCpuIoWidthFifoUint16,
PeiCpuIoWidthFifoUint32,
PeiCpuIoWidthFifoUint64,
PeiCpuIoWidthFillUint8,
PeiCpuIoWidthFillUint16,
PeiCpuIoWidthFillUint32,
PeiCpuIoWidthFillUint64,
PeiCpuIoWidthMaximum
} PEI_CPU_IO_PPI_WIDTH;
//
// *******************************************************
// PEI_CPU_IO_PPI_IO_MEM
// *******************************************************
//
typedef
EFI_STATUS
(EFIAPI *PEI_CPU_IO_PPI_IO_MEM) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN PEI_CPU_IO_PPI_WIDTH Width,
IN UINT64 Address,
IN UINTN Count,
IN OUT VOID *Buffer
);
//
// *******************************************************
// PEI_CPU_IO_PPI_ACCESS
// *******************************************************
//
typedef struct {
PEI_CPU_IO_PPI_IO_MEM Read;
PEI_CPU_IO_PPI_IO_MEM Write;
} PEI_CPU_IO_PPI_ACCESS;
//
// *******************************************************
// Base IO Class Functions
// *******************************************************
//
typedef
UINT8
(EFIAPI *PEI_CPU_IO_PPI_IO_READ8) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
UINT16
(EFIAPI *PEI_CPU_IO_PPI_IO_READ16) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
UINT32
(EFIAPI *PEI_CPU_IO_PPI_IO_READ32) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
UINT64
(EFIAPI *PEI_CPU_IO_PPI_IO_READ64) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE8) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT8 Data
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE16) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT16 Data
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE32) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT32 Data
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE64) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT64 Data
);
typedef
UINT8
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ8) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
UINT16
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ16) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
UINT32
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ32) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
UINT64
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ64) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE8) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT8 Data
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE16) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT16 Data
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE32) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT32 Data
);
typedef
VOID
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE64) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_CPU_IO_PPI * This,
IN UINT64 Address,
IN UINT64 Data
);
//
// *******************************************************
// PEI_CPU_IO_PPI
// *******************************************************
//
typedef struct _PEI_CPU_IO_PPI {
PEI_CPU_IO_PPI_ACCESS Mem;
PEI_CPU_IO_PPI_ACCESS Io;
PEI_CPU_IO_PPI_IO_READ8 IoRead8;
PEI_CPU_IO_PPI_IO_READ16 IoRead16;
PEI_CPU_IO_PPI_IO_READ32 IoRead32;
PEI_CPU_IO_PPI_IO_READ64 IoRead64;
PEI_CPU_IO_PPI_IO_WRITE8 IoWrite8;
PEI_CPU_IO_PPI_IO_WRITE16 IoWrite16;
PEI_CPU_IO_PPI_IO_WRITE32 IoWrite32;
PEI_CPU_IO_PPI_IO_WRITE64 IoWrite64;
PEI_CPU_IO_PPI_MEM_READ8 MemRead8;
PEI_CPU_IO_PPI_MEM_READ16 MemRead16;
PEI_CPU_IO_PPI_MEM_READ32 MemRead32;
PEI_CPU_IO_PPI_MEM_READ64 MemRead64;
PEI_CPU_IO_PPI_MEM_WRITE8 MemWrite8;
PEI_CPU_IO_PPI_MEM_WRITE16 MemWrite16;
PEI_CPU_IO_PPI_MEM_WRITE32 MemWrite32;
PEI_CPU_IO_PPI_MEM_WRITE64 MemWrite64;
} PEI_CPU_IO_PPI;
extern EFI_GUID gPeiCpuIoPpiInServiceTableGuid;
#endif

View File

@@ -0,0 +1,28 @@
/*++
Copyright (c) 2007, 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:
Decompress.c
Abstract:
PI 1.0 spec definition.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Decompress)
EFI_GUID gEfiPeiDecompressPpiGuid = EFI_PEI_DECOMPRESS_PPI_GUID;
EFI_GUID_STRING(&gEfiPeiDecompressPpiGuid, "PeiDecompress", "PeiDecompress PPI");

View File

@@ -0,0 +1,49 @@
/*++
Copyright (c) 2007, 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:
Decompress.h
Abstract:
PI 1.0 spec definition.
--*/
#ifndef __DECOMPRESS_PPI_H__
#define __DECOMPRESS_PPI_H__
#define EFI_PEI_DECOMPRESS_PPI_GUID \
{ 0x1a36e4e7, 0xfab6, 0x476a, 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7}
EFI_FORWARD_DECLARATION (EFI_PEI_DECOMPRESS_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_DECOMPRESS_DECOMPRESS)(
IN CONST EFI_PEI_DECOMPRESS_PPI *This,
IN CONST EFI_COMPRESSION_SECTION *InputSection,
OUT VOID **OutputBuffer,
OUT UINTN *OutputSize
);
typedef struct _EFI_PEI_DECOMPRESS_PPI {
EFI_PEI_DECOMPRESS_DECOMPRESS Decompress;
} EFI_PEI_DECOMPRESS_PPI;
extern EFI_GUID gEfiPeiDecompressPpiGuid;
#endif

View File

@@ -0,0 +1,30 @@
/*++
Copyright (c) 1999 - 2002, 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:
DeviceRecoveryModule.c
Abstract:
Device Recovery Module PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (DeviceRecoveryModule)
EFI_GUID gPeiDeviceRecoveryModulePpiGuid = PEI_DEVICE_RECOVERY_MODULE_INTERFACE_PPI;
EFI_GUID_STRING(&gPeiDeviceRecoveryModulePpiGuid, "DeviceRecoveryModule", "Device Recovery Module PPI");

View File

@@ -0,0 +1,68 @@
/*++
Copyright (c) 1999 - 2002, 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:
DeviceRecoveryModule.h
Abstract:
Device Recovery Module PPI as defined in EFI 2.0
--*/
#ifndef _PEI_DEVICE_RECOVERY_MODULE_PPI_H
#define _PEI_DEVICE_RECOVERY_MODULE_PPI_H
#define PEI_DEVICE_RECOVERY_MODULE_INTERFACE_PPI \
{ \
0x0DE2CE25, 0x446A, 0x45a7, 0xBF, 0xC9, 0x37, 0xDA, 0x26, 0x34, 0x4B, 0x37 \
}
EFI_FORWARD_DECLARATION (PEI_DEVICE_RECOVERY_MODULE_INTERFACE);
typedef
EFI_STATUS
(EFIAPI *PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This,
OUT UINTN *NumberRecoveryCapsules
);
typedef
EFI_STATUS
(EFIAPI *PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This,
IN UINTN CapsuleInstance,
OUT UINTN *Size,
OUT EFI_GUID * CapsuleType
);
typedef
EFI_STATUS
(EFIAPI *PEI_DEVICE_LOAD_RECOVERY_CAPSULE) (
IN OUT EFI_PEI_SERVICES **PeiServices,
IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This,
IN UINTN CapsuleInstance,
OUT VOID *Buffer
);
typedef struct _PEI_DEVICE_RECOVERY_MODULE_INTERFACE {
PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE GetNumberRecoveryCapsules;
PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO GetRecoveryCapsuleInfo;
PEI_DEVICE_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule;
} PEI_DEVICE_RECOVERY_MODULE_INTERFACE;
extern EFI_GUID gPeiDeviceRecoveryModulePpiGuid;
#endif

View File

@@ -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:
DxeIpl.c
Abstract:
DXE Initial Program Load PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (DxeIpl)
EFI_GUID gEfiDxeIplPpiGuid = EFI_DXE_IPL_PPI_GUID;
EFI_GUID_STRING(&gEfiDxeIplPpiGuid, "DxeIpl", "DXE IPL PPI");

View File

@@ -0,0 +1,51 @@
/*++
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:
DxeIpl.h
Abstract:
DXE Initial Program Load PPI as defined in Tiano
When the PEI core is done it calls the DXE IPL via this PPI.
--*/
#ifndef _DXE_IPL_H_
#define _DXE_IPL_H_
#include "Tiano.h"
#include "PeiHob.h"
#define EFI_DXE_IPL_PPI_GUID \
{ \
0xae8ce5d, 0xe448, 0x4437, 0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 \
}
EFI_FORWARD_DECLARATION (EFI_DXE_IPL_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_DXE_IPL_ENTRY) (
IN EFI_DXE_IPL_PPI * This,
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_PEI_HOB_POINTERS HobList
);
typedef struct _EFI_DXE_IPL_PPI {
EFI_DXE_IPL_ENTRY Entry;
} EFI_DXE_IPL_PPI;
extern EFI_GUID gEfiDxeIplPpiGuid;
#endif

View File

@@ -0,0 +1,102 @@
#/*++
#
# Copyright (c) 2004 - 2007, 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:
#
# EdkFrameworkPpiLib.inf
#
# Abstract:
#
# Component description file.
#
#--*/
[defines]
BASE_NAME= EdkFrameworkPpiLib
COMPONENT_TYPE= LIBRARY
[includes.common]
$(EDK_SOURCE)\Foundation\Framework
$(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
[nmake.common]
[sources.common]
BlockIo\BlockIo.h
BlockIo\BlockIo.c
BootInRecoveryMode\BootInRecoveryMode.h
BootInRecoveryMode\BootInRecoveryMode.c
BootMode\BootMode.h
BootMode\BootMode.c
BootScriptExecuter\BootScriptExecuter.h
BootScriptExecuter\BootScriptExecuter.c
CpuIo\CpuIo.h
CpuIo\CpuIo.c
DeviceRecoveryModule\DeviceRecoveryModule.h
DeviceRecoveryModule\DeviceRecoveryModule.c
DxeIpl\DxeIpl.h
DxeIpl\DxeIpl.c
EndOfPeiSignal\EndOfPeiSignal.h
EndOfPeiSignal\EndOfPeiSignal.c
FindFv\FindFv.h
FindFv\FindFv.c
LoadFile\LoadFile.h
LoadFile\LoadFile.c
MemoryDiscovered\MemoryDiscovered.h
MemoryDiscovered\MemoryDiscovered.c
PciCfg\PciCfg.h
PciCfg\PciCfg.c
PciCfg2\PciCfg2.h
PciCfg2\PciCfg2.c
RecoveryModule\RecoveryModule.h
RecoveryModule\RecoveryModule.c
Reset\Reset.h
Reset\Reset.c
S3Resume\S3Resume.h
S3Resume\S3Resume.c
SecPlatformInformation\SecPlatformInformation.h
SecPlatformInformation\SecPlatformInformation.c
SectionExtraction\SectionExtraction.h
SectionExtraction\SectionExtraction.c
Security\Security.h
Security\Security.c
Smbus\Smbus.h
Smbus\Smbus.c
Smbus2\Smbus2.h
Smbus2\Smbus2.c
Stall\Stall.h
Stall\Stall.c
StatusCode\StatusCode.h
StatusCode\StatusCode.c
Variable\Variable.h
Variable\Variable.c
Variable2\Variable2.h
Variable2\Variable2.c
Decompress\Decompress.h
Decompress\Decompress.c
FirmwareVolumeInfo\FirmwareVolumeInfo.h
FirmwareVolumeInfo\FirmwareVolumeInfo.c
LoadFile2\LoadFile2.h
LoadFile2\LoadFile2.c
Security2\Security2.h
Security2\Security2.c
FirmwareVolume\FirmwareVolume.h
FirmwareVolume\FirmwareVolume.c
GuidedSectionExtraction\GuidedSectionExtraction.h
GuidedSectionExtraction\GuidedSectionExtraction.c

View File

@@ -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:
EndOfPeiSignal.c
Abstract:
This is installed prior to DXE taking over the memory map
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (EndOfPeiSignal)
EFI_GUID gEndOfPeiSignalPpiGuid = PEI_END_OF_PEI_PHASE_PPI_GUID;
EFI_GUID_STRING(&gEndOfPeiSignalPpiGuid, "EndOfPeiSignal", "End of PEI Phase Signalled PPI");

View File

@@ -0,0 +1,35 @@
/*++
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:
EndOfPeiSignal.h
Abstract:
PPI to be used to signal when the PEI ownership of the memory map
officially ends and DXE will take over
--*/
#ifndef _PEI_END_OF_PEI_SIGNAL_PPI_H
#define _PEI_END_OF_PEI_SIGNAL_PPI_H
#define PEI_END_OF_PEI_PHASE_PPI_GUID \
{ \
0x605EA650, 0xC65C, 0x42e1, 0xBA, 0x80, 0x91, 0xA5, 0x2A, 0xB6, 0x18, 0xC6 \
}
EFI_FORWARD_DECLARATION (PEI_END_OF_PEI_SIGNAL_PPI);
extern EFI_GUID gEndOfPeiSignalPpiGuid;
#endif

View File

@@ -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:
FindFv.c
Abstract:
FindFv PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (FindFv)
EFI_GUID gEfiFindFvPpiGuid = EFI_FIND_FV_PPI_GUID;
EFI_GUID_STRING(&gEfiFindFvPpiGuid, "FindFv", "FindFv PPI");

View File

@@ -0,0 +1,51 @@
/*++
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:
FindFv.h
Abstract:
FindFv PPI as defined in Tiano
Used to locate FVs that contain PEIMs in PEI
--*/
#ifndef _FIND_FV_H_
#define _FIND_FV_H_
#include "EfiFirmwareVolumeHeader.h"
#define EFI_FIND_FV_PPI_GUID \
{ \
0x36164812, 0xa023, 0x44e5, 0xbd, 0x85, 0x5, 0xbf, 0x3c, 0x77, 0x0, 0xaa \
}
EFI_FORWARD_DECLARATION (EFI_FIND_FV_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_FIND_FV_FINDFV) (
IN EFI_FIND_FV_PPI * This,
IN EFI_PEI_SERVICES **PeiServices,
UINT8 *FvNumber,
EFI_FIRMWARE_VOLUME_HEADER **FVAddress
);
typedef struct _EFI_FIND_FV_PPI {
EFI_FIND_FV_FINDFV FindFv;
} EFI_FIND_FV_PPI;
extern EFI_GUID gEfiFindFvPpiGuid;
#endif

View File

@@ -0,0 +1,30 @@
/*++
Copyright (c) 2007, 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:
FirmwareVolume.c
Abstract:
PI 1.0 spec definition.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (FirmwareVolume)
//
// There is no PPI Guid definition here, since the guid of
// this ppi is the same as the firmware volume format Guid.
//

View File

@@ -0,0 +1,112 @@
/*++
Copyright (c) 2007, 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:
FirmwareVolume.h
Abstract:
PI 1.0 spec definition.
--*/
#ifndef __FIRMWARE_VOLUME_H__
#define __FIRMWARE_VOLUME_H__
EFI_FORWARD_DECLARATION (EFI_PEI_FIRMWARE_VOLUME_PPI);
typedef UINT32 EFI_FV_FILE_ATTRIBUTES;
typedef VOID * EFI_PEI_FILE_HANDLE;
typedef VOID * EFI_PEI_FV_HANDLE;
typedef struct {
EFI_GUID FileName;
EFI_FV_FILETYPE FileType;
EFI_FV_FILE_ATTRIBUTES FileAttributes;
VOID *Buffer;
UINT32 BufferSize;
} EFI_FV_FILE_INFO;
typedef struct {
EFI_FVB_ATTRIBUTES FvAttributes;
EFI_GUID FvFormat;
EFI_GUID FvName;
VOID *FvStart;
UINT64 FvSize;
} EFI_FV_INFO;
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_PROCESS_FV) (
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
IN VOID *Buffer,
IN UINTN BufferSize,
OUT EFI_PEI_FV_HANDLE *FvHandle
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE) (
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
IN EFI_FV_FILETYPE SearchType,
IN EFI_PEI_FV_HANDLE FvHandle,
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
IN CONST EFI_GUID *FileName,
IN EFI_PEI_FV_HANDLE FvHandle,
OUT EFI_PEI_FILE_HANDLE *FileHandle
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_GET_FILE_INFO) (
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
IN EFI_PEI_FILE_HANDLE FileHandle,
OUT EFI_FV_FILE_INFO *FileInfo
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_GET_INFO)(
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
IN EFI_PEI_FV_HANDLE FvHandle,
OUT EFI_FV_INFO *VolumeInfo
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_FIND_SECTION) (
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
IN EFI_SECTION_TYPE SearchType,
IN EFI_PEI_FILE_HANDLE FileHandle,
OUT VOID **SectionData
);
typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI {
EFI_PEI_FV_PROCESS_FV ProcessVolume;
EFI_PEI_FV_FIND_FILE_TYPE FindFileByType;
EFI_PEI_FV_FIND_FILE_NAME FindFileByName;
EFI_PEI_FV_GET_FILE_INFO GetFileInfo;
EFI_PEI_FV_GET_INFO GetVolumeInfo;
EFI_PEI_FV_FIND_SECTION FindSectionByType;
} EFI_PEI_FIRMWARE_VOLUME_PPI;
#endif

View File

@@ -0,0 +1,28 @@
/*++
Copyright (c) 2007, 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:
FirmwareVolumeInfo.c
Abstract:
PI 1.0 spec definition.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (FirmwareVolumeInfo)
EFI_GUID gEfiFirmwareVolumeInfoPpiGuid = EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID;
EFI_GUID_STRING(&gEfiFirmwareVolumeInfoPpiGuid, "FirmwareVolumeInfo", "FirmwareVolumeInfo PPI");

View File

@@ -0,0 +1,46 @@
/*++
Copyright (c) 2007, 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:
FirmwareVolumeInfo.h
Abstract:
PI 1.0 spec definition.
--*/
#ifndef __FIRMWARE_VOLUME_INFO_PPI__
#define __FIRMWARE_VOLUME_INFO_PPI__
EFI_FORWARD_DECLARATION (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI);
//
// The PPI GUID must match the EFI_GUID FvFormat value
//
#define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
{ 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
EFI_GUID FvFormat;
VOID *FvInfo;
UINT32 FvInfoSize;
EFI_GUID *ParentFvName;
EFI_GUID *ParentFileName;
} EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
extern EFI_GUID gEfiFirmwareVolumeInfoPpiGuid;
#endif

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 2007, 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:
GuidedSectionExtraction.c
Abstract:
PI 1.0 spec definition.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (GuidedSectionExtraction)
//
// There is no PPI Guid definition here since this PPI is for
// extract EFI_SECTION_GUID_DEFINED type section.
//

View File

@@ -0,0 +1,42 @@
/*++
Copyright (c) 2007, 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:
GuidedSectionExtraction.h
Abstract:
PI 1.0 spec definition.
--*/
#ifndef __GUIDED_SECTION_EXTRACTION_PPI_H__
#define __GUIDED_SECTION_EXTRACTION_PPI_H__
EFI_FORWARD_DECLARATION (EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_EXTRACT_GUIDED_SECTION)(
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,
IN CONST VOID *InputSection,
OUT VOID **OutputBuffer,
OUT UINTN *OutputSize,
OUT UINT32 *AuthenticationStatus
);
typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI {
EFI_PEI_EXTRACT_GUIDED_SECTION ExtractSection;
} EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI;
#endif

View File

@@ -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:
LoadFile.c
Abstract:
Load File PPI GUID.
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (LoadFile)
EFI_GUID gPeiFvFileLoaderPpiGuid = EFI_PEI_FV_FILE_LOADER_GUID;
EFI_GUID_STRING(&gPeiFvFileLoaderPpiGuid, "FvFileLoader", "Fv File Loader Support PPI");

View File

@@ -0,0 +1,48 @@
/*++
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:
LoadFile.h
Abstract:
Load image file from fv to memory.
--*/
#ifndef _PEI_FV_FILE_LOADER_PPI_H
#define _PEI_FV_FILE_LOADER_PPI_H
#define EFI_PEI_FV_FILE_LOADER_GUID \
{ \
0x7e1f0d85, 0x4ff, 0x4bb2, 0x86, 0x6a, 0x31, 0xa2, 0x99, 0x6a, 0x48, 0xa8 \
}
EFI_FORWARD_DECLARATION (EFI_PEI_FV_FILE_LOADER_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FV_LOAD_FILE) (
IN EFI_PEI_FV_FILE_LOADER_PPI * This,
IN EFI_FFS_FILE_HEADER * FfsHeader,
OUT EFI_PHYSICAL_ADDRESS * ImageAddress,
OUT UINT64 *ImageSize,
OUT EFI_PHYSICAL_ADDRESS * EntryPoint
);
typedef struct _EFI_PEI_FV_FILE_LOADER_PPI {
EFI_PEI_FV_LOAD_FILE FvLoadFile;
} EFI_PEI_FV_FILE_LOADER_PPI;
extern EFI_GUID gPeiFvFileLoaderPpiGuid;
#endif

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 2007, 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:
LoadFile2.c
Abstract:
PI 1.0 spec definition.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (LoadFile2)
EFI_GUID gEfiLoadFile2PpiGuid = EFI_PEI_LOAD_FILE_GUID;
EFI_GUID_STRING(&gEfiLoadFile2PpiGuid, "PeiLoadFile2", "PeiLoadFile2 PPI");

View File

@@ -0,0 +1,49 @@
/*++
Copyright (c) 2007, 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:
LoadFile2.h
Abstract:
PI 1.0 spec definition.
--*/
#ifndef __LOAD_FILE_PPI_H__
#define __LOAD_FILE_PPI_H__
EFI_FORWARD_DECLARATION (EFI_PEI_LOAD_FILE_PPI);
#define EFI_PEI_LOAD_FILE_GUID \
{ 0xb9e0abfe, 0x5979, 0x4914, 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6}
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_LOAD_FILE) (
IN CONST EFI_PEI_LOAD_FILE_PPI *This,
IN EFI_PEI_FILE_HANDLE FileHandle,
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
OUT UINT64 *ImageSize,
OUT EFI_PHYSICAL_ADDRESS *EntryPoint,
OUT UINT32 *AuthenticationState
);
typedef struct _EFI_PEI_LOAD_FILE_PPI {
EFI_PEI_LOAD_FILE LoadFile;
} EFI_PEI_LOAD_FILE_PPI;
extern EFI_GUID gEfiLoadFile2PpiGuid;
#endif

View File

@@ -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:
MemoryDiscovered.c
Abstract:
Memory Discovered PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (MemoryDiscovered)
EFI_GUID gPeiMemoryDiscoveredPpiGuid = PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID;
EFI_GUID_STRING(&gPeiMemoryDiscoveredPpiGuid, "MemoryDiscovered", "Memory Discovered PPI");

View File

@@ -0,0 +1,34 @@
/*++
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:
MemoryDiscovered.h
Abstract:
Memory Discovered PPI as defined in Tiano
--*/
#ifndef _PEI_MEMORY_DISCOVERED_PPI_H
#define _PEI_MEMORY_DISCOVERED_PPI_H
#define PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID \
{ \
0xf894643d, 0xc449, 0x42d1, 0x8e, 0xa8, 0x85, 0xbd, 0xd8, 0xc6, 0x5b, 0xde \
}
EFI_FORWARD_DECLARATION (PEI_PERMANENT_MEMORY_INSTALLED_PPI);
extern EFI_GUID gPeiMemoryDiscoveredPpiGuid;
#endif

View File

@@ -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:
PciCfg.c
Abstract:
PciCfg PPI GUID as defined in PEI CIS specification.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (PciCfg)
EFI_GUID gPeiPciCfgPpiInServiceTableGuid = PEI_PCI_CFG_PPI_GUID;
EFI_GUID_STRING(&gPeiPciCfgPpiInServiceTableGuid, "PciCfg", "PciCfg PPI");

View File

@@ -0,0 +1,65 @@
/*++
Copyright (c) 2004 - 2007, 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:
PciCfg.h
Abstract:
PciCfg PPI as defined in PEI CIS specification
Used to access PCI configuration space in PEI
--*/
#ifndef _PEI_PCI_CFG_H_
#define _PEI_PCI_CFG_H_
#include "EfiPciCfg.h"
#define PEI_PCI_CFG_PPI_GUID \
{ \
0xe1f2eba0, 0xf7b9, 0x4a26, 0x86, 0x20, 0x13, 0x12, 0x21, 0x64, 0x2a, 0x90 \
}
EFI_FORWARD_DECLARATION (PEI_PCI_CFG_PPI);
typedef
EFI_STATUS
(EFIAPI *PEI_PCI_CFG_PPI_IO) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_PCI_CFG_PPI * This,
IN PEI_PCI_CFG_PPI_WIDTH Width,
IN UINT64 Address,
IN OUT VOID *Buffer
);
typedef
EFI_STATUS
(EFIAPI *PEI_PCI_CFG_PPI_RW) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_PCI_CFG_PPI * This,
IN PEI_PCI_CFG_PPI_WIDTH Width,
IN UINT64 Address,
IN UINTN SetBits,
IN UINTN ClearBits
);
typedef struct _PEI_PCI_CFG_PPI {
PEI_PCI_CFG_PPI_IO Read;
PEI_PCI_CFG_PPI_IO Write;
PEI_PCI_CFG_PPI_RW Modify;
} PEI_PCI_CFG_PPI;
extern EFI_GUID gPeiPciCfgPpiInServiceTableGuid;
#endif

View File

@@ -0,0 +1,28 @@
/*++
Copyright (c) 2007, 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:
PciCfg2.c
Abstract:
PciCfg2 PPI GUID as defined in PI1.0 specification.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (PciCfg2)
EFI_GUID gPeiPciCfg2PpiGuid = EFI_PEI_PCI_CFG2_PPI_GUID;
EFI_GUID_STRING(&gPeiPciCfg2PpiGuid, "PciCfg2", "PciCfg2 PPI");

View File

@@ -0,0 +1,66 @@
/*++
Copyright (c) 2007, 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:
PciCfg2.h
Abstract:
PciCfg2 PPI as defined in PI1.0 specification
Used to access PCI configuration space in PEI
--*/
#ifndef _PEI_PCI_CFG2_H_
#define _PEI_PCI_CFG2_H_
#include "EfiPciCfg.h"
#define EFI_PEI_PCI_CFG2_PPI_GUID \
{ \
0x57a449a, 0x1fdc, 0x4c06, 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 \
}
EFI_FORWARD_DECLARATION (EFI_PEI_PCI_CFG2_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_PCI_CFG_PPI_IO) (
IN CONST EFI_PEI_SERVICES **PeiServices,
IN CONST EFI_PEI_PCI_CFG2_PPI *This,
IN EFI_PEI_PCI_CFG_PPI_WIDTH Width,
IN UINT64 Address,
IN OUT VOID *Buffer
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_PCI_CFG_PPI_RW) (
IN CONST EFI_PEI_SERVICES **PeiServices,
IN CONST EFI_PEI_PCI_CFG2_PPI *This,
IN EFI_PEI_PCI_CFG_PPI_WIDTH Width,
IN UINT64 Address,
IN VOID *SetBits,
IN VOID *ClearBits
);
typedef struct _EFI_PEI_PCI_CFG2_PPI {
EFI_PEI_PCI_CFG_PPI_IO Read;
EFI_PEI_PCI_CFG_PPI_IO Write;
EFI_PEI_PCI_CFG_PPI_RW Modify;
UINT16 Segment;
} EFI_PEI_PCI_CFG2_PPI;
extern EFI_GUID gPeiPciCfg2PpiGuid;
#endif

View File

@@ -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:
RecoveryModule.c
Abstract:
Recovery Module PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (RecoveryModule)
EFI_GUID gPeiRecoveryModulePpiGuid = PEI_RECOVERY_MODULE_INTERFACE_PPI;
EFI_GUID_STRING(&gPeiRecoveryModulePpiGuid, "RecoveryModule", "Recovery Module PPI");

View File

@@ -0,0 +1,45 @@
/*++
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:
RecoveryModule.h
Abstract:
Recovery Module PPI as defined in Tiano
--*/
#ifndef _PEI_RECOVERY_MODULE_PPI_H
#define _PEI_RECOVERY_MODULE_PPI_H
#define PEI_RECOVERY_MODULE_INTERFACE_PPI \
{ \
0xFB6D9542, 0x612D, 0x4f45, 0x87, 0x2F, 0x5C, 0xFF, 0x52, 0xE9, 0x3D, 0xCF \
}
EFI_FORWARD_DECLARATION (PEI_RECOVERY_MODULE_INTERFACE);
typedef
EFI_STATUS
(EFIAPI *PEI_LOAD_RECOVERY_CAPSULE) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_RECOVERY_MODULE_INTERFACE * This
);
typedef struct _PEI_RECOVERY_MODULE_INTERFACE {
PEI_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule;
} PEI_RECOVERY_MODULE_INTERFACE;
extern EFI_GUID gPeiRecoveryModulePpiGuid;
#endif

View File

@@ -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:
Reset.c
Abstract:
Reset Service PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Reset)
EFI_GUID gPeiResetPpiGuid = PEI_RESET_PPI_GUID;
EFI_GUID_STRING(&gPeiResetPpiGuid, "Reset", "Reset PPI");

View File

@@ -0,0 +1,54 @@
/*++
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:
Reset.h
Abstract:
Reset PPI as defined in Tiano
Used to reset the platform from PEI
--*/
#ifndef _PEI_RESET_H_
#define _PEI_RESET_H_
#define PEI_RESET_PPI_GUID \
{ \
0xef398d58, 0x9dfd, 0x4103, 0xbf, 0x94, 0x78, 0xc6, 0xf4, 0xfe, 0x71, 0x2f \
}
//
// *******************************************************
// PEI_RESET_TYPE
// *******************************************************
//
typedef enum {
PeiResetCold,
PeiResetWarm,
} PEI_RESET_TYPE;
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
IN EFI_PEI_SERVICES **PeiServices
);
typedef struct {
EFI_PEI_RESET_SYSTEM ResetSystem;
} PEI_RESET_PPI;
extern EFI_GUID gPeiResetPpiGuid;
#endif

View File

@@ -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:
S3Resume.c
Abstract:
Boot Script Executer PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (S3Resume)
EFI_GUID gPeiS3ResumePpiGuid = PEI_S3_RESUME_PPI_GUID;
EFI_GUID_STRING(&gPeiS3ResumePpiGuid, "S3Resume", "S3 Resume PPI");

View File

@@ -0,0 +1,44 @@
/*++
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:
S3Resume.h
Abstract:
S3 Resume PPI
--*/
#ifndef _PEI_S3_RESUME_PPI_H
#define _PEI_S3_RESUME_PPI_H
#define PEI_S3_RESUME_PPI_GUID \
{ \
0x4426CCB2, 0xE684, 0x4a8a, 0xAE, 0x40, 0x20, 0xD4, 0xB0, 0x25, 0xB7, 0x10 \
}
EFI_FORWARD_DECLARATION (PEI_S3_RESUME_PPI);
typedef
EFI_STATUS
(EFIAPI *PEI_S3_RESUME_PPI_RESTORE_CONFIG) (
IN EFI_PEI_SERVICES **PeiServices
);
typedef struct _PEI_S3_RESUME_PPI {
PEI_S3_RESUME_PPI_RESTORE_CONFIG S3RestoreConfig;
} PEI_S3_RESUME_PPI;
extern EFI_GUID gPeiS3ResumePpiGuid;
#endif

View File

@@ -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:
SecPlatformInformation.c
Abstract:
Sec Platform Information as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (SecPlatformInformation)
EFI_GUID gEfiSecPlatformInformationPpiGuid = EFI_SEC_PLATFORM_INFORMATION_GUID;
EFI_GUID_STRING(&gEfiSecPlatformInformationPpiGuid, "SecPlatformInformation", "Sec Platform Information");

View File

@@ -0,0 +1,71 @@
/*++
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:
SecPlatformInformation.h
Abstract:
Sec Platform Information PPI as defined in Tiano
--*/
#ifndef _PEI_SEC_PLATFORM_INFORMATION_PPI_H
#define _PEI_SEC_PLATFORM_INFORMATION_PPI_H
#define EFI_SEC_PLATFORM_INFORMATION_GUID \
{ \
0x6f8c2b35, 0xfef4, 0x448d, 0x82, 0x56, 0xe1, 0x1b, 0x19, 0xd6, 0x10, 0x77 \
}
EFI_FORWARD_DECLARATION (EFI_SEC_PLATFORM_INFORMATION_PPI);
extern EFI_GUID gEfiSecPlatformInformationPpiGuid;
typedef union {
struct {
UINT32 Status : 2;
UINT32 Tested : 1;
UINT32 Reserved1 :13;
UINT32 VirtualMemoryUnavailable : 1;
UINT32 Ia32ExecutionUnavailable : 1;
UINT32 FloatingPointUnavailable : 1;
UINT32 MiscFeaturesUnavailable : 1;
UINT32 Reserved2 :12;
} Bits;
UINT32 Uint32;
} EFI_HEALTH_FLAGS;
typedef struct {
EFI_HEALTH_FLAGS HealthFlags;
} SEC_PLATFORM_INFORMATION_RECORD;
typedef struct {
UINTN BootPhase; // entry r20 value
UINTN UniqueId; // PAL arbitration ID
UINTN HealthStat; // Health Status
UINTN PALRetAddress; // return address to PAL
} IPF_HANDOFF_STATUS;
typedef
EFI_STATUS
(EFIAPI *SEC_PLATFORM_INFORMATION) (
IN EFI_PEI_SERVICES **PeiServices,
IN OUT UINT64 *StructureSize,
IN OUT SEC_PLATFORM_INFORMATION_RECORD *PlatformInformationRecord
);
typedef struct _EFI_SEC_PLATFORM_INFORMATION_PPI {
SEC_PLATFORM_INFORMATION PlatformInformation;
} EFI_SEC_PLATFORM_INFORMATION_PPI;
#endif

View File

@@ -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:
SectionExtraction.c
Abstract:
Section Extraction Protocol PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (SectionExtraction)
EFI_GUID gPeiSectionExtractionPpiGuid = EFI_PEI_SECTION_EXTRACTION_PPI_GUID;
EFI_GUID_STRING(&gPeiSectionExtractionPpiGuid, "Section Extraction PPI", "Section Extraction PPI");

View File

@@ -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:
SectionExtraction.h
Abstract:
Section Extraction PPI as defined in Tiano
--*/
#ifndef _SECTION_EXTRACTION_PPI_H_
#define _SECTION_EXTRACTION_PPI_H_
#define EFI_PEI_SECTION_EXTRACTION_PPI_GUID \
{ \
0x4F89E208, 0xE144, 0x4804, 0x9E, 0xC8, 0x0F, 0x89, 0x4F, 0x7E, 0x36, 0xD7 \
}
EFI_FORWARD_DECLARATION (EFI_PEI_SECTION_EXTRACTION_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_GET_SECTION) (
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_PEI_SECTION_EXTRACTION_PPI * This,
IN EFI_SECTION_TYPE * SectionType,
IN EFI_GUID * SectionDefinitionGuid, OPTIONAL
IN UINTN SectionInstance,
IN VOID **Buffer,
IN OUT UINT32 *BufferSize,
OUT UINT32 *AuthenticationStatus
);
//
// Bit values for AuthenticationStatus
//
#define EFI_PEI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01
#define EFI_PEI_AUTH_STATUS_IMAGE_SIGNED 0x02
#define EFI_PEI_AUTH_STATUS_NOT_TESTED 0x04
#define EFI_PEI_AUTH_STATUS_TEST_FAILED 0x08
typedef struct _EFI_PEI_SECTION_EXTRACTION_PPI {
EFI_PEI_GET_SECTION PeiGetSection;
} EFI_PEI_SECTION_EXTRACTION_PPI;
extern EFI_GUID gPeiSectionExtractionPpiGuid;
#endif

View File

@@ -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:
Security.c
Abstract:
Security Architectural Protocol PPI GUID as defined in Tiano
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Security)
EFI_GUID gPeiSecurityPpiGuid = PEI_SECURITY_PPI_GUID;
EFI_GUID_STRING(&gPeiSecurityPpiGuid, "Security PPI", "Security Arch PPI");

View File

@@ -0,0 +1,48 @@
/*++
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:
Security.h
Abstract:
Security Architectural PPI as defined in Tiano
--*/
#ifndef _SECURITY_PPI_H_
#define _SECURITY_PPI_H_
#define PEI_SECURITY_PPI_GUID \
{ \
0x1388066e, 0x3a57, 0x4efa, 0x98, 0xf3, 0xc1, 0x2f, 0x3a, 0x95, 0x8a, 0x29 \
}
EFI_FORWARD_DECLARATION (PEI_SECURITY_PPI);
typedef
EFI_STATUS
(EFIAPI *PEI_SECURITY_AUTHENTICATION_STATE) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_SECURITY_PPI * This,
IN UINT32 AuthenticationStatus,
IN EFI_FFS_FILE_HEADER * FfsFileHeader,
IN OUT BOOLEAN *StartCrisisRecovery
);
typedef struct _PEI_SECURITY_PPI {
PEI_SECURITY_AUTHENTICATION_STATE AuthenticationState;
} PEI_SECURITY_PPI;
extern EFI_GUID gPeiSecurityPpiGuid;
#endif

View File

@@ -0,0 +1,28 @@
/*++
Copyright (c) 2007, 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:
Security2.c
Abstract:
PI 1.0 spec definition.
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Security2)
EFI_GUID gEfiPeiSecurity2PpiGuid = EFI_PEI_SECURITY2_PPI_GUID;
EFI_GUID_STRING(&gEfiPeiSecurity2PpiGuid, "Security2 PPI", "Security2 Arch PPI");

View File

@@ -0,0 +1,50 @@
/*++
Copyright (c) 2007, 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:
Security2.h
Abstract:
PI 1.0 spec definition.
--*/
#ifndef __SECURITY2_PPI_H__
#define __SECURITY2_PPI_H__
#define EFI_PEI_SECURITY2_PPI_GUID \
{ 0xdcd0be23, 0x9586, 0x40f4, 0xb6, 0x43, 0x6, 0x52, 0x2c, 0xed, 0x4e, 0xde}
EFI_FORWARD_DECLARATION (EFI_PEI_SECURITY2_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SECURITY_AUTHENTICATION_STATE) (
IN CONST EFI_PEI_SERVICES **PeiServices,
IN CONST EFI_PEI_SECURITY2_PPI *This,
IN UINT32 AuthenticationStatus,
IN EFI_PEI_FV_HANDLE FvHandle,
IN EFI_PEI_FILE_HANDLE FileHandle,
IN OUT BOOLEAN *DeferExection
);
typedef struct _EFI_PEI_SECURITY2_PPI {
EFI_PEI_SECURITY_AUTHENTICATION_STATE AuthenticationState;
} EFI_PEI_SECURITY2_PPI;
extern EFI_GUID gEfiPeiSecurity2PpiGuid;
#endif

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 1999 - 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:
Smbus.c
Abstract:
Smbus PPI GUID as defined in EFI 2.0
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Smbus)
EFI_GUID gPeiSmbusPpiGuid = PEI_SMBUS_PPI_GUID;
EFI_GUID_STRING(&gPeiSmbusPpiGuid, "Smbus", "Smbus PPI");

View File

@@ -0,0 +1,101 @@
/*++
Copyright (c) 1999 - 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:
Smbus.h
Abstract:
Smbus PPI as defined in EFI 2.0
--*/
#ifndef _PEI_SMBUS_PPI_H
#define _PEI_SMBUS_PPI_H
#include "EfiSmbus.h"
#define PEI_SMBUS_PPI_GUID \
{ \
0xabd42895, 0x78cf, 0x4872, 0x84, 0x44, 0x1b, 0x5c, 0x18, 0xb, 0xfb, 0xda \
}
EFI_FORWARD_DECLARATION (PEI_SMBUS_PPI);
typedef
EFI_STATUS
(EFIAPI *PEI_SMBUS_PPI_EXECUTE_OPERATION) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_SMBUS_PPI * This,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN EFI_SMBUS_DEVICE_COMMAND Command,
IN EFI_SMBUS_OPERATION Operation,
IN BOOLEAN PecCheck,
IN OUT UINTN *Length,
IN OUT VOID *Buffer
);
typedef
EFI_STATUS
(EFIAPI *PEI_SMBUS_NOTIFY_FUNCTION) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_SMBUS_PPI * SmbusPpi,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN UINTN Data
);
//
// If ArpAll is TRUE, SmbusUdid/SlaveAddress is Optional.
// If FALSE, ArpDevice will enum SmbusUdid and the address will be at SlaveAddress
//
typedef
EFI_STATUS
(EFIAPI *PEI_SMBUS_PPI_ARP_DEVICE) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_SMBUS_PPI * This,
IN BOOLEAN ArpAll,
IN EFI_SMBUS_UDID * SmbusUdid, OPTIONAL
IN OUT EFI_SMBUS_DEVICE_ADDRESS * SlaveAddress OPTIONAL
);
typedef
EFI_STATUS
(EFIAPI *PEI_SMBUS_PPI_GET_ARP_MAP) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_SMBUS_PPI * This,
IN OUT UINTN *Length,
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
);
typedef
EFI_STATUS
(EFIAPI *PEI_SMBUS_PPI_NOTIFY) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_SMBUS_PPI * This,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN UINTN Data,
IN PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction
);
typedef struct _PEI_SMBUS_PPI {
PEI_SMBUS_PPI_EXECUTE_OPERATION Execute;
PEI_SMBUS_PPI_ARP_DEVICE ArpDevice;
PEI_SMBUS_PPI_GET_ARP_MAP GetArpMap;
PEI_SMBUS_PPI_NOTIFY Notify;
} PEI_SMBUS_PPI;
extern EFI_GUID gPeiSmbusPpiGuid;
#endif

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 2007, 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:
Smbus2.c
Abstract:
Smbus2 PPI GUID as defined in PI1.0
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Smbus2)
EFI_GUID gPeiSmbus2PpiGuid = PEI_SMBUS2_PPI_GUID;
EFI_GUID_STRING(&gPeiSmbus2PpiGuid, "Smbus2", "Smbus2 PPI");

View File

@@ -0,0 +1,96 @@
/*++
Copyright (c) 2007, 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:
Smbus2.h
Abstract:
Smbus2 PPI as defined in PI 1.0
--*/
#ifndef _PEI_SMBUS2_PPI_H
#define _PEI_SMBUS2_PPI_H
#include "EfiSmbus.h"
#define PEI_SMBUS2_PPI_GUID \
{ \
0x9ca93627, 0xb65b, 0x4324, 0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76, 0x45, 0x43 \
}
EFI_FORWARD_DECLARATION (EFI_PEI_SMBUS2_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION) (
IN CONST EFI_PEI_SMBUS2_PPI * This,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN EFI_SMBUS_DEVICE_COMMAND Command,
IN EFI_SMBUS_OPERATION Operation,
IN BOOLEAN PecCheck,
IN OUT UINTN *Length,
IN OUT VOID *Buffer
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SMBUS_NOTIFY2_FUNCTION) (
IN CONST EFI_PEI_SMBUS2_PPI * SmbusPpi,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN UINTN Data
);
//
// If ArpAll is TRUE, SmbusUdid/SlaveAddress is Optional.
// If FALSE, ArpDevice will enum SmbusUdid and the address will be at SlaveAddress
//
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SMBUS2_PPI_ARP_DEVICE) (
IN CONST EFI_PEI_SMBUS2_PPI * This,
IN BOOLEAN ArpAll,
IN EFI_SMBUS_UDID * SmbusUdid, OPTIONAL
IN OUT EFI_SMBUS_DEVICE_ADDRESS * SlaveAddress OPTIONAL
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SMBUS2_PPI_GET_ARP_MAP) (
IN CONST EFI_PEI_SMBUS2_PPI * This,
IN OUT UINTN *Length,
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SMBUS2_PPI_NOTIFY) (
IN CONST EFI_PEI_SMBUS2_PPI * This,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN UINTN Data,
IN EFI_PEI_SMBUS_NOTIFY2_FUNCTION NotifyFunction
);
typedef struct _EFI_PEI_SMBUS2_PPI {
EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION Execute;
EFI_PEI_SMBUS2_PPI_ARP_DEVICE ArpDevice;
EFI_PEI_SMBUS2_PPI_GET_ARP_MAP GetArpMap;
EFI_PEI_SMBUS2_PPI_NOTIFY Notify;
EFI_GUID Identifier;
} EFI_PEI_SMBUS2_PPI;
extern EFI_GUID gPeiSmbus2PpiGuid;
#endif

View File

@@ -0,0 +1,28 @@
/*++
Copyright (c) 1999 - 2002, 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:
Stall.c
Abstract:
Stall PPI
--*/
#include "Tiano.h"
#include "Pei.h"
#include EFI_PPI_DEFINITION (Stall)
EFI_GUID gPeiStallPpiGuid = PEI_STALL_PPI_GUID;
EFI_GUID_STRING(&gPeiStallPpiGuid, "Stall", "Stall PPI");

View File

@@ -0,0 +1,47 @@
/*++
Copyright (c) 1999 - 2002, 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:
Stall.h
Abstract:
Stall PPI
--*/
#ifndef _PEI_STALL_PPI_H_
#define _PEI_STALL_PPI_H_
#define PEI_STALL_PPI_GUID \
{ \
0x1f4c6f90, 0xb06b, 0x48d8, 0xa2, 0x01, 0xba, 0xe5, 0xf1, 0xcd, 0x7d, 0x56 \
}
EFI_FORWARD_DECLARATION (PEI_STALL_PPI);
typedef
EFI_STATUS
(EFIAPI *PEI_STALL) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_STALL_PPI * This,
IN UINTN Microseconds
);
typedef struct _PEI_STALL_PPI {
UINTN Resolution;
PEI_STALL Stall;
} PEI_STALL_PPI;
extern EFI_GUID gPeiStallPpiGuid;
#endif

View File

@@ -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:
StatusCode.c
Abstract:
Status Code PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (StatusCode)
EFI_GUID gPeiStatusCodePpiGuid = PEI_STATUS_CODE_PPI_GUID;
EFI_GUID_STRING(&gPeiProgressCodePpiGuid, "StatusCode", "Status Code PPI");

View File

@@ -0,0 +1,49 @@
/*++
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:
StatusCode.h
Abstract:
Status Code PPI as defined in Tiano
--*/
#ifndef _PEI_STATUS_CODE_PPI_H
#define _PEI_STATUS_CODE_PPI_H
#define PEI_STATUS_CODE_PPI_GUID \
{ \
0x229832d3, 0x7a30, 0x4b36, 0xb8, 0x27, 0xf4, 0xc, 0xb7, 0xd4, 0x54, 0x36 \
}
EFI_FORWARD_DECLARATION (PEI_STATUS_CODE_PPI);
typedef
EFI_STATUS
(EFIAPI *PEI_REPORT_STATUS_CODE) (
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_STATUS_CODE_TYPE CodeType,
IN EFI_STATUS_CODE_VALUE Value,
IN UINT32 Instance,
IN EFI_GUID * CallerId,
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
);
typedef struct _PEI_STATUS_CODE_PPI {
PEI_REPORT_STATUS_CODE ReportStatusCode;
} PEI_STATUS_CODE_PPI;
extern EFI_GUID gPeiStatusCodePpiGuid;
#endif

View File

@@ -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:
Variable.c
Abstract:
Boot Mode PPI GUID as defined in PEI EAS
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (Variable)
EFI_GUID gPeiReadOnlyVariablePpiGuid = PEI_READ_ONLY_VARIABLE_ACCESS_PPI_GUID;
EFI_GUID_STRING(&gPeiReadOnlyVariablePpiGuid, "Variable", "Read Only Variable PPI");

View File

@@ -0,0 +1,62 @@
/*++
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:
Variable.h
Abstract:
Read-only Variable Service PPI as defined in Tiano
--*/
#ifndef _PEI_READ_ONLY_VARIABLE_PPI_H
#define _PEI_READ_ONLY_VARIABLE_PPI_H
#include "EfiVariable.h"
#define PEI_READ_ONLY_VARIABLE_ACCESS_PPI_GUID \
{ \
0x3cdc90c6, 0x13fb, 0x4a75, 0x9e, 0x79, 0x59, 0xe9, 0xdd, 0x78, 0xb9, 0xfa \
}
typedef
EFI_STATUS
(EFIAPI *PEI_GET_VARIABLE) (
IN EFI_PEI_SERVICES **PeiServices,
IN CHAR16 *VariableName,
IN EFI_GUID * VendorGuid,
OUT UINT32 *Attributes OPTIONAL,
IN OUT UINTN *DataSize,
OUT VOID *Data
);
typedef
EFI_STATUS
(EFIAPI *PEI_GET_NEXT_VARIABLE_NAME) (
IN EFI_PEI_SERVICES **PeiServices,
IN OUT UINTN *VariableNameSize,
IN OUT CHAR16 *VariableName,
IN OUT EFI_GUID * VendorGuid
);
typedef struct PEI_READ_ONLY_VARIABLE_PPI {
PEI_GET_VARIABLE PeiGetVariable;
PEI_GET_NEXT_VARIABLE_NAME PeiGetNextVariableName;
} PEI_READ_ONLY_VARIABLE_PPI;
EFI_FORWARD_DECLARATION (PEI_MASTER_BOOT_MODE_PPI);
extern EFI_GUID gPeiReadOnlyVariablePpiGuid;
#endif

View File

@@ -0,0 +1,29 @@
/*++
Copyright (c) 2007, 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:
Variable2.c
Abstract:
Read-only Variable2 Service PPI as defined in PI1.0
--*/
#include "Tiano.h"
#include "PeiBind.h"
#include "PeiApi.h"
#include EFI_PPI_DEFINITION (Variable2)
EFI_GUID gPeiReadOnlyVariable2PpiGuid = EFI_PEI_READ_ONLY_VARIABLE2_PPI_GUID;
EFI_GUID_STRING(&gPeiReadOnlyVariable2PpiGuid, "Variable2", "Read Only Variable2 PPI");

View File

@@ -0,0 +1,61 @@
/*++
Copyright (c) 2007, 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:
Variable2.h
Abstract:
Read-only Variable2 Service PPI as defined in PI1.0
--*/
#ifndef _PEI_READ_ONLY_VARIABLE2_PPI_H
#define _PEI_READ_ONLY_VARIABLE2_PPI_H
#include "EfiVariable.h"
#define EFI_PEI_READ_ONLY_VARIABLE2_PPI_GUID \
{ \
0x2ab86ef5, 0xecb5, 0x4134, 0xb5, 0x56, 0x38, 0x54, 0xca, 0x1f, 0xe1, 0xb4 \
}
EFI_FORWARD_DECLARATION (EFI_PEI_READ_ONLY_VARIABLE2_PPI);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_GET_VARIABLE2) (
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
IN CONST CHAR16 *VariableName,
IN CONST EFI_GUID *VariableGuid,
OUT UINT32 *Attributes,
IN OUT UINTN *DataSize,
OUT VOID *Data
);
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_GET_NEXT_VARIABLE_NAME2) (
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
IN OUT UINTN *VariableNameSize,
IN OUT CHAR16 *VariableName,
IN OUT EFI_GUID *VariableGuid
);
typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI {
EFI_PEI_GET_VARIABLE2 GetVariable;
EFI_PEI_GET_NEXT_VARIABLE_NAME2 GetNextVariableName;
} EFI_PEI_READ_ONLY_VARIABLE2_PPI;
extern EFI_GUID gPeiReadOnlyVariable2PpiGuid;
#endif