From c9a4a977487c0bbeafcf31feca9ad8e2f72d2512 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Mon, 13 Jul 2009 05:01:48 +0000 Subject: Remove the following PPIs from the IntelFrameworkPkg because they were identical to PPIs from the PI 1.2 Specification 1) Block I/O PPI 2) Device Recovery PPI 3) Recovery Module PPI 4) S3 Resume PPI Also add Include/Guid/BlockIo.h that contains two hardware device specific GUIDs for recovery devices that are only defined in the Framework Specifications git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8915 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkPkg/Include/Ppi/BlockIo.h | 164 --------------------- .../Include/Ppi/DeviceRecoveryModule.h | 134 ----------------- IntelFrameworkPkg/Include/Ppi/RecoveryModule.h | 62 -------- IntelFrameworkPkg/Include/Ppi/S3Resume.h | 76 ---------- 4 files changed, 436 deletions(-) delete mode 100644 IntelFrameworkPkg/Include/Ppi/BlockIo.h delete mode 100644 IntelFrameworkPkg/Include/Ppi/DeviceRecoveryModule.h delete mode 100644 IntelFrameworkPkg/Include/Ppi/RecoveryModule.h delete mode 100644 IntelFrameworkPkg/Include/Ppi/S3Resume.h (limited to 'IntelFrameworkPkg/Include/Ppi') diff --git a/IntelFrameworkPkg/Include/Ppi/BlockIo.h b/IntelFrameworkPkg/Include/Ppi/BlockIo.h deleted file mode 100644 index 1e9625bf1e..0000000000 --- a/IntelFrameworkPkg/Include/Ppi/BlockIo.h +++ /dev/null @@ -1,164 +0,0 @@ -/** @file - This file declares BlockIo PPI used to access block-oriented storage devices - - Copyright (c) 2007 - 2009, 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. - - @par Revision Reference: - This PPI is defined in Framework of EFI Recovery Spec - Version 0.9 - -**/ - -#ifndef _PEI_BLOCK_IO_H_ -#define _PEI_BLOCK_IO_H_ - -#define EFI_PEI_IDE_BLOCK_IO_PPI \ - { \ - 0x0964e5b22, 0x6459, 0x11d2, { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ - } - -#define EFI_PEI_144_FLOPPY_BLOCK_IO_PPI \ - { \ - 0xda6855bd, 0x07b7, 0x4c05, { 0x9e, 0xd8, 0xe2, 0x59, 0xfd, 0x36, 0x0e, 0x22 } \ - } - -#define EFI_PEI_VIRTUAL_BLOCK_IO_PPI \ - { \ - 0x695d8aa1, 0x42ee, 0x4c46, { 0x80, 0x5c, 0x6e, 0xa6, 0xbc, 0xe7, 0x99, 0xe3 } \ - } - -typedef struct _EFI_PEI_RECOVERY_BLOCK_IO_PPI EFI_PEI_RECOVERY_BLOCK_IO_PPI; - -typedef UINT64 EFI_PEI_LBA; - -typedef enum { - LegacyFloppy = 0, - IdeCDROM = 1, - IdeLS120 = 2, - UsbMassStorage= 3, - MaxDeviceType -} EFI_PEI_BLOCK_DEVICE_TYPE; - -/// -/// Inconsistent with specification here: -/// PEI_BLOCK_IO_MEDIA has been changed to EFI_PEI_BLOCK_IO_MEDIA. -/// Inconsistency exists in Framework Recovery Specification, where all referrences to this -/// structure name are with the "EFI_" prefix, except for the definition which is without "EFI_". -/// So the name of PEI_BLOCK_IO_MEDIA is taken as the exception caused by mistake, and -/// EFI_PEI_BLOCK_IO_MEDIA is used to comply with most part of the specification. -/// -typedef struct { - EFI_PEI_BLOCK_DEVICE_TYPE DeviceType; - BOOLEAN MediaPresent; - UINTN LastBlock; - UINTN BlockSize; -} EFI_PEI_BLOCK_IO_MEDIA; - -/** - Gets the count of block I/O devices that one specific block driver detects. - - @param PeiServices General-purpose services that are available to every PEIM. - @param This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. - @param NumberBlockDevices The number of block I/O devices discovered. - - @return Status code - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_GET_NUMBER_BLOCK_DEVICES)( - IN EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_RECOVERY_BLOCK_IO_PPI *This, - OUT UINTN *NumberBlockDevices - ); - -/** - Gets a block device's media information. - - @param PeiServices General-purpose services that are available to every PEIM - @param This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. - @param DeviceIndex Specifies the block device to which the function - wants to talk. Because the driver that implements Block I/O PPIs - will manage multiple block devices, the PPIs that want to talk to a single - device must specify the device index that was assigned during the enumeration - process. This index is a number from one to NumberBlockDevices. - @param MediaInfo The media information of the specified block media. - - @retval EFI_SUCCESS Media information about the specified block device was obtained successfully. - @retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware error. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_GET_DEVICE_MEDIA_INFORMATION)( - IN EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_RECOVERY_BLOCK_IO_PPI *This, - IN UINTN DeviceIndex, - OUT EFI_PEI_BLOCK_IO_MEDIA *MediaInfo - ); - -/** - Reads the requested number of blocks from the specified block device. - - @param PeiServices General-purpose services that are available to every PEIM. - @param This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. - @param DeviceIndex Specifies the block device to which the function wants to talk. - @param StartLBA The starting logical block address (LBA) to read from on the device - @param BufferSize The size of the Buffer in bytes. This number must - be a multiple of the intrinsic block size of the device. - @param Buffer A pointer to the destination buffer for the data. - The caller is responsible for the ownership of the buffer. - - @retval EFI_SUCCESS The data was read correctly from the device. - @retval EFI_DEVICE_ERROR The device reported an error while attempting to perform the read operation. - @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, - or the buffer is not properly aligned. - @retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of - the intrinsic block size of the device. - @retval EFI_NO_MEDIA There is no media in the device. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_READ_BLOCKS)( - IN EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_RECOVERY_BLOCK_IO_PPI *This, - IN UINTN DeviceIndex, - IN EFI_PEI_LBA StartLBA, - IN UINTN BufferSize, - OUT VOID *Buffer - ); - -/// -/// EFI_PEI_RECOVERY_BLOCK_IO_PPI provides the services that are required -/// to access a block I/O device during PEI recovery boot mode. -/// -struct _EFI_PEI_RECOVERY_BLOCK_IO_PPI { - /// - /// Gets the number of block I/O devices that the specific block driver manages. - /// - EFI_PEI_GET_NUMBER_BLOCK_DEVICES GetNumberOfBlockDevices; - - /// - /// Gets the specified media information. - /// - EFI_PEI_GET_DEVICE_MEDIA_INFORMATION GetBlockDeviceMediaInfo; - - /// - /// Reads the requested number of blocks from the specified block device. - /// - EFI_PEI_READ_BLOCKS ReadBlocks; -}; - -extern EFI_GUID gEfiPeiIdeBlockIoPpiGuid; -extern EFI_GUID gEfiPei144FloppyBlockIoPpiGuid; -extern EFI_GUID gEfiPeiVirtualBlockIoPpiGuid; - -#endif diff --git a/IntelFrameworkPkg/Include/Ppi/DeviceRecoveryModule.h b/IntelFrameworkPkg/Include/Ppi/DeviceRecoveryModule.h deleted file mode 100644 index b59726f19e..0000000000 --- a/IntelFrameworkPkg/Include/Ppi/DeviceRecoveryModule.h +++ /dev/null @@ -1,134 +0,0 @@ -/** @file - This file declares the Device Recovery Module PPI. - - The interface of this PPI does the following: - - Reports the number of recovery DXE capsules that exist on the associated device(s) - - Finds the requested firmware binary capsule - - Loads that capsule into memory - - A device can be either a group of devices, such as a block device, or an individual device. - The module determines the internal search order, with capsule number 1 as the highest load - priority and number N as the lowest priority. - - Copyright (c) 2007 - 2009, 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. - - @par Revision Reference: - This PPI is defined in the "EFI Recovery" Framework spec. - Version 0.9 - -**/ - -#ifndef _PEI_DEVICE_RECOVERY_MODULE_PPI_H_ -#define _PEI_DEVICE_RECOVERY_MODULE_PPI_H_ - -#define EFI_PEI_DEVICE_RECOVERY_MODULE_PPI_GUID \ - { \ - 0x0DE2CE25, 0x446A, 0x45a7, {0xBF, 0xC9, 0x37, 0xDA, 0x26, 0x34, 0x4B, 0x37 } \ - } - -typedef struct _EFI_PEI_DEVICE_RECOVERY_MODULE_PPI EFI_PEI_DEVICE_RECOVERY_MODULE_PPI; - -/** - Returns the number of DXE capsules residing on the device. - - This function searches for DXE capsules from the associated device and returns the number - and maximum size in bytes of the capsules discovered. Entry 1 is assumed to be the - highest load priority and entry N is assumed to be the lowest priority. - - @param[in] PeiServices General-purpose services that are available to every PEIM - @param[in] This Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI instance. - @param[out] NumberRecoveryCapsules Pointer to a caller-allocated UINTN. On output, - *NumberRecoveryCapsules contains the number of recovery capsule - images available for retrieval from this PEIM instance. - - @retval EFI_SUCCESS One or more capsules were discovered. - @retval EFI_DEVICE_ERROR A device error occurred. - @retval EFI_NOT_FOUND A recovery DXE capsule cannot be found. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE)( - IN EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI *This, - OUT UINTN *NumberRecoveryCapsules - ); - -/** - Returns the size and type of the requested recovery capsule. - - This function gets the size and type of the requested recovery capsule. - - @param[in] PeiServices General-purpose services that are available to every PEIM - @param[in] This Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI instance. - @param[in] CapsuleInstance Specifies for which capsule instance to retrieve the information. - This parameter must be between one and the value returned by - GetNumberRecoveryCapsules() in NumberRecoveryCapsules. - @param[out] Size A pointer to a caller-allocated UINTN in which the size of - the requested recovery module is returned. - @param[out] CapsuleType A pointer to a caller-allocated EFI_GUID in - which the type of the requested recovery capsule is returned. - - @retval EFI_SUCCESS One or more capsules were discovered. - @retval EFI_DEVICE_ERROR A device error occurred. - @retval EFI_NOT_FOUND A recovery DXE capsule cannot be found. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO)( - IN EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI *This, - IN UINTN CapsuleInstance, - OUT UINTN *Size, - OUT EFI_GUID *CapsuleType - ); - -/** - Loads a DXE capsule from some media into memory. - - This function retrieves a DXE capsule from some device and loads it into memory. - Note that the published interface is device neutral. - - @param[in, out] PeiServices General-purpose services that are available to every PEIM - @param[in] This Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI instance. - @param[in] CapsuleInstance Specifies which capsule instance to retrieve. - This parameter must be between one and the value returned by - GetNumberRecoveryCapsules() in NumberRecoveryCapsules. - @param[out] Buffer Specifies a caller-allocated buffer in which the requested - recovery capsule will be returned. - - @retval EFI_SUCCESS One or more capsules were discovered. - @retval EFI_DEVICE_ERROR A device error occurred. - @retval EFI_NOT_FOUND A recovery DXE capsule cannot be found. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_DEVICE_LOAD_RECOVERY_CAPSULE)( - IN OUT EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI *This, - IN UINTN CapsuleInstance, - OUT VOID *Buffer - ); - -/// -/// Presents a standard interface to EFI_PEI_DEVICE_RECOVERY_MODULE_PPI, -/// regardless of the underlying device(s). -/// -struct _EFI_PEI_DEVICE_RECOVERY_MODULE_PPI { - EFI_PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE GetNumberRecoveryCapsules; ///< Returns the number of DXE capsules residing on the device. - EFI_PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO GetRecoveryCapsuleInfo; ///< Returns the size and type of the requested recovery capsule. - EFI_PEI_DEVICE_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule; ///< Loads a DXE capsule from some media into memory. -}; - -extern EFI_GUID gEfiPeiDeviceRecoveryModulePpiGuid; - -#endif /* _PEI_DEVICE_RECOVERY_MODULE_PPI_H_ */ diff --git a/IntelFrameworkPkg/Include/Ppi/RecoveryModule.h b/IntelFrameworkPkg/Include/Ppi/RecoveryModule.h deleted file mode 100644 index a011c908d4..0000000000 --- a/IntelFrameworkPkg/Include/Ppi/RecoveryModule.h +++ /dev/null @@ -1,62 +0,0 @@ -/** @file - This file declares Recovery Module PPI. - This PPI is used to find and load the recovery files. - - Copyright (c) 2007 - 2009, 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. - - @par Revision Reference: - This PPI is defined in Framework of EFI Recovery Spec. - Version 0.9 - -**/ - -#ifndef __PEI_RECOVERY_MODULE_PPI_H__ -#define __PEI_RECOVERY_MODULE_PPI_H__ - -/// -/// Inconsistent with specification here: -/// GUID marco name has been changed to the consistent PPI GUID macro name. -/// -#define EFI_PEI_RECOVERY_MODULE_PPI_GUID \ - { \ - 0xFB6D9542, 0x612D, 0x4f45, {0x87, 0x2F, 0x5C, 0xFF, 0x52, 0xE9, 0x3D, 0xCF } \ - } - -typedef struct _EFI_PEI_RECOVERY_MODULE_PPI EFI_PEI_RECOVERY_MODULE_PPI; - -/** - Loads a DXE capsule from some media into memory and updates the HOB table - with the DXE firmware volume information. - - @param PeiServices General-purpose services that are available to every PEIM. - @param This Indicates the EFI_PEI_RECOVERY_MODULE_PPI instance. - - @retval EFI_SUCCESS The capsule was loaded correctly. - @retval EFI_DEVICE_ERROR A device error occurred. - @retval EFI_NOT_FOUND A recovery DXE capsule cannot be found. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_LOAD_RECOVERY_CAPSULE)( - IN EFI_PEI_SERVICES **PeiServices, - IN EFI_PEI_RECOVERY_MODULE_PPI *This - ); - -/** - Finds and loads the recovery files. -**/ -struct _EFI_PEI_RECOVERY_MODULE_PPI { - EFI_PEI_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule; ///< Loads a DXE binary capsule into memory. -}; - -extern EFI_GUID gEfiPeiRecoveryModulePpiGuid; - -#endif diff --git a/IntelFrameworkPkg/Include/Ppi/S3Resume.h b/IntelFrameworkPkg/Include/Ppi/S3Resume.h deleted file mode 100644 index 0995a2f1b9..0000000000 --- a/IntelFrameworkPkg/Include/Ppi/S3Resume.h +++ /dev/null @@ -1,76 +0,0 @@ -/** @file - This file declares S3 Resume PPI which accomplishes the firmware S3 resume boot path - and transfers control to OS. - - This PPI is published by the S3 resume PEIM and can be used on the S3 resume boot path to - restore the platform to its preboot configuration and transfer control to OS. The information that is - required for an S3 resume can be saved during the normal boot path using - EFI_ACPI_S3_SAVE_PROTOCOL. This presaved information can then be restored in the S3 - resume boot path using EFI_PEI_S3_RESUME_PPI. Architecturally, the S3 resume PEIM is the - last PEIM to be dispatched in the S3 resume boot path. - Before using this PPI, the caller has to ensure the necessary information for the S3 resume, such as - the following, is available for the S3 resume boot path: - - EFI_ACPI_S3_RESUME_SCRIPT_TABLE script table. Type - EFI_ACPI_S3_RESUME_SCRIPT_TABLE is defined in the Intel Platform Innovation - Framework for EFI Boot Script Specification. - - OS waking vector. - - The reserved memory range to be used for the S3 resume. - Otherwise, the S3 resume boot path may fail. - - Copyright (c) 2007 - 2009, 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. - - @par Revision Reference: - This PPI is defined in Framework for EFI S3 Resume Boot Path spec. - Version 0.9. - -**/ - -#ifndef __PEI_S3_RESUME_PPI_H__ -#define __PEI_S3_RESUME_PPI_H__ - -#define EFI_PEI_S3_RESUME_PPI_GUID \ - { \ - 0x4426CCB2, 0xE684, 0x4a8a, {0xAE, 0x40, 0x20, 0xD4, 0xB0, 0x25, 0xB7, 0x10 } \ - } - -typedef struct _EFI_PEI_S3_RESUME_PPI EFI_PEI_S3_RESUME_PPI; - -/** - Restores the platform to its preboot configuration for an S3 resume and - jumps to the OS waking vector. - - @param PeiServices Pointer to the PEI Services Table - - @retval EFI_ABORTED Execution of the S3 resume boot script table failed. - @retval EFI_NOT_FOUND Some necessary information that is used for - the S3 resume boot path could not be located. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG)( - IN EFI_PEI_SERVICES **PeiServices - ); - -/** - EFI_PEI_S3_RESUME_PPI accomplishes the firmware S3 resume boot - path and transfers control to OS. -**/ -struct _EFI_PEI_S3_RESUME_PPI { - /// - /// Restores the platform to its preboot configuration for an S3 resume and - /// jumps to the OS waking vector. - /// - EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG S3RestoreConfig; -}; - -extern EFI_GUID gEfiPeiS3ResumePpiGuid; - -#endif -- cgit v1.2.3