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:
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.c
Normal 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");
|
250
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.h
Normal file
250
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.h
Normal 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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.c
Normal 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");
|
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.h
Normal file
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.h
Normal 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
|
@@ -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
|
@@ -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");
|
@@ -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
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.c
Normal 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");
|
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.h
Normal file
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.h
Normal 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
|
@@ -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.
|
||||
//
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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.
|
||||
//
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.c
Normal file
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.c
Normal 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");
|
65
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.h
Normal file
65
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.h
Normal 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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.c
Normal file
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.c
Normal 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");
|
54
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.h
Normal file
54
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.h
Normal 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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus/Smbus.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus/Smbus.c
Normal 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");
|
101
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus/Smbus.h
Normal file
101
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus/Smbus.h
Normal 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
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus2/Smbus2.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus2/Smbus2.c
Normal 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");
|
96
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus2/Smbus2.h
Normal file
96
EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus2/Smbus2.h
Normal 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
|
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/Stall/Stall.c
Normal file
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/Stall/Stall.c
Normal 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");
|
47
EdkCompatibilityPkg/Foundation/Framework/Ppi/Stall/Stall.h
Normal file
47
EdkCompatibilityPkg/Foundation/Framework/Ppi/Stall/Stall.h
Normal 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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
@@ -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");
|
@@ -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
|
Reference in New Issue
Block a user