]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/VectorHandoffInfo.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Ppi / VectorHandoffInfo.h
CommitLineData
a889d466
JF
1/** @file\r
2 This file declares Vector Handoff Info PPI that describes an array of\r
3 interrupt and/or exception vectors that are in use and need to persist.\r
4\r
5 This is an optional PPI that may be produced by SEC. If present, it provides\r
6 a description of the interrupt and/or exception vectors that were established\r
9095d37b 7 in the SEC Phase and need to persist into PEI and DXE.\r
a889d466 8\r
9095d37b 9 Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 10 SPDX-License-Identifier: BSD-2-Clause-Patent\r
a889d466
JF
11\r
12 @par Revision Reference:\r
13 This PPI is introduced in PI Version 1.2.1.\r
14\r
15**/\r
16\r
17#ifndef __VECTOR_HANDOFF_INFO_H__\r
18#define __VECTOR_HANDOFF_INFO_H__\r
19\r
20///\r
21/// NOTE: EFI_PEI_VECTOR_HANDOFF_INFO_PPI_GUID can also be used in the PEI Phase\r
22/// to build a GUIDed HOB that contains an array of EFI_VECTOR_HANDOFF_INFO.\r
23///\r
24#define EFI_PEI_VECTOR_HANDOFF_INFO_PPI_GUID \\r
25 { 0x3cd652b4, 0x6d33, 0x4dce, { 0x89, 0xdb, 0x83, 0xdf, 0x97, 0x66, 0xfc, 0xca }}\r
26\r
27///\r
28/// Vector Handoff Info Attributes\r
29///@{\r
30#define EFI_VECTOR_HANDOFF_DO_NOT_HOOK 0x00000000\r
31#define EFI_VECTOR_HANDOFF_HOOK_BEFORE 0x00000001\r
32#define EFI_VECTOR_HANDOFF_HOOK_AFTER 0x00000002\r
33#define EFI_VECTOR_HANDOFF_LAST_ENTRY 0x80000000\r
34///@}\r
35\r
36///\r
37/// EFI_VECTOR_HANDOFF_INFO entries that describes the interrupt and/or\r
38/// exception vectors in use in the PEI Phase.\r
39///\r
40typedef struct {\r
41 //\r
42 // The interrupt or exception vector that is in use and must be preserved.\r
43 //\r
44 UINT32 VectorNumber;\r
45 //\r
46 // A bitmask that describes the attributes ofthe interrupt or exception vector.\r
47 //\r
48 UINT32 Attribute;\r
49 //\r
9095d37b 50 // The GUID identifies the party who created the entry. For the\r
a889d466
JF
51 // EFI_VECTOR_HANDOFF_DO_NOT_HOOK case, this establishes the single owner.\r
52 //\r
53 EFI_GUID Owner;\r
54} EFI_VECTOR_HANDOFF_INFO;\r
55\r
56///\r
57/// Provides a description of the interrupt and/or exception vectors that\r
9095d37b 58/// were established in the SEC Phase and need to persist into PEI and DXE.\r
a889d466
JF
59///\r
60typedef struct _EFI_PEI_VECTOR_HANDOFF_INFO_PPI {\r
61 //\r
62 // Pointer to an array of interrupt and /or exception vectors.\r
63 //\r
64 EFI_VECTOR_HANDOFF_INFO *Info;\r
65} EFI_PEI_VECTOR_HANDOFF_INFO_PPI;\r
66\r
67extern EFI_GUID gEfiVectorHandoffInfoPpiGuid;\r
68\r
69#endif\r