--- /dev/null
+/** @file\r
+ GUID for system configuration table entry that points to the table\r
+ in case an entity in DXE wishes to update/change the vector table contents. \r
+\r
+ Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+ @par Revision Reference:\r
+ GUID defined in PI 1.2.1 spec.\r
+**/\r
+\r
+#ifndef __EFI_VECTOR_HANDOFF_TABLE_H__\r
+#define __EFI_VECTOR_HANDOFF_TABLE_H__\r
+\r
+#include <Ppi/VectorHandoffInfo.h>\r
+\r
+//\r
+// System configuration table entry that points to the table\r
+// in case an entity in DXE wishes to update/change the vector\r
+// table contents.\r
+//\r
+#define EFI_VECTOR_HANDOF_TABLE_GUID \\r
+ { 0x996ec11c, 0x5397, 0x4e73, { 0xb5, 0x8f, 0x82, 0x7e, 0x52, 0x90, 0x6d, 0xef }}\r
+\r
+extern EFI_GUID gEfiVectorHandoffTableGuid;\r
+\r
+#endif\r
--- /dev/null
+/** @file\r
+ This file declares Vector Handoff Info PPI that describes an array of\r
+ interrupt and/or exception vectors that are in use and need to persist.\r
+\r
+ This is an optional PPI that may be produced by SEC. If present, it provides\r
+ a description of the interrupt and/or exception vectors that were established\r
+ in the SEC Phase and need to persist into PEI and DXE. \r
+\r
+ Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+ @par Revision Reference:\r
+ This PPI is introduced in PI Version 1.2.1.\r
+\r
+**/\r
+\r
+#ifndef __VECTOR_HANDOFF_INFO_H__\r
+#define __VECTOR_HANDOFF_INFO_H__\r
+\r
+///\r
+/// NOTE: EFI_PEI_VECTOR_HANDOFF_INFO_PPI_GUID can also be used in the PEI Phase\r
+/// to build a GUIDed HOB that contains an array of EFI_VECTOR_HANDOFF_INFO.\r
+///\r
+#define EFI_PEI_VECTOR_HANDOFF_INFO_PPI_GUID \\r
+ { 0x3cd652b4, 0x6d33, 0x4dce, { 0x89, 0xdb, 0x83, 0xdf, 0x97, 0x66, 0xfc, 0xca }}\r
+\r
+///\r
+/// Vector Handoff Info Attributes\r
+///@{\r
+#define EFI_VECTOR_HANDOFF_DO_NOT_HOOK 0x00000000\r
+#define EFI_VECTOR_HANDOFF_HOOK_BEFORE 0x00000001\r
+#define EFI_VECTOR_HANDOFF_HOOK_AFTER 0x00000002\r
+#define EFI_VECTOR_HANDOFF_LAST_ENTRY 0x80000000\r
+///@}\r
+\r
+///\r
+/// EFI_VECTOR_HANDOFF_INFO entries that describes the interrupt and/or\r
+/// exception vectors in use in the PEI Phase.\r
+///\r
+typedef struct {\r
+ //\r
+ // The interrupt or exception vector that is in use and must be preserved.\r
+ //\r
+ UINT32 VectorNumber;\r
+ //\r
+ // A bitmask that describes the attributes ofthe interrupt or exception vector.\r
+ //\r
+ UINT32 Attribute;\r
+ //\r
+ // The GUID identifies the party who created the entry. For the \r
+ // EFI_VECTOR_HANDOFF_DO_NOT_HOOK case, this establishes the single owner.\r
+ //\r
+ EFI_GUID Owner;\r
+} EFI_VECTOR_HANDOFF_INFO;\r
+\r
+///\r
+/// Provides a description of the interrupt and/or exception vectors that\r
+/// were established in the SEC Phase and need to persist into PEI and DXE. \r
+///\r
+typedef struct _EFI_PEI_VECTOR_HANDOFF_INFO_PPI {\r
+ //\r
+ // Pointer to an array of interrupt and /or exception vectors.\r
+ //\r
+ EFI_VECTOR_HANDOFF_INFO *Info;\r
+} EFI_PEI_VECTOR_HANDOFF_INFO_PPI;\r
+\r
+extern EFI_GUID gEfiVectorHandoffInfoPpiGuid;\r
+\r
+#endif\r
## Include/Guid/FirmwareContentsSigned.h\r
gEfiFirmwareContentsSignedGuid = { 0xf9d89e8, 0x9259, 0x4f76, { 0xa5, 0xaf, 0xc, 0x89, 0xe3, 0x40, 0x23, 0xdf }}\r
\r
+ ## Include/Guid/VectorHandoffTable.h\r
+ gEfiVectorHandoffTableGuid = { 0x996ec11c, 0x5397, 0x4e73, { 0xb5, 0x8f, 0x82, 0x7e, 0x52, 0x90, 0x6d, 0xef }}\r
+\r
[Guids.IA32, Guids.X64]\r
## Include/Guid/Cper.h\r
gEfiIa32X64ErrorTypeCacheCheckGuid = { 0xA55701F5, 0xE3EF, 0x43de, { 0xAC, 0x72, 0x24, 0x9B, 0x57, 0x3F, 0xAD, 0x2C }}\r
## Include/Ppi/TemporaryRamDone.h\r
gEfiTemporaryRamDonePpiGuid = { 0xceab683c, 0xec56, 0x4a2d, { 0xa9, 0x6, 0x40, 0x53, 0xfa, 0x4e, 0x9c, 0x16 } }\r
\r
+ #\r
+ # PPIs defined in PI 1.2.1.\r
+ #\r
+\r
+ ## Include/Ppi/PiPcdInfo.h\r
+ gEfiGetPcdInfoPpiGuid = { 0xa60c6b59, 0xe459, 0x425d, { 0x9c, 0x69, 0xb, 0xcc, 0x9c, 0xb2, 0x7d, 0x81 } }\r
+\r
+ ## Include/Ppi/VectorHandoffInfo.h\r
+ gEfiVectorHandoffInfoPpiGuid = { 0x3cd652b4, 0x6d33, 0x4dce, { 0x89, 0xdb, 0x83, 0xdf, 0x97, 0x66, 0xfc, 0xca }}\r
+\r
#\r
# PPIs defined in PI 1.3.\r
#\r
gEfiPeiFirmwareVolumeInfo2PpiGuid = { 0xea7ca24b, 0xded5, 0x4dad, { 0xa3, 0x89, 0xbf, 0x82, 0x7e, 0x8f, 0x9b, 0x38 } }\r
\r
\r
- #\r
- # PPIs defined in PI 1.2.1.\r
- #\r
-\r
- ## Include/Ppi/PiPcdInfo.h\r
- gEfiGetPcdInfoPpiGuid = { 0xa60c6b59, 0xe459, 0x425d, { 0x9c, 0x69, 0xb, 0xcc, 0x9c, 0xb2, 0x7d, 0x81 } }\r
\r
[Protocols]\r
## Include/Protocol/Pcd.h\r