diff options
Diffstat (limited to 'MdePkg/Include/Ppi')
47 files changed, 1002 insertions, 822 deletions
diff --git a/MdePkg/Include/Ppi/BlockIo.h b/MdePkg/Include/Ppi/BlockIo.h index 7331855f5742..220c5ba1371e 100644 --- a/MdePkg/Include/Ppi/BlockIo.h +++ b/MdePkg/Include/Ppi/BlockIo.h @@ -1,27 +1,21 @@ /** @file - Provides the services required to access a block I/O device during PEI recovery + Provides the services required to access a block I/O device during PEI recovery boot mode. - The Recovery Module PPI and the Device Recovery Module PPI are device neutral. - This PPI is device specific and addresses the most common form of recovery + The Recovery Module PPI and the Device Recovery Module PPI are device neutral. + This PPI is device specific and addresses the most common form of recovery media-block I/O devices such as legacy floppy, CD-ROM, or IDE devices. - The Recovery Block I/O PPI is used to access block devices. Because the Recovery - Block I/O PPIs that are provided by the PEI ATAPI driver and PEI legacy floppy + The Recovery Block I/O PPI is used to access block devices. Because the Recovery + Block I/O PPIs that are provided by the PEI ATAPI driver and PEI legacy floppy driver are the same, here we define a set of general PPIs for both drivers to use. - -Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 1: - Pre-EFI Initalization Core Interface. + This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 1: + Pre-EFI Initialization Core Interface. **/ @@ -50,7 +44,7 @@ typedef UINT64 EFI_PEI_LBA; /// EFI_PEI_BLOCK_DEVICE_TYPE /// typedef enum { - LegacyFloppy = 0, ///< The recovery device is a floppy. + LegacyFloppy = 0, ///< The recovery device is a floppy. IdeCDROM = 1, ///< The recovery device is an IDE CD-ROM IdeLS120 = 2, ///< The recovery device is an IDE LS-120 UsbMassStorage= 3, ///< The recovery device is a USB Mass Storage device @@ -61,22 +55,22 @@ typedef enum { } EFI_PEI_BLOCK_DEVICE_TYPE; /// -/// Specification inconsistency here: +/// Specification inconsistency here: /// PEI_BLOCK_IO_MEDIA has been changed to EFI_PEI_BLOCK_IO_MEDIA. -/// Inconsistency exists in UEFI Platform Initialization Specification 1.2 -/// Volume 1: Pre-EFI Initalization Core Interface, 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, and EFI_PEI_BLOCK_IO_MEDIA is used to comply with most of +/// Inconsistency exists in UEFI Platform Initialization Specification 1.2 +/// Volume 1: Pre-EFI Initialization Core Interface, where all references 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, and EFI_PEI_BLOCK_IO_MEDIA is used to comply with most of /// the specification. /// typedef struct { /// - /// The type of media device being referenced by DeviceIndex. + /// The type of media device being referenced by DeviceIndex. /// EFI_PEI_BLOCK_DEVICE_TYPE DeviceType; /// - /// A flag that indicates if media is present. This flag is always set for + /// A flag that indicates if media is present. This flag is always set for /// nonremovable media devices. /// BOOLEAN MediaPresent; @@ -93,16 +87,16 @@ typedef struct { /** Gets the count of block I/O devices that one specific block driver detects. - This function is used for getting the count of block I/O devices that one + This function is used for getting the count of block I/O devices that one specific block driver detects. To the PEI ATAPI driver, it returns the number - of all the detected ATAPI devices it detects during the enumeration process. - To the PEI legacy floppy driver, it returns the number of all the legacy - devices it finds during its enumeration process. If no device is detected, - then the function will return zero. - - @param[in] PeiServices General-purpose services that are available + of all the detected ATAPI devices it detects during the enumeration process. + To the PEI legacy floppy driver, it returns the number of all the legacy + devices it finds during its enumeration process. If no device is detected, + then the function will return zero. + + @param[in] PeiServices General-purpose services that are available to every PEIM. - @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI + @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. @param[out] NumberBlockDevices The number of block I/O devices discovered. @@ -120,41 +114,41 @@ EFI_STATUS /** Gets a block device's media information. - This function will provide the caller with the specified block device's media - information. If the media changes, calling this function will update the media + This function will provide the caller with the specified block device's media + information. If the media changes, calling this function will update the media information accordingly. @param[in] PeiServices General-purpose services that are available to every PEIM @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. - @param[in] 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 + @param[in] 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 + process. This index is a number from one to NumberBlockDevices. - @param[out] MediaInfo The media information of the specified block media. - The caller is responsible for the ownership of this + @param[out] MediaInfo The media information of the specified block media. + The caller is responsible for the ownership of this data structure. - @par Note: - The MediaInfo structure describes an enumeration of possible block device - types. This enumeration exists because no device paths are actually passed - across interfaces that describe the type or class of hardware that is publishing + @par Note: + The MediaInfo structure describes an enumeration of possible block device + types. This enumeration exists because no device paths are actually passed + across interfaces that describe the type or class of hardware that is publishing the block I/O interface. This enumeration will allow for policy decisions - in the Recovery PEIM, such as "Try to recover from legacy floppy first, - LS-120 second, CD-ROM third." If there are multiple partitions abstracted - by a given device type, they should be reported in ascending order; this - order also applies to nested partitions, such as legacy MBR, where the - outermost partitions would have precedence in the reporting order. The - same logic applies to systems such as IDE that have precedence relationships - like "Master/Slave" or "Primary/Secondary". The master device should be + in the Recovery PEIM, such as "Try to recover from legacy floppy first, + LS-120 second, CD-ROM third." If there are multiple partitions abstracted + by a given device type, they should be reported in ascending order; this + order also applies to nested partitions, such as legacy MBR, where the + outermost partitions would have precedence in the reporting order. The + same logic applies to systems such as IDE that have precedence relationships + like "Master/Slave" or "Primary/Secondary". The master device should be reported first, the slave second. - - @retval EFI_SUCCESS Media information about the specified block device + + @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 + @retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware error. **/ @@ -170,31 +164,31 @@ EFI_STATUS /** Reads the requested number of blocks from the specified block device. - The function reads the requested number of blocks from the device. All the + The function reads the requested number of blocks from the device. All the blocks are read, or an error is returned. If there is no media in the device, the function returns EFI_NO_MEDIA. - @param[in] PeiServices General-purpose services that are available to + @param[in] PeiServices General-purpose services that are available to every PEIM. @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. - @param[in] 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, PPIs that - want to talk to a single device must specify the device - index that was assigned during the enumeration process. + @param[in] 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, 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[in] StartLBA The starting logical block address (LBA) to read from on the device @param[in] BufferSize The size of the Buffer in bytes. This number must be a multiple of the intrinsic block size of the device. @param[out] Buffer A pointer to the destination buffer for the data. - The caller is responsible for the ownership of the + 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 + @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 + @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, or the buffer is not properly aligned. @retval EFI_NO_MEDIA There is no media in the device. @retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of @@ -221,12 +215,12 @@ 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. /// diff --git a/MdePkg/Include/Ppi/BlockIo2.h b/MdePkg/Include/Ppi/BlockIo2.h index c76b7033e65d..992429488dfa 100644 --- a/MdePkg/Include/Ppi/BlockIo2.h +++ b/MdePkg/Include/Ppi/BlockIo2.h @@ -3,17 +3,11 @@ boot mode. Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is defined in UEFI Platform Initialization Specification 1.4 Volume 1: - Pre-EFI Initalization Core Interface. + Pre-EFI Initialization Core Interface. **/ diff --git a/MdePkg/Include/Ppi/BootInRecoveryMode.h b/MdePkg/Include/Ppi/BootInRecoveryMode.h index 8671d5141d80..11b463e8abe8 100644 --- a/MdePkg/Include/Ppi/BootInRecoveryMode.h +++ b/MdePkg/Include/Ppi/BootInRecoveryMode.h @@ -1,15 +1,9 @@ /** @file - This PPI is installed by the platform PEIM to designate that a recovery boot + This PPI is installed by the platform PEIM to designate that a recovery boot is in progress. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. diff --git a/MdePkg/Include/Ppi/Capsule.h b/MdePkg/Include/Ppi/Capsule.h index 2cc64c514243..34b3e9bb19e0 100644 --- a/MdePkg/Include/Ppi/Capsule.h +++ b/MdePkg/Include/Ppi/Capsule.h @@ -1,15 +1,9 @@ /** @file - Defines the APIs that enable PEI services to work with + Defines the APIs that enable PEI services to work with the underlying capsule capabilities of the platform. -Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.4. @@ -38,23 +32,23 @@ typedef struct _EFI_PEI_CAPSULE_PPI EFI_PEI_CAPSULE_PPI; typedef struct _EFI_PEI_CAPSULE_PPI PEI_CAPSULE_PPI; /** - Upon determining that there is a capsule to operate on, this service - will use a series of EFI_CAPSULE_BLOCK_DESCRIPTOR entries to determine - the current location of the various capsule fragments and coalesce them - into a contiguous region of system memory. + Upon determining that there is a capsule to operate on, this service + will use a series of EFI_CAPSULE_BLOCK_DESCRIPTOR entries to determine + the current location of the various capsule fragments and coalesce them + into a contiguous region of system memory. @param[in] PeiServices Pointer to the PEI Services Table. @param[out] MemoryBase Pointer to the base of a block of memory into which the buffers will be coalesced. - On output, this variable will hold the base address + On output, this variable will hold the base address of a coalesced capsule. @param[out] MemorySize Size of the memory region pointed to by MemoryBase. On output, this variable will contain the size of the coalesced capsule. - @retval EFI_NOT_FOUND If: boot modecould not be determined, or the - boot mode is not flash-update, or the capsule descriptors were not found. - @retval EFI_BUFFER_TOO_SMALL The capsule could not be coalesced in the provided memory region. - @retval EFI_SUCCESS There was no capsule, or the capsule was processed successfully. + @retval EFI_NOT_FOUND If: boot mode could not be determined, or the + boot mode is not flash-update, or the capsule descriptors were not found. + @retval EFI_BUFFER_TOO_SMALL The capsule could not be coalesced in the provided memory region. + @retval EFI_SUCCESS There was no capsule, or the capsule was processed successfully. **/ typedef @@ -66,12 +60,12 @@ EFI_STATUS ); /** - Determine if a capsule needs to be processed. + Determine if a capsule needs to be processed. The means by which the presence of a capsule is determined is platform - specific. For example, an implementation could be driven by the presence - of a Capsule EFI Variable containing a list of EFI_CAPSULE_BLOCK_DESCRIPTOR + specific. For example, an implementation could be driven by the presence + of a Capsule EFI Variable containing a list of EFI_CAPSULE_BLOCK_DESCRIPTOR entries. If present, return EFI_SUCCESS, otherwise return EFI_NOT_FOUND. - + @param[in] PeiServices Pointer to the PEI Services Table. @retval EFI_SUCCESS If a capsule is available. @@ -87,9 +81,9 @@ EFI_STATUS /** The Capsule PPI service that gets called after memory is available. The capsule coalesce function, which must be called first, returns a base - address and size. Once the memory init PEIM has discovered memory, - it should call this function and pass in the base address and size - returned by the Coalesce() function. Then this function can create a + address and size. Once the memory init PEIM has discovered memory, + it should call this function and pass in the base address and size + returned by the Coalesce() function. Then this function can create a capsule HOB and return. @par Notes: @@ -97,7 +91,7 @@ EFI_STATUS actual capsule update. @param[in] PeiServices Pointer to the PEI Services Table. - @param[in] CapsuleBase Address returned by the capsule coalesce function. + @param[in] CapsuleBase Address returned by the capsule coalesce function. @param[in] CapsuleSize Value returned by the capsule coalesce function. @retval EFI_VOLUME_CORRUPTED CapsuleBase does not appear to point to a @@ -110,13 +104,13 @@ EFI_STATUS (EFIAPI *EFI_PEI_CAPSULE_CREATE_STATE)( IN EFI_PEI_SERVICES **PeiServices, IN VOID *CapsuleBase, - IN UINTN CapsuleSize + IN UINTN CapsuleSize ); /// /// This PPI provides several services in PEI to work with the underlying -/// capsule capabilities of the platform. These services include the ability -/// for PEI to coalesce a capsule from a scattered set of memory locations +/// capsule capabilities of the platform. These services include the ability +/// for PEI to coalesce a capsule from a scattered set of memory locations /// into a contiguous space in memory, detect if a capsule is present for /// processing, and once memory is available, create a HOB for the capsule. /// diff --git a/MdePkg/Include/Ppi/CpuIo.h b/MdePkg/Include/Ppi/CpuIo.h index 410a75b27b08..fe700d38ced2 100644 --- a/MdePkg/Include/Ppi/CpuIo.h +++ b/MdePkg/Include/Ppi/CpuIo.h @@ -1,19 +1,13 @@ /** @file - This PPI provides a set of memory and I/O-based services. + This PPI provides a set of memory and I/O-based services. The perspective of the services is that of the processor, not the bus or system. -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. - + **/ #ifndef __PEI_CPUIO_PPI_H__ @@ -86,7 +80,7 @@ typedef struct { /** 8-bit I/O read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -105,7 +99,7 @@ UINT8 /** 16-bit I/O read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -124,7 +118,7 @@ UINT16 /** 32-bit I/O read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -143,7 +137,7 @@ UINT32 /** 64-bit I/O read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -162,7 +156,7 @@ UINT64 /** 8-bit I/O write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -181,7 +175,7 @@ VOID /** 16-bit I/O write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -200,7 +194,7 @@ VOID /** 32-bit I/O write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -219,7 +213,7 @@ VOID /** 64-bit I/O write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -238,7 +232,7 @@ VOID /** 8-bit memory read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -257,7 +251,7 @@ UINT8 /** 16-bit memory read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -276,7 +270,7 @@ UINT16 /** 32-bit memory read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -295,7 +289,7 @@ UINT32 /** 64-bit memory read operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -314,7 +308,7 @@ UINT64 /** 8-bit memory write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -333,7 +327,7 @@ VOID /** 16-bit memory write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -352,7 +346,7 @@ VOID /** 32-bit memory write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -371,7 +365,7 @@ VOID /** 64-bit memory write operations. - @param[in] PeiServices An indirect pointer to the PEI Services Table published + @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param[in] This The pointer to local data for the interface. @param[in] Address The physical address of the access. @@ -389,7 +383,7 @@ VOID /// /// EFI_PEI_CPU_IO_PPI provides a set of memory and I/O-based services. -/// The perspective of the services is that of the processor, not that of the +/// The perspective of the services is that of the processor, not that of the /// bus or system. /// struct _EFI_PEI_CPU_IO_PPI { diff --git a/MdePkg/Include/Ppi/Decompress.h b/MdePkg/Include/Ppi/Decompress.h index 49678e9dbe08..adbe11f57ed4 100644 --- a/MdePkg/Include/Ppi/Decompress.h +++ b/MdePkg/Include/Ppi/Decompress.h @@ -1,14 +1,8 @@ /** @file - Provides decompression services to the PEI Foundatoin. + Provides decompression services to the PEI Foundation. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -23,9 +17,9 @@ typedef struct _EFI_PEI_DECOMPRESS_PPI EFI_PEI_DECOMPRESS_PPI; -/** +/** Decompress a single compression section in a firmware file. - + Decompresses the data in a compressed section and returns it as a series of standard PI Firmware File Sections. The required memory is allocated from permanent memory. diff --git a/MdePkg/Include/Ppi/DelayedDispatch.h b/MdePkg/Include/Ppi/DelayedDispatch.h new file mode 100644 index 000000000000..a51da027b8d9 --- /dev/null +++ b/MdePkg/Include/Ppi/DelayedDispatch.h @@ -0,0 +1,85 @@ +/** @file + EFI Delayed Dispatch PPI as defined in the PI 1.7 Specification + + Provide timed event service in PEI + + Copyright (c) 2020, American Megatrends International LLC. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef __DELAYED_DISPATCH_PPI_H__ +#define __DELAYED_DISPATCH_PPI_H__ + +/// +/// Global ID for EFI_DELAYED_DISPATCH_PPI_GUID +/// +#define EFI_DELAYED_DISPATCH_PPI_GUID \ + { \ + 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6} } \ + } + + +/** + Delayed Dispatch function. This routine is called sometime after the required + delay. Upon return, if NewDelay is 0, the function is unregistered. If NewDelay + is not zero, this routine will be called again after the new delay period. + + @param[in,out] Context Pointer to Context. Can be updated by routine. + @param[out] NewDelay The new delay in us. Leave at 0 to unregister callback. + +**/ + +typedef +VOID +(EFIAPI *EFI_DELAYED_DISPATCH_FUNCTION) ( + IN OUT UINT64 *Context, + OUT UINT32 *NewDelay + ); + + +/// +/// The forward declaration for EFI_DELAYED_DISPATCH_PPI +/// + +typedef struct _EFI_DELAYED_DISPATCH_PPI EFI_DELAYED_DISPATCH_PPI; + + +/** +Register a callback to be called after a minimum delay has occurred. + +This service is the single member function of the EFI_DELAYED_DISPATCH_PPI + + @param This Pointer to the EFI_DELAYED_DISPATCH_PPI instance + @param Function Function to call back + @param Context Context data + @param Delay Delay interval + + @retval EFI_SUCCESS Function successfully loaded + @retval EFI_INVALID_PARAMETER One of the Arguments is not supported + @retval EFI_OUT_OF_RESOURCES No more entries + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_DELAYED_DISPATCH_REGISTER)( + IN EFI_DELAYED_DISPATCH_PPI *This, + IN EFI_DELAYED_DISPATCH_FUNCTION Function, + IN UINT64 Context, + OUT UINT32 Delay + ); + + +/// +/// This PPI is a pointer to the Delayed Dispatch Service. +/// This service will be published by the Pei Foundation. The PEI Foundation +/// will use this service to relaunch a known function that requests a delayed +/// execution. +/// +struct _EFI_DELAYED_DISPATCH_PPI { + EFI_DELAYED_DISPATCH_REGISTER Register; +}; + + +extern EFI_GUID gEfiPeiDelayedDispatchPpiGuid; + +#endif diff --git a/MdePkg/Include/Ppi/DeviceRecoveryModule.h b/MdePkg/Include/Ppi/DeviceRecoveryModule.h index 6f3a2174ca85..24fcc20d6694 100644 --- a/MdePkg/Include/Ppi/DeviceRecoveryModule.h +++ b/MdePkg/Include/Ppi/DeviceRecoveryModule.h @@ -10,18 +10,12 @@ 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 - 2011, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 1: - Pre-EFI Initalization Core Interface + This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 1: + Pre-EFI Initialization Core Interface **/ @@ -39,18 +33,18 @@ typedef struct _EFI_PEI_DEVICE_RECOVERY_MODULE_PPI EFI_PEI_DEVICE_RECOVERY_MODUL 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 + 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 + @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 + @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. @@ -72,18 +66,18 @@ EFI_STATUS This function gets the size and type of the capsule specified by CapsuleInstance. @param[in] PeiServices General-purpose services that are available to every PEIM - @param[in] This Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI + @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() + @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 + @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. The semantic meaning of the value + @param[out] CapsuleType A pointer to a caller-allocated EFI_GUID in which + the type of the requested recovery capsule is + returned. The semantic meaning of the value returned is defined by the implementation. @retval EFI_SUCCESS One or more capsules were discovered. @@ -107,12 +101,12 @@ EFI_STATUS This function, by whatever mechanism, retrieves a DXE capsule from some device and loads it into memory. Note that the published interface is device neutral. - @param[in] PeiServices General-purpose services that are available + @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 which capsule instance to retrieve. - @param[out] Buffer Specifies a caller-allocated buffer in which + @param[out] Buffer Specifies a caller-allocated buffer in which the requested recovery capsule will be returned. @retval EFI_SUCCESS The capsule was loaded correctly. diff --git a/MdePkg/Include/Ppi/DxeIpl.h b/MdePkg/Include/Ppi/DxeIpl.h index 3d3d1f3c4db1..512a0f63241d 100644 --- a/MdePkg/Include/Ppi/DxeIpl.h +++ b/MdePkg/Include/Ppi/DxeIpl.h @@ -2,14 +2,8 @@ This file declares DXE Initial Program Load PPI. When the PEI core is done it calls the DXE IPL PPI to load the DXE Foundation. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -27,7 +21,7 @@ typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI; /** - The architectural PPI that the PEI Foundation invokes when + The architectural PPI that the PEI Foundation invokes when there are no additional PEIMs to invoke. This function is invoked by the PEI Foundation. @@ -46,7 +40,7 @@ typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI; @param HobList Pointer to the list of Hand-Off Block (HOB) entries. @retval EFI_SUCCESS Upon this return code, the PEI Foundation should enter - some exception handling.Under normal circumstances, + some exception handling.Under normal circumstances, the DXE IPL PPI should not return. **/ diff --git a/MdePkg/Include/Ppi/EndOfPeiPhase.h b/MdePkg/Include/Ppi/EndOfPeiPhase.h index b123c79dcd9f..99b4cbee7618 100644 --- a/MdePkg/Include/Ppi/EndOfPeiPhase.h +++ b/MdePkg/Include/Ppi/EndOfPeiPhase.h @@ -1,17 +1,11 @@ /** @file - This PPI will be installed at the end of PEI for all boot paths, including - normal, recovery, and S3. It allows for PEIMs to possibly quiesce hardware, - build handoff information for the next phase of execution, + This PPI will be installed at the end of PEI for all boot paths, including + normal, recovery, and S3. It allows for PEIMs to possibly quiesce hardware, + build handoff information for the next phase of execution, or provide some terminal processing behavior. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. diff --git a/MdePkg/Include/Ppi/FirmwareVolume.h b/MdePkg/Include/Ppi/FirmwareVolume.h index 37eaa2129e8f..296686589ed2 100644 --- a/MdePkg/Include/Ppi/FirmwareVolume.h +++ b/MdePkg/Include/Ppi/FirmwareVolume.h @@ -1,14 +1,8 @@ /** @file This file provides functions for accessing a memory-mapped firmware volume of a specific format. - Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is from PI Version 1.0 errata. @@ -22,7 +16,7 @@ /// The GUID for this PPI is the same as the firmware volume format GUID. /// The FV format can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for a user-defined /// format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format. -/// +/// typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI; @@ -36,15 +30,15 @@ typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI; buffer which contains the necessary information for creating the firmware volume handle. Normally, these values are derived from the EFI_FIRMWARE_VOLUME_INFO_PPI. - - + + @param This Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. @param Buffer Points to the start of the buffer. @param BufferSize Size of the buffer. @param FvHandle Points to the returned firmware volume handle. The firmware volume handle must - be unique within the system. + be unique within the system. @retval EFI_SUCCESS Firmware volume handle created. @retval EFI_VOLUME_CORRUPTED Volume was corrupt. @@ -62,7 +56,7 @@ EFI_STATUS /** Finds the next file of the specified type. - This service enables PEI modules to discover additional firmware files. + This service enables PEI modules to discover additional firmware files. The FileHandle must be unique within the system. @param This Points to this instance of the @@ -80,20 +74,20 @@ EFI_STATUS @retval EFI_SUCCESS The file was found. @retval EFI_NOT_FOUND The file was not found. FileHandle contains NULL. -**/ +**/ typedef EFI_STATUS -(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE)( - IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, - IN EFI_FV_FILETYPE SearchType, +(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 + IN OUT EFI_PEI_FILE_HANDLE *FileHandle ); /** - Find a file within a volume by its name. - + Find a file within a volume by its name. + This service searches for files with a specific name, within either the specified firmware volume or all firmware volumes. @@ -131,8 +125,8 @@ EFI_STATUS This function returns information about a specific file, including its file name, type, attributes, starting - address and size. - + address and size. + @param This Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. @param FileHandle Handle of the file. @@ -143,13 +137,13 @@ EFI_STATUS @retval EFI_INVALID_PARAMETER If FileHandle does not represent a valid file. @retval EFI_INVALID_PARAMETER If FileInfo is NULL. - -**/ + +**/ typedef EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_FILE_INFO)( - IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, - IN EFI_PEI_FILE_HANDLE FileHandle, + IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, + IN EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO *FileInfo ); @@ -158,7 +152,7 @@ EFI_STATUS This function returns information about a specific file, including its file name, type, attributes, starting - address, size and authentication status. + address, size and authentication status. @param This Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. @@ -175,14 +169,14 @@ EFI_STATUS typedef EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_FILE_INFO2)( - IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, + IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, IN EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO2 *FileInfo ); /** This function returns information about the firmware volume. - + @param This Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. @param FvHandle Handle to the firmware handle. @@ -193,21 +187,21 @@ EFI_STATUS @retval EFI_INVALID_PARAMETER FvHandle does not indicate a valid firmware volume or VolumeInfo is NULL. -**/ +**/ typedef EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_INFO)( - IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, - IN EFI_PEI_FV_HANDLE FvHandle, + IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, + IN EFI_PEI_FV_HANDLE FvHandle, OUT EFI_FV_INFO *VolumeInfo ); /** Find the next matching section in the firmware file. - + This service enables PEI modules to discover sections of a given type within a valid file. - + @param This Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. @param SearchType A filter to find only sections of this @@ -216,7 +210,7 @@ EFI_STATUS search. @param SectionData Updated upon return to point to the section found. - + @retval EFI_SUCCESS Section was found. @retval EFI_NOT_FOUND Section of the specified type was not found. SectionData contains NULL. @@ -291,4 +285,4 @@ struct _EFI_PEI_FIRMWARE_VOLUME_PPI { extern EFI_GUID gEfiPeiFirmwareVolumePpiGuid; -#endif +#endif diff --git a/MdePkg/Include/Ppi/FirmwareVolumeInfo.h b/MdePkg/Include/Ppi/FirmwareVolumeInfo.h index b26685519ed3..e10b9c4afc80 100644 --- a/MdePkg/Include/Ppi/FirmwareVolumeInfo.h +++ b/MdePkg/Include/Ppi/FirmwareVolumeInfo.h @@ -1,14 +1,8 @@ /** @file This file provides location and format of a firmware volume. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -26,9 +20,9 @@ typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI; /// -/// This PPI describes the location and format of a firmware volume. -/// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for -/// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is +/// This PPI describes the location and format of a firmware volume. +/// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for +/// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is /// the PI Firmware Volume format. /// struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI { diff --git a/MdePkg/Include/Ppi/FirmwareVolumeInfo2.h b/MdePkg/Include/Ppi/FirmwareVolumeInfo2.h index 4e2259299a0e..f7b9cde994d8 100644 --- a/MdePkg/Include/Ppi/FirmwareVolumeInfo2.h +++ b/MdePkg/Include/Ppi/FirmwareVolumeInfo2.h @@ -1,14 +1,8 @@ /** @file This file provides location, format and authentication status of a firmware volume. - Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.3 errata. @@ -26,9 +20,9 @@ typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI; /// -/// This PPI describes the location and format of a firmware volume. -/// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for -/// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is +/// This PPI describes the location and format of a firmware volume. +/// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for +/// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is /// the PI Firmware Volume format. /// struct _EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI { diff --git a/MdePkg/Include/Ppi/Graphics.h b/MdePkg/Include/Ppi/Graphics.h index 3ae6bef9dfef..d1fca7896bb8 100644 --- a/MdePkg/Include/Ppi/Graphics.h +++ b/MdePkg/Include/Ppi/Graphics.h @@ -4,13 +4,7 @@ other firmware modules. Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> - 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. + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.4. diff --git a/MdePkg/Include/Ppi/GuidedSectionExtraction.h b/MdePkg/Include/Ppi/GuidedSectionExtraction.h index 6eb16daa9543..3ac6503833cd 100644 --- a/MdePkg/Include/Ppi/GuidedSectionExtraction.h +++ b/MdePkg/Include/Ppi/GuidedSectionExtraction.h @@ -1,17 +1,11 @@ /** @file - If a GUID-defined section is encountered when doing section extraction, - the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance - calls the appropriate instance of the GUIDed Section Extraction PPI - to extract the section stream contained therein. + If a GUID-defined section is encountered when doing section extraction, + the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance + calls the appropriate instance of the GUIDed Section Extraction PPI + to extract the section stream contained therein. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -22,15 +16,15 @@ #define __EFI_GUIDED_SECTION_EXTRACTION_PPI_H__ // -// Typically, protocol interface structures are identified -// by associating them with a GUID. Each instance of -// a protocol with a given GUID must have -// the same interface structure. While all instances of -// the GUIDed Section Extraction PPI must have -// the same interface structure, they do not all have -// te same GUID. The GUID that is associated with -// an instance of the GUIDed Section Extraction Protocol -// is used to correlate it with the GUIDed section type +// Typically, protocol interface structures are identified +// by associating them with a GUID. Each instance of +// a protocol with a given GUID must have +// the same interface structure. While all instances of +// the GUIDed Section Extraction PPI must have +// the same interface structure, they do not all have +// te same GUID. The GUID that is associated with +// an instance of the GUIDed Section Extraction Protocol +// is used to correlate it with the GUIDed section type // that it is intended to process. // @@ -39,7 +33,7 @@ typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_E /** - Processes the input section and returns the data contained therein + Processes the input section and returns the data contained therein along with the authentication status. The ExtractSection() function processes the input section and @@ -70,7 +64,7 @@ typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_E reflect the status of the extraction operation. If the function returns anything other than EFI_SUCCESS, the value of *AuthenticationStatus is undefined. - + @retval EFI_SUCCESS The InputSection was successfully processed and the section contents were returned. @retval EFI_OUT_OF_RESOURCES The system has insufficient resources to process the request. @@ -93,7 +87,7 @@ EFI_STATUS /// calls the appropriate instance of the GUIDed Section /// Extraction PPI to extract the section stream contained /// therein. -/// +/// struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI { EFI_PEI_EXTRACT_GUIDED_SECTION ExtractSection; }; diff --git a/MdePkg/Include/Ppi/I2cMaster.h b/MdePkg/Include/Ppi/I2cMaster.h index acc4405f746e..e6d14503ecbb 100644 --- a/MdePkg/Include/Ppi/I2cMaster.h +++ b/MdePkg/Include/Ppi/I2cMaster.h @@ -1,15 +1,9 @@ /** @file - This PPI manipulates the I2C host controller to perform transactions as a master + This PPI manipulates the I2C host controller to perform transactions as a master on the I2C bus using the current state of any switches or multiplexers in the I2C bus. - Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.3. @@ -28,16 +22,16 @@ typedef struct _EFI_PEI_I2C_MASTER_PPI EFI_PEI_I2C_MASTER_PPI; /** Set the frequency for the I2C clock line. - + @param This Pointer to an EFI_PEI_I2C_MASTER_PPI structure. @param BusClockHertz Pointer to the requested I2C bus clock frequency in Hertz. - Upon return this value contains the actual frequency + Upon return this value contains the actual frequency in use by the I2C controller. @retval EFI_SUCCESS The bus frequency was set successfully. @retval EFI_INVALID_PARAMETER BusClockHertz is NULL @retval EFI_UNSUPPORTED The controller does not support this frequency. - + **/ typedef EFI_STATUS @@ -48,12 +42,12 @@ EFI_STATUS /** Reset the I2C controller and configure it for use. - + @param This Pointer to an EFI_PEI_I2C_MASTER_PPI structure. @retval EFI_SUCCESS The reset completed successfully. @retval EFI_DEVICE_ERROR The reset operation failed. - + **/ typedef EFI_STATUS @@ -63,25 +57,25 @@ EFI_STATUS /** Start an I2C transaction on the host controller. - + @param This Pointer to an EFI_PEI_I2C_MASTER_PPI structure. @param SlaveAddress Address of the device on the I2C bus. - Set the I2C_ADDRESSING_10_BIT when using 10-bit addresses, + Set the I2C_ADDRESSING_10_BIT when using 10-bit addresses, clear this bit for 7-bit addressing. - Bits 0-6 are used for 7-bit I2C slave addresses and + Bits 0-6 are used for 7-bit I2C slave addresses and bits 0-9 are used for 10-bit I2C slave addresses. @param RequestPacket Pointer to an EFI_I2C_REQUEST_PACKET structure describing the I2C transaction. - @retval EFI_SUCCESS The transaction completed successfully. - @retval EFI_BAD_BUFFER_SIZE The RequestPacket->LengthInBytes value is too large. - @retval EFI_DEVICE_ERROR There was an I2C error (NACK) during the transaction. - @retval EFI_INVALID_PARAMETER RequestPacket is NULL - @retval EFI_NO_RESPONSE The I2C device is not responding to the slave address. + @retval EFI_SUCCESS The transaction completed successfully. + @retval EFI_BAD_BUFFER_SIZE The RequestPacket->LengthInBytes value is too large. + @retval EFI_DEVICE_ERROR There was an I2C error (NACK) during the transaction. + @retval EFI_INVALID_PARAMETER RequestPacket is NULL + @retval EFI_NO_RESPONSE The I2C device is not responding to the slave address. EFI_DEVICE_ERROR will be returned if the controller cannot distinguish when the NACK occurred. - @retval EFI_NOT_FOUND Reserved bit set in the SlaveAddress parameter - @retval EFI_OUT_OF_RESOURCES Insufficient memory for I2C transaction - @retval EFI_UNSUPPORTED The controller does not support the requested transaction. - + @retval EFI_NOT_FOUND Reserved bit set in the SlaveAddress parameter + @retval EFI_OUT_OF_RESOURCES Insufficient memory for I2C transaction + @retval EFI_UNSUPPORTED The controller does not support the requested transaction. + **/ typedef EFI_STATUS diff --git a/MdePkg/Include/Ppi/IsaHc.h b/MdePkg/Include/Ppi/IsaHc.h index 16be828ec509..2cbcce28544e 100644 --- a/MdePkg/Include/Ppi/IsaHc.h +++ b/MdePkg/Include/Ppi/IsaHc.h @@ -1,14 +1,8 @@ /** @file This PPI opens or closes an I/O aperture in a ISA HOST controller. - Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is from PI Version 1.2.1. @@ -33,10 +27,10 @@ typedef struct _EFI_ISA_HC_PPI *PEFI_ISA_HC_PPI; addresses specified by IoAddress to IoAddress + IoLength - 1. It is possible that more than one caller may be assigned to the same aperture. It may be possible that a single hardware aperture may be used for more than - one device. This function tracks the number of times that each aperture is - referenced, and doesa not close the hardware aperture (via CloseIoAperture()) + one device. This function tracks the number of times that each aperture is + referenced, and does not close the hardware aperture (via CloseIoAperture()) until there are no more references to it. - + @param This A pointer to this instance of the EFI_ISA_HC_PPI. @param IoAddress An unsigned integer that specifies the first byte of the I/O space required. @@ -74,7 +68,7 @@ EFI_STATUS call to OpenIoAperture(). @retval EFI_SUCCESS The I/O aperture was closed successfully. -**/ +**/ typedef EFI_STATUS (EFIAPI *EFI_PEI_ISA_HC_CLOSE_IO) ( @@ -116,4 +110,4 @@ struct _EFI_ISA_HC_PPI { extern EFI_GUID gEfiIsaHcPpiGuid; -#endif +#endif diff --git a/MdePkg/Include/Ppi/LoadFile.h b/MdePkg/Include/Ppi/LoadFile.h index 243976c3c406..3bedf9ab37fa 100644 --- a/MdePkg/Include/Ppi/LoadFile.h +++ b/MdePkg/Include/Ppi/LoadFile.h @@ -1,14 +1,8 @@ /** @file - Load image file from fv to memory. + Load image file from fv to memory. - Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -29,7 +23,7 @@ typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI; This service is the single member function of EFI_LOAD_FILE_PPI. This service separates image loading and relocating from the PEI Foundation. - + @param This Interface pointer that implements the Load File PPI instance. @param FileHandle File handle of the file to load. @@ -47,7 +41,7 @@ typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI; @retval EFI_INVALID_PARAMETER EntryPoint was NULL. @retval EFI_UNSUPPORTED An image requires relocations or is not memory mapped. - @retval EFI_WARN_BUFFER_TOO_SMALL + @retval EFI_WARN_BUFFER_TOO_SMALL There is not enough heap to allocate the requested size. This will not prevent the XIP image from being invoked. diff --git a/MdePkg/Include/Ppi/LoadImage.h b/MdePkg/Include/Ppi/LoadImage.h index 59966e068ff1..4077eb422455 100644 --- a/MdePkg/Include/Ppi/LoadImage.h +++ b/MdePkg/Include/Ppi/LoadImage.h @@ -1,15 +1,9 @@ /** @file - The file describes the PPI which notifies other drivers + The file describes the PPI which notifies other drivers of the PEIM being initialized by the PEI Dispatcher. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -27,7 +21,7 @@ typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI; /// /// This interface is installed by the PEI Dispatcher after the image has been -/// loaded and after all security checks have been performed, +/// loaded and after all security checks have been performed, /// to notify other PEIMs of the files which are being loaded. /// struct _EFI_PEI_LOADED_IMAGE_PPI { diff --git a/MdePkg/Include/Ppi/MasterBootMode.h b/MdePkg/Include/Ppi/MasterBootMode.h index 2d071fa3342b..d3d4b7e712cf 100644 --- a/MdePkg/Include/Ppi/MasterBootMode.h +++ b/MdePkg/Include/Ppi/MasterBootMode.h @@ -1,18 +1,12 @@ /** @file This file declares Boot Mode PPI. - The Master Boot Mode PPI is installed by a PEIM to signal that a final - boot has been determined and set. This signal is useful in that PEIMs + The Master Boot Mode PPI is installed by a PEIM to signal that a final + boot has been determined and set. This signal is useful in that PEIMs with boot-mode-specific behavior can put this PPI in their dependency expression. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. diff --git a/MdePkg/Include/Ppi/MemoryDiscovered.h b/MdePkg/Include/Ppi/MemoryDiscovered.h index df7a3d81b615..0109a215cb4f 100644 --- a/MdePkg/Include/Ppi/MemoryDiscovered.h +++ b/MdePkg/Include/Ppi/MemoryDiscovered.h @@ -1,18 +1,12 @@ /** @file This file declares Memory Discovered PPI. - This PPI is published by the PEI Foundation when the main memory is installed. + This PPI is published by the PEI Foundation when the main memory is installed. It is essentially a PPI with no associated interface. Its purpose is to be used - as a signal for other PEIMs who can register for a notification on its installation. + as a signal for other PEIMs who can register for a notification on its installation. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. diff --git a/MdePkg/Include/Ppi/MmAccess.h b/MdePkg/Include/Ppi/MmAccess.h new file mode 100644 index 000000000000..6335872ef695 --- /dev/null +++ b/MdePkg/Include/Ppi/MmAccess.h @@ -0,0 +1,155 @@ +/** @file + EFI MM Access PPI definition. + + This PPI is used to control the visibility of the MMRAM on the platform. + The EFI_PEI_MM_ACCESS_PPI abstracts the location and characteristics of MMRAM. The + principal functionality found in the memory controller includes the following: + - Exposing the MMRAM to all non-MM agents, or the "open" state + - Shrouding the MMRAM to all but the MM agents, or the "closed" state + - Preserving the system integrity, or "locking" the MMRAM, such that the settings cannot be + perturbed by either boot service or runtime agents + + Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This PPI is introduced in PI Version 1.5. + +**/ + +#ifndef _MM_ACCESS_PPI_H_ +#define _MM_ACCESS_PPI_H_ + +#define EFI_PEI_MM_ACCESS_PPI_GUID \ + { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }} + +typedef struct _EFI_PEI_MM_ACCESS_PPI EFI_PEI_MM_ACCESS_PPI; + +/** + Opens the MMRAM area to be accessible by a PEIM. + + This function "opens" MMRAM so that it is visible while not inside of MM. The function should + return EFI_UNSUPPORTED if the hardware does not support hiding of MMRAM. The function + should return EFI_DEVICE_ERROR if the MMRAM configuration is locked. + + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. + @param This The EFI_PEI_MM_ACCESS_PPI instance. + @param DescriptorIndex The region of MMRAM to Open. + + @retval EFI_SUCCESS The operation was successful. + @retval EFI_UNSUPPORTED The system does not support opening and closing of MMRAM. + @retval EFI_DEVICE_ERROR MMRAM cannot be opened, perhaps because it is locked. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_PEI_MM_OPEN)( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_MM_ACCESS_PPI *This, + IN UINTN DescriptorIndex + ); + +/** + Inhibits access to the MMRAM. + + This function "closes" MMRAM so that it is not visible while outside of MM. The function should + return EFI_UNSUPPORTED if the hardware does not support hiding of MMRAM. + + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. + @param This The EFI_PEI_MM_ACCESS_PPI instance. + @param DescriptorIndex The region of MMRAM to Close. + + @retval EFI_SUCCESS The operation was successful. + @retval EFI_UNSUPPORTED The system does not support opening and closing of MMRAM. + @retval EFI_DEVICE_ERROR MMRAM cannot be closed. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_PEI_MM_CLOSE)( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_MM_ACCESS_PPI *This, + IN UINTN DescriptorIndex + ); + +/** + This function prohibits access to the MMRAM region. This function is usually implemented such + that it is a write-once operation. + + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. + @param This The EFI_PEI_MM_ACCESS_PPI instance. + @param DescriptorIndex The region of MMRAM to Lock. + + @retval EFI_SUCCESS The operation was successful. + @retval EFI_UNSUPPORTED The system does not support opening and closing of MMRAM. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_PEI_MM_LOCK)( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_MM_ACCESS_PPI *This, + IN UINTN DescriptorIndex + ); + +/** + Queries the memory controller for the possible regions that will support MMRAM. + + This function describes the MMRAM regions. + This data structure forms the contract between the MM_ACCESS and MM_IPL drivers. There is an + ambiguity when any MMRAM region is remapped. For example, on some chipsets, some MMRAM + regions can be initialized at one physical address but is later accessed at another processor address. + There is currently no way for the MM IPL driver to know that it must use two different addresses + depending on what it is trying to do. As a result, initial configuration and loading can use the + physical address PhysicalStart while MMRAM is open. However, once the region has been + closed and needs to be accessed by agents in MM, the CpuStart address must be used. + This PPI publishes the available memory that the chipset can shroud for the use of installing code. + These regions serve the dual purpose of describing which regions have been open, closed, or locked. + In addition, these regions may include overlapping memory ranges, depending on the chipset + implementation. The latter might include a chipset that supports T-SEG, where memory near the top + of the physical DRAM can be allocated for MMRAM too. + The key thing to note is that the regions that are described by the PPI are a subset of the capabilities + of the hardware. + + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. + @param This The EFI_PEI_MM_ACCESS_PPI instance. + @param MmramMapSize A pointer to the size, in bytes, of the MmramMemoryMap buffer. On input, this value is + the size of the buffer that is allocated by the caller. On output, it is the size of the + buffer that was returned by the firmware if the buffer was large enough, or, if the + buffer was too small, the size of the buffer that is needed to contain the map. + @param MmramMap A pointer to the buffer in which firmware places the current memory map. The map is + an array of EFI_MMRAM_DESCRIPTORs + + @retval EFI_SUCCESS The chipset supported the given resource. + @retval EFI_BUFFER_TOO_SMALL The MmramMap parameter was too small. The current + buffer size needed to hold the memory map is returned in + MmramMapSize. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_PEI_MM_CAPABILITIES)( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_MM_ACCESS_PPI *This, + IN OUT UINTN *MmramMapSize, + IN OUT EFI_MMRAM_DESCRIPTOR *MmramMap + ); + +/// +/// EFI MM Access PPI is used to control the visibility of the MMRAM on the platform. +/// It abstracts the location and characteristics of MMRAM. The platform should report +/// all MMRAM via EFI_PEI_MM_ACCESS_PPI. The expectation is that the north bridge or +/// memory controller would publish this PPI. +/// +struct _EFI_PEI_MM_ACCESS_PPI { + EFI_PEI_MM_OPEN Open; + EFI_PEI_MM_CLOSE Close; + EFI_PEI_MM_LOCK Lock; + EFI_PEI_MM_CAPABILITIES GetCapabilities; + BOOLEAN LockState; + BOOLEAN OpenState; +}; + +extern EFI_GUID gEfiPeiMmAccessPpiGuid; + +#endif diff --git a/MdePkg/Include/Ppi/MmControl.h b/MdePkg/Include/Ppi/MmControl.h new file mode 100644 index 000000000000..ecf720d719d4 --- /dev/null +++ b/MdePkg/Include/Ppi/MmControl.h @@ -0,0 +1,90 @@ +/** @file + EFI MM Control PPI definition. + + This PPI is used initiate synchronous MMI activations. This PPI could be published by a processor + driver to abstract the MMI IPI or a driver which abstracts the ASIC that is supporting the APM port. + Because of the possibility of performing MMI IPI transactions, the ability to generate this event + from a platform chipset agent is an optional capability for both IA-32 and x64-based systems. + + Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This PPI is introduced in PI Version 1.5. + +**/ + + +#ifndef _MM_CONTROL_PPI_H_ +#define _MM_CONTROL_PPI_H_ + +#define EFI_PEI_MM_CONTROL_PPI_GUID \ + { 0x61c68702, 0x4d7e, 0x4f43, 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 } + +typedef struct _EFI_PEI_MM_CONTROL_PPI EFI_PEI_MM_CONTROL_PPI; + +/** + Invokes PPI activation from the PI PEI environment. + + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. + @param This The PEI_MM_CONTROL_PPI instance. + @param ArgumentBuffer The value passed to the MMI handler. This value corresponds to the + SwMmiInputValue in the RegisterContext parameter for the Register() + function in the EFI_MM_SW_DISPATCH_PROTOCOL and in the Context parameter + in the call to the DispatchFunction + @param ArgumentBufferSize The size of the data passed in ArgumentBuffer or NULL if ArgumentBuffer is NULL. + @param Periodic An optional mechanism to periodically repeat activation. + @param ActivationInterval An optional parameter to repeat at this period one + time or, if the Periodic Boolean is set, periodically. + + @retval EFI_SUCCESS The MMI has been engendered. + @retval EFI_DEVICE_ERROR The timing is unsupported. + @retval EFI_INVALID_PARAMETER The activation period is unsupported. + @retval EFI_NOT_STARTED The MM base service has not been initialized. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_PEI_MM_ACTIVATE) ( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_MM_CONTROL_PPI * This, + IN OUT INT8 *ArgumentBuffer OPTIONAL, + IN OUT UINTN *ArgumentBufferSize OPTIONAL, + IN BOOLEAN Periodic OPTIONAL, + IN UINTN ActivationInterval OPTIONAL + ); + +/** + Clears any system state that was created in response to the Trigger() call. + + @param PeiServices General purpose services available to every PEIM. + @param This The PEI_MM_CONTROL_PPI instance. + @param Periodic Optional parameter to repeat at this period one + time or, if the Periodic Boolean is set, periodically. + + @retval EFI_SUCCESS The MMI has been engendered. + @retval EFI_DEVICE_ERROR The source could not be cleared. + @retval EFI_INVALID_PARAMETER The service did not support the Periodic input argument. + +**/ +typedef +EFI_STATUS +(EFIAPI *PEI_MM_DEACTIVATE) ( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_MM_CONTROL_PPI * This, + IN BOOLEAN Periodic OPTIONAL + ); + +/// +/// The EFI_PEI_MM_CONTROL_PPI is produced by a PEIM. It provides an abstraction of the +/// platform hardware that generates an MMI. There are often I/O ports that, when accessed, will +/// generate the MMI. Also, the hardware optionally supports the periodic generation of these signals. +/// +struct _PEI_MM_CONTROL_PPI { + PEI_MM_ACTIVATE Trigger; + PEI_MM_DEACTIVATE Clear; +}; + +extern EFI_GUID gEfiPeiMmControlPpiGuid; + +#endif diff --git a/MdePkg/Include/Ppi/MpServices.h b/MdePkg/Include/Ppi/MpServices.h index fce4d2dbb81c..b7dfb3bc5865 100644 --- a/MdePkg/Include/Ppi/MpServices.h +++ b/MdePkg/Include/Ppi/MpServices.h @@ -3,14 +3,8 @@ This PPI is installed by some platform or chipset-specific PEIM that abstracts handling multiprocessor support. - Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.4. @@ -81,7 +75,7 @@ EFI_STATUS ); /** - Activate all of the application proessors. + Activate all of the application processors. @param[in] PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @@ -187,7 +181,7 @@ EFI_STATUS @retval EFI_UNSUPPORTED Switching the BSP cannot be completed prior to this service returning. @retval EFI_UNSUPPORTED Switching the BSP is not supported. - @retval EFI_SUCCESS The calling processor is an AP. + @retval EFI_DEVICE_ERROR The calling processor is an AP. @retval EFI_NOT_FOUND The processor with the handle specified by ProcessorNumber does not exist. @retval EFI_INVALID_PARAMETER ProcessorNumber specifies the current BSP or a disabled diff --git a/MdePkg/Include/Ppi/Pcd.h b/MdePkg/Include/Ppi/Pcd.h index 05b59048d6ae..efd102e78a60 100644 --- a/MdePkg/Include/Ppi/Pcd.h +++ b/MdePkg/Include/Ppi/Pcd.h @@ -1,19 +1,13 @@ /** @file Native Platform Configuration Database (PCD) PPI - + Different with the EFI_PCD_PPI defined in PI 1.2 specification, the native - PCD PPI provide interfaces for dynamic and dynamic-ex type PCD. + PCD PPI provide interfaces for dynamic and dynamic-ex type PCD. The interfaces for dynamic type PCD do not require the token space guid as parameter, but interfaces for dynamic-ex type PCD require token space guid as parameter. -Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -29,27 +23,27 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. /** Sets the SKU value for subsequent calls to set or get PCD token values. - SetSku() sets the SKU Id to be used for subsequent calls to set or get PCD values. + SetSku() sets the SKU Id to be used for subsequent calls to set or get PCD values. SetSku() is normally called only once by the system. - For each item (token), the database can hold a single value that applies to all SKUs, - or multiple values, where each value is associated with a specific SKU Id. Items with multiple, - SKU-specific values are called SKU enabled. - - The SKU Id of zero is reserved as a default. The valid SkuId range is 1 to 255. - For tokens that are not SKU enabled, the system ignores any set SKU Id and works with the - single value for that token. For SKU-enabled tokens, the system will use the SKU Id set by the - last call to SetSku(). If no SKU Id is set or the currently set SKU Id isn't valid for the specified token, - the system uses the default SKU Id. If the system attempts to use the default SKU Id and no value has been + For each item (token), the database can hold a single value that applies to all SKUs, + or multiple values, where each value is associated with a specific SKU Id. Items with multiple, + SKU-specific values are called SKU enabled. + + The SKU Id of zero is reserved as a default. The valid SkuId range is 1 to 255. + For tokens that are not SKU enabled, the system ignores any set SKU Id and works with the + single value for that token. For SKU-enabled tokens, the system will use the SKU Id set by the + last call to SetSku(). If no SKU Id is set or the currently set SKU Id isn't valid for the specified token, + the system uses the default SKU Id. If the system attempts to use the default SKU Id and no value has been set for that Id, the results are unpredictable. - @param[in] SkuId The SKU value that will be used when the PCD service will retrieve and + @param[in] SkuId The SKU value that will be used when the PCD service will retrieve and set values associated with a PCD token. @retval VOID **/ -typedef +typedef VOID (EFIAPI *PCD_PPI_SET_SKU)( IN UINTN SkuId @@ -60,13 +54,13 @@ VOID /** Retrieves an 8-bit value for a given PCD token. - Retrieves the current byte-sized value for a PCD token number. + Retrieves the current byte-sized value for a PCD token number. If the TokenNumber is invalid, the results are unpredictable. - - @param[in] TokenNumber The PCD token number. + + @param[in] TokenNumber The PCD token number. @return The UINT8 value. - + **/ typedef UINT8 @@ -79,13 +73,13 @@ UINT8 /** Retrieves a 16-bit value for a given PCD token. - Retrieves the current 16-bit value for a PCD token number. + Retrieves the current 16-bit value for a PCD token number. If the TokenNumber is invalid, the results are unpredictable. - - @param[in] TokenNumber The PCD token number. + + @param[in] TokenNumber The PCD token number. @return The UINT16 value. - + **/ typedef UINT16 @@ -98,13 +92,13 @@ UINT16 /** Retrieves a 32-bit value for a given PCD token. - Retrieves the current 32-bit value for a PCD token number. + Retrieves the current 32-bit value for a PCD token number. If the TokenNumber is invalid, the results are unpredictable. - - @param[in] TokenNumber The PCD token number. + + @param[in] TokenNumber The PCD token number. @return The UINT32 value. - + **/ typedef UINT32 @@ -117,13 +111,13 @@ UINT32 /** Retrieves a 64-bit value for a given PCD token. - Retrieves the current 64-bit value for a PCD token number. + Retrieves the current 64-bit value for a PCD token number. If the TokenNumber is invalid, the results are unpredictable. - - @param[in] TokenNumber The PCD token number. + + @param[in] TokenNumber The PCD token number. @return The UINT64 value. - + **/ typedef UINT64 @@ -136,15 +130,15 @@ UINT64 /** Retrieves a pointer to a value for a given PCD token. - Retrieves the current pointer to the buffer for a PCD token number. - Do not make any assumptions about the alignment of the pointer that - is returned by this function call. If the TokenNumber is invalid, + Retrieves the current pointer to the buffer for a PCD token number. + Do not make any assumptions about the alignment of the pointer that + is returned by this function call. If the TokenNumber is invalid, the results are unpredictable. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. + + @return The pointer to the buffer to be retrieved. - @return The pointer to the buffer to be retrived. - **/ typedef VOID * @@ -157,15 +151,15 @@ VOID * /** Retrieves a Boolean value for a given PCD token. - Retrieves the current boolean value for a PCD token number. - Do not make any assumptions about the alignment of the pointer that - is returned by this function call. If the TokenNumber is invalid, + Retrieves the current boolean value for a PCD token number. + Do not make any assumptions about the alignment of the pointer that + is returned by this function call. If the TokenNumber is invalid, the results are unpredictable. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The Boolean value. - + **/ typedef BOOLEAN @@ -178,13 +172,13 @@ BOOLEAN /** Retrieves the size of the value for a given PCD token. - Retrieves the current size of a particular PCD token. + Retrieves the current size of a particular PCD token. If the TokenNumber is invalid, the results are unpredictable. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size of the value for the PCD token. - + **/ typedef UINTN @@ -197,16 +191,16 @@ UINTN /** Retrieves an 8-bit value for a given PCD token and token space. - Retrieves the 8-bit value of a particular PCD token. + Retrieves the 8-bit value of a particular PCD token. If the TokenNumber is invalid or the token space - specified by Guid does not exist, the results are + specified by Guid does not exist, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size 8-bit value for the PCD token. - + **/ typedef UINT8 @@ -220,16 +214,16 @@ UINT8 /** Retrieves a 16-bit value for a given PCD token and token space. - Retrieves the 16-bit value of a particular PCD token. + Retrieves the 16-bit value of a particular PCD token. If the TokenNumber is invalid or the token space - specified by Guid does not exist, the results are + specified by Guid does not exist, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size 16-bit value for the PCD token. - + **/ typedef UINT16 @@ -243,16 +237,16 @@ UINT16 /** Retrieves a 32-bit value for a given PCD token and token space. - Retrieves the 32-bit value of a particular PCD token. + Retrieves the 32-bit value of a particular PCD token. If the TokenNumber is invalid or the token space - specified by Guid does not exist, the results are + specified by Guid does not exist, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size 32-bit value for the PCD token. - + **/ typedef UINT32 @@ -266,16 +260,16 @@ UINT32 /** Retrieves a 64-bit value for a given PCD token and token space. - Retrieves the 64-bit value of a particular PCD token. + Retrieves the 64-bit value of a particular PCD token. If the TokenNumber is invalid or the token space - specified by Guid does not exist, the results are + specified by Guid does not exist, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size 64-bit value for the PCD token. - + **/ typedef UINT64 @@ -289,16 +283,16 @@ UINT64 /** Retrieves a pointer to a value for a given PCD token and token space. - Retrieves the current pointer to the buffer for a PCD token number. - Do not make any assumptions about the alignment of the pointer that - is returned by this function call. If the TokenNumber is invalid, + Retrieves the current pointer to the buffer for a PCD token number. + Do not make any assumptions about the alignment of the pointer that + is returned by this function call. If the TokenNumber is invalid, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. + + @return The pointer to the buffer to be retrieved. - @return The pointer to the buffer to be retrived. - **/ typedef VOID * @@ -312,16 +306,16 @@ VOID * /** Retrieves an Boolean value for a given PCD token and token space. - Retrieves the Boolean value of a particular PCD token. + Retrieves the Boolean value of a particular PCD token. If the TokenNumber is invalid or the token space - specified by Guid does not exist, the results are + specified by Guid does not exist, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size Boolean value for the PCD token. - + **/ typedef BOOLEAN @@ -335,14 +329,14 @@ BOOLEAN /** Retrieves the size of the value for a given PCD token and token space. - Retrieves the current size of a particular PCD token. + Retrieves the current size of a particular PCD token. If the TokenNumber is invalid, the results are unpredictable. @param[in] Guid The token space for the token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @return The size of the value for the PCD token. - + **/ typedef UINTN @@ -356,19 +350,19 @@ UINTN /** Sets an 8-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -382,19 +376,19 @@ EFI_STATUS /** Sets a 16-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -408,19 +402,19 @@ EFI_STATUS /** Sets a 32-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -434,19 +428,19 @@ EFI_STATUS /** Sets a 64-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -458,23 +452,23 @@ EFI_STATUS /** Sets a value of a specified size for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. - @param[in] TokenNumber The PCD token number. - @param[in, out] SizeOfValue A pointer to the length of the value being set for the PCD token. - On input, if the SizeOfValue is greater than the maximum size supported - for this TokenNumber then the output value of SizeOfValue will reflect + @param[in] TokenNumber The PCD token number. + @param[in, out] SizeOfValue A pointer to the length of the value being set for the PCD token. + On input, if the SizeOfValue is greater than the maximum size supported + for this TokenNumber then the output value of SizeOfValue will reflect the maximum size supported for this TokenNumber. @param[in] Buffer The buffer to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -487,19 +481,19 @@ EFI_STATUS /** Sets an Boolean value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -513,20 +507,20 @@ EFI_STATUS /** Sets an 8-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -541,20 +535,20 @@ EFI_STATUS /** Sets a 16-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -569,20 +563,20 @@ EFI_STATUS /** Sets a 32-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -597,20 +591,20 @@ EFI_STATUS /** Sets a 64-bit value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -625,24 +619,24 @@ EFI_STATUS /** Sets a value of a specified size for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] TokenNumber The PCD token number. - @param[in, out] SizeOfValue A pointer to the length of the value being set for the PCD token. - On input, if the SizeOfValue is greater than the maximum size supported - for this TokenNumber then the output value of SizeOfValue will reflect + @param[in] TokenNumber The PCD token number. + @param[in, out] SizeOfValue A pointer to the length of the value being set for the PCD token. + On input, if the SizeOfValue is greater than the maximum size supported + for this TokenNumber then the output value of SizeOfValue will reflect the maximum size supported for this TokenNumber. @param[in] Buffer The buffer to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -656,20 +650,20 @@ EFI_STATUS /** Sets an Boolean value for a given PCD token. - When the PCD service sets a value, it will check to ensure that the - size of the value being set is compatible with the Token's existing definition. + When the PCD service sets a value, it will check to ensure that the + size of the value being set is compatible with the Token's existing definition. If it is not, an error will be returned. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Value The value to set for the PCD token. @retval EFI_SUCCESS The procedure returned successfully. - @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data - being set was incompatible with a call to this function. + @retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data + being set was incompatible with a call to this function. Use GetSize() to retrieve the size of the target data. @retval EFI_NOT_FOUND The PCD service could not find the requested token number. - + **/ typedef EFI_STATUS @@ -684,11 +678,11 @@ EFI_STATUS /** Callback on SET function prototype definition. - This notification function serves two purposes. Firstly, it notifies the module - which did the registration that the value of this PCD token has been set. Secondly, - it provides a mechanism for the module which did the registration to intercept the set - operation and override the value been set if necessary. After the invocation of the - callback function, TokenData will be used by PCD service PEIM to modify the internal data + This notification function serves two purposes. Firstly, it notifies the module + which did the registration that the value of this PCD token has been set. Secondly, + it provides a mechanism for the module which did the registration to intercept the set + operation and override the value been set if necessary. After the invocation of the + callback function, TokenData will be used by PCD service PEIM to modify the internal data in PCD database. @param[in] CallBackGuid The PCD token GUID being set. @@ -713,11 +707,11 @@ VOID /** Specifies a function to be called anytime the value of a designated token is changed. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set. + @param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set. - @retval EFI_SUCCESS The PCD service has successfully established a call event + @retval EFI_SUCCESS The PCD service has successfully established a call event for the CallBackToken requested. @retval EFI_NOT_FOUND The PCD service could not find the referenced token number. @@ -735,11 +729,11 @@ EFI_STATUS /** Cancels a previously set callback function for a particular PCD token number. - @param[in] TokenNumber The PCD token number. + @param[in] TokenNumber The PCD token number. @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - @param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set. + @param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set. - @retval EFI_SUCCESS The PCD service has successfully established a call event + @retval EFI_SUCCESS The PCD service has successfully established a call event for the CallBackToken requested. @retval EFI_NOT_FOUND The PCD service could not find the referenced token number. @@ -755,31 +749,31 @@ EFI_STATUS /** - Retrieves the next valid token number in a given namespace. - - This is useful since the PCD infrastructure contains a sparse list of token numbers, - and one cannot a priori know what token numbers are valid in the database. - - If TokenNumber is 0 and Guid is not NULL, then the first token from the token space specified by Guid is returned. - If TokenNumber is not 0 and Guid is not NULL, then the next token in the token space specified by Guid is returned. - If TokenNumber is 0 and Guid is NULL, then the first token in the default token space is returned. - If TokenNumber is not 0 and Guid is NULL, then the next token in the default token space is returned. - The token numbers in the default token space may not be related to token numbers in token spaces that are named by Guid. - If the next token number can be retrieved, then it is returned in TokenNumber, and EFI_SUCCESS is returned. - If TokenNumber represents the last token number in the token space specified by Guid, then EFI_NOT_FOUND is returned. + Retrieves the next valid token number in a given namespace. + + This is useful since the PCD infrastructure contains a sparse list of token numbers, + and one cannot a priori know what token numbers are valid in the database. + + If TokenNumber is 0 and Guid is not NULL, then the first token from the token space specified by Guid is returned. + If TokenNumber is not 0 and Guid is not NULL, then the next token in the token space specified by Guid is returned. + If TokenNumber is 0 and Guid is NULL, then the first token in the default token space is returned. + If TokenNumber is not 0 and Guid is NULL, then the next token in the default token space is returned. + The token numbers in the default token space may not be related to token numbers in token spaces that are named by Guid. + If the next token number can be retrieved, then it is returned in TokenNumber, and EFI_SUCCESS is returned. + If TokenNumber represents the last token number in the token space specified by Guid, then EFI_NOT_FOUND is returned. If TokenNumber is not present in the token space specified by Guid, then EFI_NOT_FOUND is returned. - @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. - This is an optional parameter that may be NULL. If this parameter is NULL, then a request + @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. + This is an optional parameter that may be NULL. If this parameter is NULL, then a request is being made to retrieve tokens from the default token space. @param[in, out] TokenNumber A pointer to the PCD token number to use to find the subsequent token number. - + @retval EFI_SUCCESS The PCD service has retrieved the next valid token number. @retval EFI_NOT_FOUND The PCD service could not find data from the requested token number. **/ -typedef +typedef EFI_STATUS (EFIAPI *PCD_PPI_GET_NEXT_TOKEN)( IN CONST EFI_GUID *Guid, OPTIONAL @@ -799,7 +793,7 @@ EFI_STATUS token namespace on the platform. If *Guid is NULL, then the GUID of the first token space of the current platform is returned. If the search cannot locate the next valid token namespace, an error is returned and the value of *Guid is undefined. - + @retval EFI_SUCCESS The PCD service retrieved the value requested. @retval EFI_NOT_FOUND The PCD service could not find the next valid token namespace. diff --git a/MdePkg/Include/Ppi/PcdInfo.h b/MdePkg/Include/Ppi/PcdInfo.h index a06fff13fc76..c199c0063d28 100644 --- a/MdePkg/Include/Ppi/PcdInfo.h +++ b/MdePkg/Include/Ppi/PcdInfo.h @@ -2,20 +2,14 @@ Native Platform Configuration Database (PCD) INFO PPI The PPI that provides additional information about items that reside in the PCD database. - + Different with the EFI_GET_PCD_INFO_PPI defined in PI 1.2.1 specification, - the native PCD INFO PPI provide interfaces for dynamic and dynamic-ex type PCD. + the native PCD INFO PPI provide interfaces for dynamic and dynamic-ex type PCD. The interfaces for dynamic type PCD do not require the token space guid as parameter, but interfaces for dynamic-ex type PCD require token space guid as parameter. - Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent **/ diff --git a/MdePkg/Include/Ppi/PciCfg2.h b/MdePkg/Include/Ppi/PciCfg2.h index ea9547875476..17b67a7209a1 100644 --- a/MdePkg/Include/Ppi/PciCfg2.h +++ b/MdePkg/Include/Ppi/PciCfg2.h @@ -1,17 +1,11 @@ /** @file This file declares PciCfg2 PPI. - This ppi Provides platform or chipset-specific access to + This ppi Provides platform or chipset-specific access to the PCI configuration space for a specific PCI segment. - Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -124,7 +118,7 @@ EFI_STATUS /** - Performs a read-modify-write operation on the contents + Performs a read-modify-write operation on the contents from a given location in the PCI configuration space. @param PeiServices An indirect pointer to the PEI Services Table diff --git a/MdePkg/Include/Ppi/PeiCoreFvLocation.h b/MdePkg/Include/Ppi/PeiCoreFvLocation.h new file mode 100644 index 000000000000..72a308eaf7af --- /dev/null +++ b/MdePkg/Include/Ppi/PeiCoreFvLocation.h @@ -0,0 +1,42 @@ +/** @file + Header file for Pei Core FV Location PPI. + + This PPI contains a pointer to the firmware volume which contains the PEI Foundation. + If the PEI Foundation does not reside in the BFV, then SEC must pass this PPI as a part + of the PPI list provided to the PEI Foundation Entry Point, otherwise the PEI Foundation + shall assume that it resides within the BFV. + + Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This PPI is defined in UEFI Platform Initialization Specification 1.7 Volume 1: + Standards + +**/ + + +#ifndef _EFI_PEI_CORE_FV_LOCATION_H_ +#define _EFI_PEI_CORE_FV_LOCATION_H_ + +/// +/// Global ID for EFI_PEI_CORE_FV_LOCATION_PPI +/// +#define EFI_PEI_CORE_FV_LOCATION_GUID \ + { \ + 0x52888eae, 0x5b10, 0x47d0, {0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 } \ + } + +/// +/// This PPI provides location of EFI PeiCoreFv. +/// +typedef struct { + /// + /// Pointer to the first byte of the firmware volume which contains the PEI Foundation. + /// + VOID *PeiCoreFvLocation; +} EFI_PEI_CORE_FV_LOCATION_PPI; + +extern EFI_GUID gEfiPeiCoreFvLocationPpiGuid; + +#endif // _EFI_PEI_CORE_FV_LOCATION_H_ diff --git a/MdePkg/Include/Ppi/PiPcd.h b/MdePkg/Include/Ppi/PiPcd.h index 41b0c2e18a93..58c3be8fcb10 100644 --- a/MdePkg/Include/Ppi/PiPcd.h +++ b/MdePkg/Include/Ppi/PiPcd.h @@ -12,13 +12,7 @@ firmware component to monitor specific settings and be alerted when a setting is changed. Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR> - 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. + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: PI Version 1.2 Vol 3. diff --git a/MdePkg/Include/Ppi/PiPcdInfo.h b/MdePkg/Include/Ppi/PiPcdInfo.h index 20571f891b7a..0248b4607c4d 100644 --- a/MdePkg/Include/Ppi/PiPcdInfo.h +++ b/MdePkg/Include/Ppi/PiPcdInfo.h @@ -4,13 +4,7 @@ The PPI that provides additional information about items that reside in the PCD database. Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> - 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. + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: PI Version 1.2.1 Vol 3. diff --git a/MdePkg/Include/Ppi/ReadOnlyVariable2.h b/MdePkg/Include/Ppi/ReadOnlyVariable2.h index 6caee568263a..95e21a96a383 100644 --- a/MdePkg/Include/Ppi/ReadOnlyVariable2.h +++ b/MdePkg/Include/Ppi/ReadOnlyVariable2.h @@ -2,14 +2,8 @@ This file declares Read-only Variable Service2 PPI. This ppi permits read-only access to the UEFI variable store during the PEI phase. -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -28,8 +22,8 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI EFI_PEI_READ_ONLY_VARIABLE2_PPI /** This service retrieves a variable's value using its name and GUID. - Read the specified variable from the UEFI variable store. If the Data - buffer is too small to hold the contents of the variable, + Read the specified variable from the UEFI variable store. If the Data + buffer is too small to hold the contents of the variable, the error EFI_BUFFER_TOO_SMALL is returned and DataSize is set to the required buffer size to obtain the data. @@ -41,11 +35,12 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI EFI_PEI_READ_ONLY_VARIABLE2_PPI @param DataSize On entry, points to the size in bytes of the Data buffer. On return, points to the size of the data returned in Data. @param Data Points to the buffer which will hold the returned variable value. + May be NULL with a zero DataSize in order to determine the size of the buffer needed. @retval EFI_SUCCESS The variable was read successfully. - @retval EFI_NOT_FOUND The variable could not be found. - @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the resulting data. - DataSize is updated with the size required for + @retval EFI_NOT_FOUND The variable was not found. + @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the resulting data. + DataSize is updated with the size required for the specified variable. @retval EFI_INVALID_PARAMETER VariableName, VariableGuid, DataSize or Data is NULL. @retval EFI_DEVICE_ERROR The variable could not be retrieved because of a device error. @@ -59,18 +54,18 @@ EFI_STATUS IN CONST EFI_GUID *VariableGuid, OUT UINT32 *Attributes, IN OUT UINTN *DataSize, - OUT VOID *Data + OUT VOID *Data OPTIONAL ); /** Return the next variable name and GUID. - This function is called multiple times to retrieve the VariableName - and VariableGuid of all variables currently available in the system. - On each call, the previous results are passed into the interface, - and, on return, the interface returns the data for the next - interface. When the entire variable list has been returned, + This function is called multiple times to retrieve the VariableName + and VariableGuid of all variables currently available in the system. + On each call, the previous results are passed into the interface, + and, on return, the interface returns the data for the next + interface. When the entire variable list has been returned, EFI_NOT_FOUND is returned. @param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI. @@ -80,7 +75,7 @@ EFI_STATUS @param VariableName On entry, a pointer to a null-terminated string that is the variable's name. On return, points to the next variable's null-terminated name string. - @param VariableGuid On entry, a pointer to an EFI_GUID that is the variable's GUID. + @param VariableGuid On entry, a pointer to an EFI_GUID that is the variable's GUID. On return, a pointer to the next variable's GUID. @retval EFI_SUCCESS The variable was read successfully. @@ -103,8 +98,8 @@ EFI_STATUS ); /// -/// This PPI provides a lightweight, read-only variant of the full EFI -/// variable services. +/// This PPI provides a lightweight, read-only variant of the full EFI +/// variable services. /// struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI { EFI_PEI_GET_VARIABLE2 GetVariable; diff --git a/MdePkg/Include/Ppi/RecoveryModule.h b/MdePkg/Include/Ppi/RecoveryModule.h index 2987facca8e7..5b7dde32c2bc 100644 --- a/MdePkg/Include/Ppi/RecoveryModule.h +++ b/MdePkg/Include/Ppi/RecoveryModule.h @@ -4,7 +4,7 @@ A module that produces this PPI has many roles and is responsible for the following: -# Calling the driver recovery PPI EFI_PEI_DEVICE_RECOVERY_MODULE_PPI. - GetNumberRecoveryCapsules() to determine if one or more DXE recovery + GetNumberRecoveryCapsules() to determine if one or more DXE recovery entities exist. -# If no capsules exist, then performing appropriate error handling. -# Allocating a buffer of MaxRecoveryCapsuleSize as determined by @@ -16,33 +16,27 @@ -# If the load failed, performing appropriate error handling. -# Performing security checks for a loaded DXE recovery capsule. -# If the security checks failed, then logging the failure in a data HOB. - -# If the security checks failed, then determining the next - EFI_PEI_DEVICE_RECOVERY_MODULE_PPI.LoadRecoveryCapsule()capsule number; + -# If the security checks failed, then determining the next + EFI_PEI_DEVICE_RECOVERY_MODULE_PPI.LoadRecoveryCapsule()capsule number; otherwise, go to step 11. - -# If more DXE recovery capsules exist, then go to step 5; otherwise, perform + -# If more DXE recovery capsules exist, then go to step 5; otherwise, perform error handling. -# Decomposing the capsule loaded by EFI_PEI_DEVICE_RECOVERY_MODULE_PPI. - LoadRecoveryCapsule() into its components. It is assumed that the path - parameters are redundant for recovery and Setup parameters are either + LoadRecoveryCapsule() into its components. It is assumed that the path + parameters are redundant for recovery and Setup parameters are either redundant or canned. - -# Invalidating all HOB entries for updateable firmware volume entries. + -# Invalidating all HOB entries for updateable firmware volume entries. This invalidation prevents possible errant drivers from being executed. - -# Updating the HOB table with the recovery DXE firmware volume information + -# Updating the HOB table with the recovery DXE firmware volume information generated from the capsule decomposition. - -# Returning to the PEI Dispatcher. - - Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR> - 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 + -# Returning to the PEI Dispatcher. - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - This PPI is defined in UEFI Platform Initialization Specification 1.2 Errata B Volume 1: - Pre-EFI Initalization Core Interface + This PPI is defined in UEFI Platform Initialization Specification 1.2 Errata B Volume 1: + Pre-EFI Initialization Core Interface **/ diff --git a/MdePkg/Include/Ppi/ReportStatusCodeHandler.h b/MdePkg/Include/Ppi/ReportStatusCodeHandler.h index 40dfd2f72d22..89767a0912c9 100644 --- a/MdePkg/Include/Ppi/ReportStatusCodeHandler.h +++ b/MdePkg/Include/Ppi/ReportStatusCodeHandler.h @@ -1,14 +1,8 @@ /** @file This PPI provides registering and unregistering services to status code consumers. - - Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -33,19 +27,19 @@ EFI_STATUS /** Register the callback function for ReportStatusCode() notification. - + When this function is called the function pointer is added to an internal list and any future calls to ReportStatusCode() will be forwarded to the Callback function. @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is called when a call to ReportStatusCode() occurs. - + @retval EFI_SUCCESS Function was successfully registered. @retval EFI_INVALID_PARAMETER The callback function was NULL. @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be registered. @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again. - + **/ typedef EFI_STATUS @@ -55,16 +49,16 @@ EFI_STATUS /** Remove a previously registered callback function from the notification list. - + ReportStatusCode() messages will no longer be forwarded to the Callback function. - + @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is to be unregistered. @retval EFI_SUCCESS The function was successfully unregistered. @retval EFI_INVALID_PARAMETER The callback function was NULL. @retval EFI_NOT_FOUND The callback function was not found to be unregistered. - + **/ typedef EFI_STATUS diff --git a/MdePkg/Include/Ppi/Reset.h b/MdePkg/Include/Ppi/Reset.h index 9cafbdcdc511..db27cc320eef 100644 --- a/MdePkg/Include/Ppi/Reset.h +++ b/MdePkg/Include/Ppi/Reset.h @@ -1,17 +1,11 @@ /** @file This file declares Reset PPI used to reset the platform. - - This PPI is installed by some platform- or chipset-specific PEIM that - abstracts the Reset Service to other agents. - Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> - 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 + This PPI is installed by some platform- or chipset-specific PEIM that + abstracts the Reset Service to other agents. - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -29,11 +23,11 @@ // // EFI_PEI_RESET_PPI.ResetSystem() is equivalent to the // PEI Service ResetSystem(). -// It is introduced in PIPeiCis.h. +// It is introduced in PIPeiCis.h. // /// -/// This PPI provides provide a simple reset service. +/// This PPI provides provide a simple reset service. /// typedef struct { EFI_PEI_RESET_SYSTEM ResetSystem; diff --git a/MdePkg/Include/Ppi/Reset2.h b/MdePkg/Include/Ppi/Reset2.h index 8834ba8500c1..ae49d33ab4c5 100644 --- a/MdePkg/Include/Ppi/Reset2.h +++ b/MdePkg/Include/Ppi/Reset2.h @@ -5,13 +5,7 @@ abstracts the Reset Service to other agents. Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> - 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. + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.4. diff --git a/MdePkg/Include/Ppi/S3Resume2.h b/MdePkg/Include/Ppi/S3Resume2.h index 2645c22975bc..eb051ae85c78 100644 --- a/MdePkg/Include/Ppi/S3Resume2.h +++ b/MdePkg/Include/Ppi/S3Resume2.h @@ -1,23 +1,17 @@ /** @file This PPI produces functions to interpret and execute the PI boot script table. - + This PPI is published by a PEIM and provides for the restoration of the platform's - configuration when resuming from the ACPI S3 power state. The ability to execute - the boot script may depend on the availability of other PPIs. For example, if - the boot script includes an SMBus command, this PEIM looks for the relevant PPI - that is able to execute that command. - - Copyright (c) 2010, Intel Corporation. All rights reserved.<BR> - 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. + configuration when resuming from the ACPI S3 power state. The ability to execute + the boot script may depend on the availability of other PPIs. For example, if + the boot script includes an SMBus command, this PEIM looks for the relevant PPI + that is able to execute that command. + + Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 5: + This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 5: Standards **/ @@ -42,30 +36,30 @@ typedef struct _EFI_PEI_S3_RESUME2_PPI EFI_PEI_S3_RESUME2_PPI; Restores the platform to its preboot configuration for an S3 resume and jumps to the OS waking vector. - This function will restore the platform to its pre-boot configuration that was + This function will restore the platform to its pre-boot configuration that was pre-stored in the boot script table and transfer control to OS waking vector. - Upon invocation, this function is responsible for locating the following + Upon invocation, this function is responsible for locating the following information before jumping to OS waking vector: - ACPI tables - boot script table - any other information that it needs - - The S3RestoreConfig() function then executes the pre-stored boot script table - and transitions the platform to the pre-boot state. The boot script is recorded + + The S3RestoreConfig() function then executes the pre-stored boot script table + and transitions the platform to the pre-boot state. The boot script is recorded during regular boot using the EFI_S3_SAVE_STATE_PROTOCOL.Write() and - EFI_S3_SMM_SAVE_STATE_PROTOCOL.Write() functions. Finally, this function - transfers control to the OS waking vector. If the OS supports only a real-mode - waking vector, this function will switch from flat mode to real mode before - jumping to the waking vector. If all platform pre-boot configurations are - successfully restored and all other necessary information is ready, this - function will never return and instead will directly jump to the OS waking - vector. If this function returns, it indicates that the attempt to resume - from the ACPI S3 sleep state failed. - + EFI_S3_SMM_SAVE_STATE_PROTOCOL.Write() functions. Finally, this function + transfers control to the OS waking vector. If the OS supports only a real-mode + waking vector, this function will switch from flat mode to real mode before + jumping to the waking vector. If all platform pre-boot configurations are + successfully restored and all other necessary information is ready, this + function will never return and instead will directly jump to the OS waking + vector. If this function returns, it indicates that the attempt to resume + from the ACPI S3 sleep state failed. + @param[in] This Pointer to this instance of the PEI_S3_RESUME_PPI @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 + @retval EFI_NOT_FOUND Some necessary information that is used for the S3 resume boot path could not be located. **/ diff --git a/MdePkg/Include/Ppi/SecHobData.h b/MdePkg/Include/Ppi/SecHobData.h new file mode 100644 index 000000000000..85d966832de2 --- /dev/null +++ b/MdePkg/Include/Ppi/SecHobData.h @@ -0,0 +1,59 @@ +/** @file + This file declares Sec Hob Data PPI. + + This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list. + +Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This PPI is introduced in PI Version 1.5. + +**/ + +#ifndef __SEC_HOB_DATA_PPI_H__ +#define __SEC_HOB_DATA_PPI_H__ + +#include <Pi/PiHob.h> + +#define EFI_SEC_HOB_DATA_PPI_GUID \ + { \ + 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } \ + } + +typedef struct _EFI_SEC_HOB_DATA_PPI EFI_SEC_HOB_DATA_PPI; + +/** + Return a pointer to a buffer containing zero or more HOBs that + will be installed into the PEI HOB List. + + This function returns a pointer to a pointer to zero or more HOBs, + terminated with a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST. + Note: The HobList must not contain a EFI_HOB_HANDOFF_INFO_TABLE HOB (PHIT) HOB. + + @param[in] This Pointer to this PPI structure. + @param[out] HobList A pointer to a returned pointer to zero or more HOBs. + If no HOBs are to be returned, then the returned pointer + is a pointer to a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST. + + @retval EFI_SUCCESS This function completed successfully. + @retval EFI_NOT_FOUND No HOBS are available. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_SEC_HOB_DATA_GET) ( + IN CONST EFI_SEC_HOB_DATA_PPI *This, + OUT EFI_HOB_GENERIC_HEADER **HobList +); + +/// +/// This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list. +/// +struct _EFI_SEC_HOB_DATA_PPI { + EFI_SEC_HOB_DATA_GET GetHobs; +}; + +extern EFI_GUID gEfiSecHobDataPpiGuid; + +#endif diff --git a/MdePkg/Include/Ppi/SecPlatformInformation.h b/MdePkg/Include/Ppi/SecPlatformInformation.h index eaf73ce9cf1b..5246d2ac35fe 100644 --- a/MdePkg/Include/Ppi/SecPlatformInformation.h +++ b/MdePkg/Include/Ppi/SecPlatformInformation.h @@ -7,13 +7,7 @@ location of the Boot Firmware Volume (BFV). Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. diff --git a/MdePkg/Include/Ppi/SecPlatformInformation2.h b/MdePkg/Include/Ppi/SecPlatformInformation2.h index 1a6a776169d8..a61ece7991de 100644 --- a/MdePkg/Include/Ppi/SecPlatformInformation2.h +++ b/MdePkg/Include/Ppi/SecPlatformInformation2.h @@ -5,13 +5,7 @@ This service abstracts platform-specific information for many CPU's. Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that 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. +SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced from PI Version 1.4. diff --git a/MdePkg/Include/Ppi/Security2.h b/MdePkg/Include/Ppi/Security2.h index 026597492151..887f6ef5fa99 100644 --- a/MdePkg/Include/Ppi/Security2.h +++ b/MdePkg/Include/Ppi/Security2.h @@ -1,18 +1,12 @@ /** @file This file declares Pei Security2 PPI. - This PPI is installed by some platform PEIM that abstracts the security - policy to the PEI Foundation, namely the case of a PEIM's authentication + This PPI is installed by some platform PEIM that abstracts the security + policy to the PEI Foundation, namely the case of a PEIM's authentication state being returned during the PEI section extraction process. - Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -29,7 +23,7 @@ typedef struct _EFI_PEI_SECURITY2_PPI EFI_PEI_SECURITY2_PPI; /** - Allows the platform builder to implement a security policy + Allows the platform builder to implement a security policy in response to varying file authentication states. This service is published by some platform PEIM. The purpose of @@ -48,13 +42,13 @@ typedef struct _EFI_PEI_SECURITY2_PPI EFI_PEI_SECURITY2_PPI; particular EFI_PEI_SECURITY2_PPI instance. @param AuthenticationStatus Authentication status of the file. xx00 Image was not signed. - xxx1 Platform security policy override. + xxx1 Platform security policy override. Assumes same meaning as 0010 (the image was signed, the signature was tested, and the signature passed authentication test). - 0010 Image was signed, the signature was tested, + 0010 Image was signed, the signature was tested, and the signature passed authentication test. 0110 Image was signed and the signature was not tested. - 1010 Image was signed, the signature was tested, + 1010 Image was signed, the signature was tested, and the signature failed the authentication test. @param FvHandle Handle of the volume in which the file resides. This allows different policies diff --git a/MdePkg/Include/Ppi/Smbus2.h b/MdePkg/Include/Ppi/Smbus2.h index 633394faa1a7..69f9fa181a45 100644 --- a/MdePkg/Include/Ppi/Smbus2.h +++ b/MdePkg/Include/Ppi/Smbus2.h @@ -1,16 +1,10 @@ /** @file This file declares Smbus2 PPI. - This PPI provides the basic I/O interfaces that a PEIM uses to access its + This PPI provides the basic I/O interfaces that a PEIM uses to access its SMBus controller and the slave devices attached to it. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -29,28 +23,28 @@ typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI; /** - Executes an SMBus operation to an SMBus controller. Returns when either + Executes an SMBus operation to an SMBus controller. Returns when either the command has been executed or an error is encountered in doing the operation. @param This A pointer to the EFI_PEI_SMBUS2_PPI instance. @param SlaveAddress The SMBUS hardware address to which the SMBUS device is preassigned or allocated. - @param Command This command is transmitted by the SMBus host controller to the SMBus slave - device and the interpretation is SMBus slave device specific. - It can mean the offset to a list of functions inside + @param Command This command is transmitted by the SMBus host controller to the SMBus slave + device and the interpretation is SMBus slave device specific. + It can mean the offset to a list of functions inside an SMBus slave device. Not all operations or slave devices support this command's registers. - @param Operation Signifies which particular SMBus hardware protocol instance that it - will use to execute the SMBus transactions. - This SMBus hardware protocol is defined by the System Management Bus (SMBus) + @param Operation Signifies which particular SMBus hardware protocol instance that it + will use to execute the SMBus transactions. + This SMBus hardware protocol is defined by the System Management Bus (SMBus) Specification and is not related to UEFI. @param PecCheck Defines if Packet Error Code (PEC) checking is required for this operation. - @param Length Signifies the number of bytes that this operation will do. + @param Length Signifies the number of bytes that this operation will do. The maximum number of bytes can be revision specific and operation specific. This parameter will contain the actual number of bytes that are executed for this operation. Not all operations require this argument. - @param Buffer Contains the value of data to execute to the SMBus slave device. - Not all operations require this argument. + @param Buffer Contains the value of data to execute to the SMBus slave device. + Not all operations require this argument. The length of this buffer is identified by Length. @@ -83,8 +77,8 @@ EFI_STATUS ); /** - The ArpDevice() function enumerates the entire bus or enumerates a specific - device that is identified by SmbusUdid. + The ArpDevice() function enumerates the entire bus or enumerates a specific + device that is identified by SmbusUdid. @param This A pointer to the EFI_PEI_SMBUS2_PPI instance. @param ArpAll A Boolean expression that indicates if the host drivers need @@ -116,8 +110,8 @@ EFI_STATUS ); /** - The GetArpMap() function returns the mapping of all the SMBus devices - that are enumerated by the SMBus host driver. + The GetArpMap() function returns the mapping of all the SMBus devices + that are enumerated by the SMBus host driver. @param This A pointer to the EFI_PEI_SMBUS2_PPI instance. @param Length Size of the buffer that contains the SMBus device map. @@ -159,7 +153,7 @@ EFI_STATUS ); /** - The Notify() function registers all the callback functions to allow the + The Notify() function registers all the callback functions to allow the bus driver to call these functions when the SlaveAddress/Data pair happens. @param This A pointer to the EFI_PEI_SMBUS2_PPI instance. @@ -184,7 +178,7 @@ EFI_STATUS ); /// -/// Provides the basic I/O interfaces that a PEIM uses to access +/// Provides the basic I/O interfaces that a PEIM uses to access /// its SMBus controller and the slave devices attached to it. /// struct _EFI_PEI_SMBUS2_PPI { diff --git a/MdePkg/Include/Ppi/Stall.h b/MdePkg/Include/Ppi/Stall.h index 94a68c2e392b..f0dc62a25d13 100644 --- a/MdePkg/Include/Ppi/Stall.h +++ b/MdePkg/Include/Ppi/Stall.h @@ -3,14 +3,8 @@ This ppi abstracts the blocking stall service to other agents. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -26,7 +20,7 @@ typedef struct _EFI_PEI_STALL_PPI EFI_PEI_STALL_PPI; /** - The Stall() function provides a blocking stall for at least the number + The Stall() function provides a blocking stall for at least the number of microseconds stipulated in the final argument of the API. @param PeiServices An indirect pointer to the PEI Services Table @@ -46,7 +40,7 @@ EFI_STATUS ); /// -/// This service provides a simple, blocking stall with platform-specific resolution. +/// This service provides a simple, blocking stall with platform-specific resolution. /// struct _EFI_PEI_STALL_PPI { /// diff --git a/MdePkg/Include/Ppi/StatusCode.h b/MdePkg/Include/Ppi/StatusCode.h index 30a53304fdc8..29de3fc48b0c 100644 --- a/MdePkg/Include/Ppi/StatusCode.h +++ b/MdePkg/Include/Ppi/StatusCode.h @@ -2,14 +2,8 @@ This file declares Status Code PPI. This ppi provides a service that allows PEIMs to report status codes. - Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. @@ -25,7 +19,7 @@ // // EFI_PEI_PROGRESS_CODE_PPI.ReportStatusCode() is equivalent to the // PEI Service ReportStatusCode(). -// It is introduced in PIPeiCis.h. +// It is introduced in PIPeiCis.h. // /// diff --git a/MdePkg/Include/Ppi/SuperIo.h b/MdePkg/Include/Ppi/SuperIo.h index 9f129ffc98e0..319155f5fe92 100644 --- a/MdePkg/Include/Ppi/SuperIo.h +++ b/MdePkg/Include/Ppi/SuperIo.h @@ -1,14 +1,8 @@ /** @file This PPI provides the super I/O register access functionality. - Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is from PI Version 1.2.1. @@ -34,7 +28,7 @@ typedef UINT16 EFI_SIO_REGISTER; /** Read a Super I/O register. - + The register is specified as an 8-bit logical device number and an 8-bit register value. The logical device numbers for specific SIO devices can be determined using the Info member of the PPI structure. @@ -47,8 +41,8 @@ typedef UINT16 EFI_SIO_REGISTER; track the current state of the configuration mode (if any) and turn on configuration mode (if necessary) prior to register access. - @param Register A value specifying the logical device number (bits 15:8) - and the register to read (bits 7:0). The logical device + @param Register A value specifying the logical device number (bits 15:8) + and the register to read (bits 7:0). The logical device number of EFI_SIO_LDN_GLOBAL indicates that global registers will be used. @param IoData A pointer to the returned register value. @@ -85,8 +79,8 @@ EFI_STATUS track the current state of the configuration mode (if any) and turn on configuration mode (if necessary) prior to register access. - @param Register A value specifying the logical device number (bits 15:8) - and the register to read (bits 7:0). The logical device + @param Register A value specifying the logical device number (bits 15:8) + and the register to read (bits 7:0). The logical device number of EFI_SIO_LDN_GLOBAL indicates that global registers will be used. @param IoData A pointer to the returned register value. @@ -97,7 +91,7 @@ EFI_STATUS @retval EFI_INVALID_PARAMETERS Register was out of range for this device. @retval EFI_INVALID_PARAMETERS IoData was NULL @retval EFI_DEVICE_ERROR There was a device fault or the device was not present. -**/ +**/ typedef EFI_STATUS (EFIAPI *EFI_PEI_SIO_REGISTER_WRITE)( @@ -129,7 +123,7 @@ EFI_STATUS @retval EFI_SUCCESS The operation completed successfully. @retval EFI_INVALID_PARAMETERS Command is NULL. -**/ +**/ typedef EFI_STATUS (EFIAPI *EFI_PEI_SIO_REGISTER_MODIFY)( @@ -186,4 +180,4 @@ struct _EFI_SIO_PPI { extern EFI_GUID gEfiSioPpiGuid; -#endif +#endif diff --git a/MdePkg/Include/Ppi/TemporaryRamDone.h b/MdePkg/Include/Ppi/TemporaryRamDone.h index 349dac88b52a..7af15586bd57 100644 --- a/MdePkg/Include/Ppi/TemporaryRamDone.h +++ b/MdePkg/Include/Ppi/TemporaryRamDone.h @@ -2,14 +2,8 @@ This file declares Temporary RAM Done PPI. The PPI that provides a service to disable the use of Temporary RAM. - Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.2.1. @@ -24,7 +18,7 @@ /** TemporaryRamDone() disables the use of Temporary RAM. If present, this service is invoked - by the PEI Foundation after the EFI_PEI_PERMANANT_MEMORY_INSTALLED_PPI is installed. + by the PEI Foundation after the EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI is installed. @retval EFI_SUCCESS Use of Temporary RAM was disabled. @retval EFI_INVALID_PARAMETER Temporary RAM could not be disabled. diff --git a/MdePkg/Include/Ppi/TemporaryRamSupport.h b/MdePkg/Include/Ppi/TemporaryRamSupport.h index 87e5dbd1563d..e904d65671d9 100644 --- a/MdePkg/Include/Ppi/TemporaryRamSupport.h +++ b/MdePkg/Include/Ppi/TemporaryRamSupport.h @@ -2,14 +2,8 @@ This file declares Temporary RAM Support PPI. This Ppi provides the service that migrates temporary RAM into permanent memory. - Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.0. diff --git a/MdePkg/Include/Ppi/VectorHandoffInfo.h b/MdePkg/Include/Ppi/VectorHandoffInfo.h index fba0856bce0b..52c904a4e1e9 100644 --- a/MdePkg/Include/Ppi/VectorHandoffInfo.h +++ b/MdePkg/Include/Ppi/VectorHandoffInfo.h @@ -4,16 +4,10 @@ This is an optional PPI that may be produced by SEC. If present, it provides a description of the interrupt and/or exception vectors that were established - in the SEC Phase and need to persist into PEI and DXE. + in the SEC Phase and need to persist into PEI and DXE. - Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> - 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. + Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This PPI is introduced in PI Version 1.2.1. @@ -49,11 +43,11 @@ typedef struct { // UINT32 VectorNumber; // - // A bitmask that describes the attributes ofthe interrupt or exception vector. + // A bitmask that describes the attributes of the interrupt or exception vector. // UINT32 Attribute; // - // The GUID identifies the party who created the entry. For the + // The GUID identifies the party who created the entry. For the // EFI_VECTOR_HANDOFF_DO_NOT_HOOK case, this establishes the single owner. // EFI_GUID Owner; @@ -61,7 +55,7 @@ typedef struct { /// /// Provides a description of the interrupt and/or exception vectors that -/// were established in the SEC Phase and need to persist into PEI and DXE. +/// were established in the SEC Phase and need to persist into PEI and DXE. /// typedef struct _EFI_PEI_VECTOR_HANDOFF_INFO_PPI { // |