PiMultiPhase.h revision b205f267d68d8f001ed01a372c2db21070b49343
1/** @file
2  Include file matches things in PI for multiple module types.
3
4  Copyright (c) 2006 - 2009, Intel Corporation
5  All rights reserved. This program and the accompanying materials
6  are licensed and made available under the terms and conditions of the BSD License
7  which accompanies this distribution.  The full text of the license may be found at
8  http://opensource.org/licenses/bsd-license.php
9
10  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13  @par Revision Reference:
14  These elements are defined in UEFI Platform Initialization Specification 1.2
15
16**/
17
18#ifndef __PI_MULTIPHASE_H__
19#define __PI_MULTIPHASE_H__
20
21#include <Pi/PiFirmwareVolume.h>
22#include <Pi/PiFirmwareFile.h>
23#include <Pi/PiBootMode.h>
24#include <Pi/PiHob.h>
25#include <Pi/PiDependency.h>
26#include <Pi/PiStatusCode.h>
27
28/**
29  Produces an error code in the range reserved for use by the Platform Initialization
30  Architecture Specification.
31
32  The supported 32-bit range is 0xA0000000-0xBFFFFFFF
33  The supported 64-bit range is 0xA000000000000000-0xBFFFFFFFFFFFFFFF
34
35  @param  StatusCode    The status code value to convert into a warning code.
36                        StatusCode must be in the range 0x00000000..0x1FFFFFFF.
37
38  @return The value specified by StatusCode in the PI reserved range.
39
40**/
41#define DXE_ERROR(StatusCode)  (MAX_BIT | (MAX_BIT >> 2) | StatusCode)
42
43///
44/// If this value is returned by an EFI image, then the image should be unloaded.
45///
46#define EFI_REQUEST_UNLOAD_IMAGE  DXE_ERROR (1)
47
48///
49/// If this value is returned by an API, it means the capability is not yet
50/// installed/available/ready to use.
51///
52#define EFI_NOT_AVAILABLE_YET     DXE_ERROR (2)
53
54///
55/// Bitmask of values for Authentication Status.
56/// Authentication Status is returned from EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL
57/// and the EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI
58///
59/// xx00 Image was not signed.
60/// xxx1 Platform security policy override. Assumes same meaning as 0010 (the image was signed, the
61///      signature was tested, and the signature passed authentication test).
62/// 0010 Image was signed, the signature was tested, and the signature passed authentication test.
63/// 0110 Image was signed and the signature was not tested.
64/// 1010 Image was signed, the signature was tested, and the signature failed the authentication test.
65///
66///@{
67#define EFI_AUTH_STATUS_PLATFORM_OVERRIDE   0x01
68#define EFI_AUTH_STATUS_IMAGE_SIGNED        0x02
69#define EFI_AUTH_STATUS_NOT_TESTED          0x04
70#define EFI_AUTH_STATUS_TEST_FAILED         0x08
71#define EFI_AUTH_STATUS_ALL                 0x0f
72///@}
73
74#endif
75