/** @file
Include file matches things in PI for multiple module types.
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
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
These elements are defined in UEFI Platform Initialization Specification 1.2.
**/
#ifndef __PI_MULTIPHASE_H__
#define __PI_MULTIPHASE_H__
#include <Pi/PiFirmwareVolume.h>
#include <Pi/PiFirmwareFile.h>
#include <Pi/PiBootMode.h>
#include <Pi/PiDependency.h>
#include <Pi/PiStatusCode.h>
#include <Pi/PiS3BootScript.h>
/**
Produces an error code in the range reserved for use by the Platform Initialization
Architecture Specification.
The supported 32-bit range is 0xA0000000-0xBFFFFFFF
The supported 64-bit range is 0xA000000000000000-0xBFFFFFFFFFFFFFFF
@param StatusCode The status code value to convert into a warning code.
StatusCode must be in the range 0x00000000..0x1FFFFFFF.
@return The value specified by StatusCode in the PI reserved range.
**/
///
/// If this value is returned by an EFI image, then the image should be unloaded.
///
///
/// If this value is returned by an API, it means the capability is not yet
///
///
/// Success and warning codes reserved for use by PI.
/// Supported 32-bit range is 0x20000000-0x3fffffff.
/// Supported 64-bit range is 0x2000000000000000-0x3fffffffffffffff.
///
///
/// Error codes reserved for use by PI.
/// Supported 32-bit range is 0xa0000000-0xbfffffff.
/// Supported 64-bit range is 0xa000000000000000-0xbfffffffffffffff.
///
///
/// Return status codes defined in SMM CIS.
///
///
/// Bitmask of values for Authentication Status.
/// Authentication Status is returned from EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL
/// and the EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI
///
/// xx00 Image was not signed.
/// xxx1 Platform security policy override. Assumes the 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, and the signature passed authentication test.
/// 0110 Image was signed and the signature was not tested.
/// 1010 Image was signed, the signature was tested, and the signature failed the authentication test.
///
///@{
///@}
///
/// SMRAM states and capabilities
///
///
/// Structure describing a SMRAM region and its accessibility attributes.
///
typedef struct {
///
/// Designates the physical address of the SMRAM in memory. This view of memory is
/// by the processors.
///
///
/// Designates the address of the SMRAM, as seen by software executing on the
/// processors. This address may or may not match PhysicalStart.
///
///
/// Describes the number of bytes in the SMRAM region.
///
///
/// Describes the accessibility attributes of the SMRAM. These attributes include the
/// initialization).
///
#endif