diff options
Diffstat (limited to 'MdePkg/Include/Guid')
42 files changed, 712 insertions, 476 deletions
diff --git a/MdePkg/Include/Guid/Acpi.h b/MdePkg/Include/Guid/Acpi.h index 3897ae62ff30..7aa5ab5a2826 100644 --- a/MdePkg/Include/Guid/Acpi.h +++ b/MdePkg/Include/Guid/Acpi.h @@ -2,17 +2,11 @@ GUIDs used for ACPI entries in the EFI system table These GUIDs point the ACPI tables as defined in the ACPI specifications. - ACPI 2.0 specification defines the ACPI 2.0 GUID. UEFI 2.0 defines the + ACPI 2.0 specification defines the ACPI 2.0 GUID. UEFI 2.0 defines the ACPI 2.0 Table GUID and ACPI Table GUID. - 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: GUIDs defined in UEFI 2.0 spec. diff --git a/MdePkg/Include/Guid/Apriori.h b/MdePkg/Include/Guid/Apriori.h index 6d4fc74d406b..2a30fd52e24b 100644 --- a/MdePkg/Include/Guid/Apriori.h +++ b/MdePkg/Include/Guid/Apriori.h @@ -3,14 +3,8 @@ list of FV filenames that the DXE dispatcher will schedule reguardless of the dependency grammar. - 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: GUID introduced in PI Version 1.0. diff --git a/MdePkg/Include/Guid/AprioriFileName.h b/MdePkg/Include/Guid/AprioriFileName.h index d99893887d1b..ab34b17ea8b5 100644 --- a/MdePkg/Include/Guid/AprioriFileName.h +++ b/MdePkg/Include/Guid/AprioriFileName.h @@ -3,14 +3,8 @@ name of the PEI a priori file that is stored in a firmware volume. - 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: GUID introduced in PI Version 1.0. @@ -24,7 +18,7 @@ { 0x1b45cc0a, 0x156a, 0x428a, { 0x62, 0XAF, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 } } -/// +/// /// This file must be of type EFI_FV_FILETYPE_FREEFORM and must /// contain a single section of type EFI_SECTION_RAW. For details on /// firmware volumes, firmware file types, and firmware file section @@ -33,7 +27,7 @@ typedef struct { /// /// An array of zero or more EFI_GUID type entries that match the file names of PEIM - /// modules in the same Firmware Volume. The maximum number of entries. + /// modules in the same Firmware Volume. The maximum number of entries. /// EFI_GUID FileNamesWithinVolume[1]; } PEI_APRIORI_FILE_CONTENTS; diff --git a/MdePkg/Include/Guid/Btt.h b/MdePkg/Include/Guid/Btt.h new file mode 100644 index 000000000000..93a79782b5ca --- /dev/null +++ b/MdePkg/Include/Guid/Btt.h @@ -0,0 +1,222 @@ +/** @file + Block Translation Table (BTT) metadata layout definition. + + BTT is a layout and set of rules for doing block I/O that provide powerfail + write atomicity of a single block. + +Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This metadata layout definition was introduced in UEFI Specification 2.7. + +**/ + +#ifndef _BTT_H_ +#define _BTT_H_ + +/// +/// The BTT layout and behavior is described by the GUID as below. +/// +#define EFI_BTT_ABSTRACTION_GUID \ + { \ + 0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9, 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 } \ + } + +// +// Alignment of all BTT structures +// +#define EFI_BTT_ALIGNMENT 4096 + +#define EFI_BTT_INFO_UNUSED_LEN 3968 + +#define EFI_BTT_INFO_BLOCK_SIG_LEN 16 + +/// +/// Indicate inconsistent metadata or lost metadata due to unrecoverable media errors. +/// +#define EFI_BTT_INFO_BLOCK_FLAGS_ERROR 0x00000001 + +#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION 2 +#define EFI_BTT_INFO_BLOCK_MINOR_VERSION 0 + +/// +/// Block Translation Table (BTT) Info Block +/// +typedef struct _EFI_BTT_INFO_BLOCK { + /// + /// Signature of the BTT Index Block data structure. + /// Shall be "BTT_ARENA_INFO\0\0". + /// + CHAR8 Sig[EFI_BTT_INFO_BLOCK_SIG_LEN]; + + /// + /// UUID identifying this BTT instance. + /// + GUID Uuid; + + /// + /// UUID of containing namespace. + /// + GUID ParentUuid; + + /// + /// Attributes of this BTT Info Block. + /// + UINT32 Flags; + + /// + /// Major version number. Currently at version 2. + /// + UINT16 Major; + + /// + /// Minor version number. Currently at version 0. + /// + UINT16 Minor; + + /// + /// Advertised LBA size in bytes. I/O requests shall be in this size chunk. + /// + UINT32 ExternalLbaSize; + + /// + /// Advertised number of LBAs in this arena. + /// + UINT32 ExternalNLba; + + /// + /// Internal LBA size shall be greater than or equal to ExternalLbaSize and shall not be smaller than 512 bytes. + /// + UINT32 InternalLbaSize; + + /// + /// Number of internal blocks in the arena data area. + /// + UINT32 InternalNLba; + + /// + /// Number of free blocks maintained for writes to this arena. + /// + UINT32 NFree; + + /// + /// The size of this info block in bytes. + /// + UINT32 InfoSize; + + /// + /// Offset of next arena, relative to the beginning of this arena. + /// + UINT64 NextOff; + + /// + /// Offset of the data area for this arena, relative to the beginning of this arena. + /// + UINT64 DataOff; + + /// + /// Offset of the map for this arena, relative to the beginning of this arena. + /// + UINT64 MapOff; + + /// + /// Offset of the flog for this arena, relative to the beginning of this arena. + /// + UINT64 FlogOff; + + /// + /// Offset of the backup copy of this arena's info block, relative to the beginning of this arena. + /// + UINT64 InfoOff; + + /// + /// Shall be zero. + /// + CHAR8 Unused[EFI_BTT_INFO_UNUSED_LEN]; + + /// + /// 64-bit Fletcher64 checksum of all fields. + /// + UINT64 Checksum; +} EFI_BTT_INFO_BLOCK; + +/// +/// BTT Map entry maps an LBA that indexes into the arena, to its actual location. +/// +typedef struct _EFI_BTT_MAP_ENTRY { + /// + /// Post-map LBA number (block number in this arena's data area) + /// + UINT32 PostMapLba : 30; + + /// + /// When set and Zero is not set, reads on this block return an error. + /// When set and Zero is set, indicate a map entry in its normal, non-error state. + /// + UINT32 Error : 1; + + /// + /// When set and Error is not set, reads on this block return a full block of zeros. + /// When set and Error is set, indicate a map entry in its normal, non-error state. + /// + UINT32 Zero : 1; +} EFI_BTT_MAP_ENTRY; + +/// +/// Alignment of each flog structure +/// +#define EFI_BTT_FLOG_ENTRY_ALIGNMENT 64 + +/// +/// The BTT Flog is both a free list and a log. +/// The Flog size is determined by the EFI_BTT_INFO_BLOCK.NFree which determines how many of these flog +/// entries there are. +/// The Flog location is the highest aligned address in the arena after space for the backup info block. +/// +typedef struct _EFI_BTT_FLOG { + /// + /// Last pre-map LBA written using this flog entry. + /// + UINT32 Lba0; + + /// + /// Old post-map LBA. + /// + UINT32 OldMap0; + + /// + /// New post-map LBA. + /// + UINT32 NewMap0; + + /// + /// The Seq0 field in each flog entry is used to determine which set of fields is newer between the two sets + /// (Lba0, OldMap0, NewMpa0, Seq0 vs Lba1, Oldmap1, NewMap1, Seq1). + /// + UINT32 Seq0; + + /// + /// Alternate lba entry. + /// + UINT32 Lba1; + + /// + /// Alternate old entry. + /// + UINT32 OldMap1; + + /// + /// Alternate new entry. + /// + UINT32 NewMap1; + + /// + /// Alternate Seq entry. + /// + UINT32 Seq1; +} EFI_BTT_FLOG; + +extern GUID gEfiBttAbstractionGuid; + +#endif //_BTT_H_ diff --git a/MdePkg/Include/Guid/CapsuleReport.h b/MdePkg/Include/Guid/CapsuleReport.h index 051a41bde9f3..8228f937d014 100644 --- a/MdePkg/Include/Guid/CapsuleReport.h +++ b/MdePkg/Include/Guid/CapsuleReport.h @@ -1,14 +1,8 @@ /** @file Guid & data structure used for Capsule process result variables - - 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: GUIDs defined in UEFI 2.4 spec. @@ -84,14 +78,14 @@ typedef struct { /// /// In case of capsule loaded from disk, the zero-terminated array containing file name of capsule that was processed. - /// In case of capsule submitted directly to UpdateCapsule() there is no file name, and this field is required to contain a single 16-bit zero character + /// In case of capsule submitted directly to UpdateCapsule() there is no file name, and this field is required to contain a single 16-bit zero character /// which is included in VariableTotalSize. /// /// CHAR16 CapsuleFileName[]; /// /// - /// This field will contain a zero-terminated CHAR16 string containing the text representation of the device path of device publishing Firmware Management Protocol + /// This field will contain a zero-terminated CHAR16 string containing the text representation of the device path of device publishing Firmware Management Protocol /// (if present). In case where device path is not present and the target is not otherwise known to firmware, or when payload was blocked by policy, or skipped, /// this field is required to contain a single 16-bit zero character which is included in VariableTotalSize. /// @@ -99,6 +93,35 @@ typedef struct { /// } EFI_CAPSULE_RESULT_VARIABLE_FMP; +typedef struct { + + /// + /// Version of this structure, currently 0x00000001 + /// + UINT32 Version; + + /// + /// The unique identifier of the capsule whose processing result is recorded in this variable. + /// 0x00000000 - 0xEFFFFFFF - Implementation Reserved + /// 0xF0000000 - 0xFFFFFFFF - Specification Reserved + /// #define REDFISH_DEFINED_JSON_SCHEMA 0xF000000 + /// The JSON payload shall conform to a Redfish-defined JSON schema, see DMTF-Redfish + /// Specification. + /// + UINT32 CapsuleId; + + /// + /// The length of Resp in bytes. + /// + UINT32 RespLength; + + /// + /// Variable length buffer containing the replied JSON payload to the caller who delivered JSON + /// capsule to system. The definition of the JSON schema used in the replied payload is beyond + /// the scope of this specification. + /// + UINT8 Resp[]; + } EFI_CAPSULE_RESULT_VARIABLE_JSON; extern EFI_GUID gEfiCapsuleReportGuid; diff --git a/MdePkg/Include/Guid/Cper.h b/MdePkg/Include/Guid/Cper.h index f6f5bc2df8fb..06e06c4eab7d 100644 --- a/MdePkg/Include/Guid/Cper.h +++ b/MdePkg/Include/Guid/Cper.h @@ -1,18 +1,12 @@ /** @file GUIDs and definitions used for Common Platform Error Record. - Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR> (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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: - GUIDs defined in UEFI 2.6 Specification. + GUIDs defined in UEFI 2.7 Specification. **/ @@ -101,6 +95,18 @@ typedef struct { { \ 0x667DD791, 0xC6B3, 0x4c27, { 0x8A, 0x6B, 0x0F, 0x8E, 0x72, 0x2D, 0xEB, 0x41 } \ } +#define EFI_EVENT_NOTIFICATION_TYPE_DMAR_SEA \ + { \ + 0x9A78788A, 0xBBE8, 0x11E4, { 0x80, 0x9E, 0x67, 0x61, 0x1E, 0x5D, 0x46, 0xB0 } \ + } +#define EFI_EVENT_NOTIFICATION_TYPE_DMAR_SEI \ + { \ + 0x5C284C81, 0xB0AE, 0x4E87, { 0xA3, 0x22, 0xB0, 0x4C, 0x85, 0x62, 0x43, 0x23 } \ + } +#define EFI_EVENT_NOTIFICATION_TYPE_DMAR_PEI \ + { \ + 0x09A9D5AC, 0x5204, 0x4214, { 0x96, 0xE5, 0x94, 0x99, 0x2E, 0x75, 0x2B, 0xCD } \ + } ///@} /// @@ -256,6 +262,7 @@ typedef struct { ///@{ #define EFI_GENERIC_ERROR_PROC_TYPE_IA32_X64 0x00 #define EFI_GENERIC_ERROR_PROC_TYPE_IA64 0x01 +#define EFI_GENERIC_ERROR_PROC_TYPE_ARM 0x02 ///@} /// @@ -265,6 +272,8 @@ typedef struct { #define EFI_GENERIC_ERROR_PROC_ISA_IA32 0x00 #define EFI_GENERIC_ERROR_PROC_ISA_IA64 0x01 #define EFI_GENERIC_ERROR_PROC_ISA_X64 0x02 +#define EFI_GENERIC_ERROR_PROC_ISA_ARM_A32_T32 0x03 +#define EFI_GENERIC_ERROR_PROC_ISA_ARM_A64 0x04 ///@} /// @@ -1088,16 +1097,21 @@ typedef struct { /// /// Identifies the type of firmware error record -/// +///@{ #define EFI_FIRMWARE_ERROR_TYPE_IPF_SAL 0x00 +#define EFI_FIRMWARE_ERROR_TYPE_SOC_TYPE1 0x01 +#define EFI_FIRMWARE_ERROR_TYPE_SOC_TYPE2 0x02 +///@} /// /// Firmware Error Record Section /// typedef struct { UINT8 ErrorType; - UINT8 Resv1[7]; + UINT8 Revision; + UINT8 Resv1[6]; UINT64 RecordId; + EFI_GUID RecordIdGuid; } EFI_FIRMWARE_ERROR_DATA; /// @@ -1205,6 +1219,9 @@ extern EFI_GUID gEfiEventNotificationTypeInitGuid; extern EFI_GUID gEfiEventNotificationTypeNmiGuid; extern EFI_GUID gEfiEventNotificationTypeBootGuid; extern EFI_GUID gEfiEventNotificationTypeDmarGuid; +extern EFI_GUID gEfiEventNotificationTypeSeaGuid; +extern EFI_GUID gEfiEventNotificationTypeSeiGuid; +extern EFI_GUID gEfiEventNotificationTypePeiGuid; extern EFI_GUID gEfiProcessorGenericErrorSectionGuid; extern EFI_GUID gEfiProcessorSpecificErrorSectionGuid; diff --git a/MdePkg/Include/Guid/DebugImageInfoTable.h b/MdePkg/Include/Guid/DebugImageInfoTable.h index 553ebd258854..7940f8d6fd9e 100644 --- a/MdePkg/Include/Guid/DebugImageInfoTable.h +++ b/MdePkg/Include/Guid/DebugImageInfoTable.h @@ -1,14 +1,8 @@ /** @file GUID and related data structures used with the Debug Image Info Table. - 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: GUID defined in UEFI 2.0 spec. @@ -35,7 +29,7 @@ typedef struct { UINT64 Signature; ///< A constant UINT64 that has the value EFI_SYSTEM_TABLE_SIGNATURE - EFI_PHYSICAL_ADDRESS EfiSystemTableBase; ///< The physical address of the EFI system table. + EFI_PHYSICAL_ADDRESS EfiSystemTableBase; ///< The physical address of the EFI system table. UINT32 Crc32; ///< A 32-bit CRC value that is used to verify the EFI_SYSTEM_TABLE_POINTER structure is valid. } EFI_SYSTEM_TABLE_POINTER; diff --git a/MdePkg/Include/Guid/DxeServices.h b/MdePkg/Include/Guid/DxeServices.h index be2b5b3e96d0..8c5f7e927b4c 100644 --- a/MdePkg/Include/Guid/DxeServices.h +++ b/MdePkg/Include/Guid/DxeServices.h @@ -1,14 +1,8 @@ /** @file GUID used to identify the DXE Services Table - 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: GUID introduced in PI Version 1.0. diff --git a/MdePkg/Include/Guid/EventGroup.h b/MdePkg/Include/Guid/EventGroup.h index 04ee0e0fdaad..1614c542bf89 100644 --- a/MdePkg/Include/Guid/EventGroup.h +++ b/MdePkg/Include/Guid/EventGroup.h @@ -1,21 +1,15 @@ /** @file GUIDs for gBS->CreateEventEx Event Groups. Defined in UEFI spec 2.0 and PI 1.2.1. -Copyright (c) 2006 - 2012, 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 **/ #ifndef __EVENT_GROUP_GUID__ #define __EVENT_GROUP_GUID__ - + #define EFI_EVENT_GROUP_EXIT_BOOT_SERVICES \ { 0x27abf055, 0xb1b8, 0x4c26, { 0x80, 0x48, 0x74, 0x8f, 0x37, 0xba, 0xa2, 0xdf } } diff --git a/MdePkg/Include/Guid/EventLegacyBios.h b/MdePkg/Include/Guid/EventLegacyBios.h index f69aa18f9a21..038259bf20be 100644 --- a/MdePkg/Include/Guid/EventLegacyBios.h +++ b/MdePkg/Include/Guid/EventLegacyBios.h @@ -1,16 +1,10 @@ /** @file - GUID is the name of events used with CreateEventEx in order to be notified + GUID is the name of events used with CreateEventEx in order to be notified when the EFI boot manager is about to boot a legacy boot option. - Events of this type are notificated just before Int19h is invoked. + Events of this type are notificated just before Int19h is invoked. - 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: GUID introduced in PI Version 1.0. diff --git a/MdePkg/Include/Guid/FileInfo.h b/MdePkg/Include/Guid/FileInfo.h index 5a2e081b4672..db359799ad67 100644 --- a/MdePkg/Include/Guid/FileInfo.h +++ b/MdePkg/Include/Guid/FileInfo.h @@ -3,14 +3,8 @@ and EFI_FILE_PROTOCOL.GetInfo() to set or get generic file information. This GUID is defined in UEFI specification. -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 **/ diff --git a/MdePkg/Include/Guid/FileSystemInfo.h b/MdePkg/Include/Guid/FileSystemInfo.h index f666ae5571ab..3a0aa9d66be5 100644 --- a/MdePkg/Include/Guid/FileSystemInfo.h +++ b/MdePkg/Include/Guid/FileSystemInfo.h @@ -3,14 +3,8 @@ or EFI_FILE_PROTOCOL.SetInfo() to get or set information about the system's volume. This GUID is defined in UEFI specification. -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 **/ diff --git a/MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h b/MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h index 0f41f9a34e03..9be7a7c33fce 100644 --- a/MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h +++ b/MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h @@ -3,14 +3,8 @@ or EFI_FILE_PROTOCOL.SetInfo() to get or set the system's volume label. This GUID is defined in UEFI specification. - 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 **/ diff --git a/MdePkg/Include/Guid/FirmwareContentsSigned.h b/MdePkg/Include/Guid/FirmwareContentsSigned.h index c13a21eb1356..1748da8f5601 100644 --- a/MdePkg/Include/Guid/FirmwareContentsSigned.h +++ b/MdePkg/Include/Guid/FirmwareContentsSigned.h @@ -1,14 +1,8 @@ /** @file GUID is used to define the signed section. - 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: GUID introduced in PI Version 1.2.1. diff --git a/MdePkg/Include/Guid/FirmwareFileSystem2.h b/MdePkg/Include/Guid/FirmwareFileSystem2.h index 9e12fd608444..1d4cfd3cf08a 100644 --- a/MdePkg/Include/Guid/FirmwareFileSystem2.h +++ b/MdePkg/Include/Guid/FirmwareFileSystem2.h @@ -1,14 +1,8 @@ /** @file Guid used to define the Firmware File System 2. - 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: GUIDs introduced in PI Version 1.0. @@ -18,18 +12,18 @@ #ifndef __FIRMWARE_FILE_SYSTEM2_GUID_H__ #define __FIRMWARE_FILE_SYSTEM2_GUID_H__ -/// -/// The firmware volume header contains a data field for +/// +/// The firmware volume header contains a data field for /// the file system GUID -/// +/// #define EFI_FIRMWARE_FILE_SYSTEM2_GUID \ { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 } } /// -/// A Volume Top File (VTF) is a file that must be -/// located such that the last byte of the file is +/// A Volume Top File (VTF) is a file that must be +/// located such that the last byte of the file is /// also the last byte of the firmware volume -/// +/// #define EFI_FFS_VOLUME_TOP_FILE_GUID \ { 0x1BA0062E, 0xC779, 0x4582, { 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x9 } } diff --git a/MdePkg/Include/Guid/FirmwareFileSystem3.h b/MdePkg/Include/Guid/FirmwareFileSystem3.h index 37ee56a97afd..a9c7fb9f203c 100644 --- a/MdePkg/Include/Guid/FirmwareFileSystem3.h +++ b/MdePkg/Include/Guid/FirmwareFileSystem3.h @@ -1,14 +1,8 @@ /** @file Guid used to define the Firmware File System 3. - 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: GUIDs introduced in PI Version 1.0. @@ -18,7 +12,7 @@ #ifndef __FIRMWARE_FILE_SYSTEM3_GUID_H__ #define __FIRMWARE_FILE_SYSTEM3_GUID_H__ -/// +/// /// The firmware volume header contains a data field for the file system GUID /// {5473C07A-3DCB-4dca-BD6F-1E9689E7349A} /// diff --git a/MdePkg/Include/Guid/FmpCapsule.h b/MdePkg/Include/Guid/FmpCapsule.h index 2d97b109d093..c19671e8456d 100644 --- a/MdePkg/Include/Guid/FmpCapsule.h +++ b/MdePkg/Include/Guid/FmpCapsule.h @@ -3,13 +3,7 @@ Management Protocol Copyright (c) 2013 - 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: GUIDs defined in UEFI 2.4 spec. @@ -85,13 +79,22 @@ typedef struct { /// therefore can be modified without changing the Auth data. /// UINT64 UpdateHardwareInstance; + + /// + /// A 64-bit bitmask that determines what sections are added to the payload. + /// #define CAPSULE_SUPPORT_AUTHENTICATION 0x0000000000000001 + /// #define CAPSULE_SUPPORT_DEPENDENCY 0x0000000000000002 + /// + UINT64 ImageCapsuleSupport; } EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER; #pragma pack() #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER_INIT_VERSION 0x00000001 -#define EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION 0x00000002 +#define EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION 0x00000003 +#define CAPSULE_SUPPORT_AUTHENTICATION 0x0000000000000001 +#define CAPSULE_SUPPORT_DEPENDENCY 0x0000000000000002 extern EFI_GUID gEfiFmpCapsuleGuid; diff --git a/MdePkg/Include/Guid/GlobalVariable.h b/MdePkg/Include/Guid/GlobalVariable.h index a0be1a94c604..b1e07ff543c1 100644 --- a/MdePkg/Include/Guid/GlobalVariable.h +++ b/MdePkg/Include/Guid/GlobalVariable.h @@ -1,14 +1,8 @@ /** @file GUID for EFI (NVRAM) Variables. - Copyright (c) 2006 - 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 - 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: GUID defined in UEFI 2.1 diff --git a/MdePkg/Include/Guid/Gpt.h b/MdePkg/Include/Guid/Gpt.h index af2b1a12f82c..8c45490c865b 100644 --- a/MdePkg/Include/Guid/Gpt.h +++ b/MdePkg/Include/Guid/Gpt.h @@ -1,17 +1,11 @@ /** @file Guids used for the GPT (GUID Partition Table) - GPT defines a new disk partitioning scheme and also describes - usage of the legacy Master Boot Record (MBR) partitioning scheme. + GPT defines a new disk partitioning scheme and also describes + usage of the legacy Master Boot Record (MBR) partitioning scheme. - Copyright (c) 2006 - 2007, 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: GUIDs defined in UEFI 2.1 spec. diff --git a/MdePkg/Include/Guid/GraphicsInfoHob.h b/MdePkg/Include/Guid/GraphicsInfoHob.h index 46dd29ddb2d2..cd1965c38532 100644 --- a/MdePkg/Include/Guid/GraphicsInfoHob.h +++ b/MdePkg/Include/Guid/GraphicsInfoHob.h @@ -2,13 +2,7 @@ Hob guid for Information about the graphics mode. 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 - 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 HOB is introduced in in PI Version 1.4. diff --git a/MdePkg/Include/Guid/HardwareErrorVariable.h b/MdePkg/Include/Guid/HardwareErrorVariable.h index 4f644155a1da..4385f5f7a216 100644 --- a/MdePkg/Include/Guid/HardwareErrorVariable.h +++ b/MdePkg/Include/Guid/HardwareErrorVariable.h @@ -2,13 +2,7 @@ GUID for hardware error record variables. 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. + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: GUID defined in UEFI 2.1. diff --git a/MdePkg/Include/Guid/HiiFormMapMethodGuid.h b/MdePkg/Include/Guid/HiiFormMapMethodGuid.h index 8b37807f3d24..6fff5b606f95 100644 --- a/MdePkg/Include/Guid/HiiFormMapMethodGuid.h +++ b/MdePkg/Include/Guid/HiiFormMapMethodGuid.h @@ -1,14 +1,8 @@ /** @file Guid used to identify HII FormMap configuration method. - Copyright (c) 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) 2009 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: GUID defined in UEFI 2.2 spec. diff --git a/MdePkg/Include/Guid/HiiKeyBoardLayout.h b/MdePkg/Include/Guid/HiiKeyBoardLayout.h index c2619713ed27..8f584b0930ff 100644 --- a/MdePkg/Include/Guid/HiiKeyBoardLayout.h +++ b/MdePkg/Include/Guid/HiiKeyBoardLayout.h @@ -1,15 +1,9 @@ /** @file HII keyboard layout GUID as defined in UEFI2.1 specification - - 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: GUIDs defined in UEFI 2.1 spec. diff --git a/MdePkg/Include/Guid/HiiPlatformSetupFormset.h b/MdePkg/Include/Guid/HiiPlatformSetupFormset.h index 2503879a4c7a..e0a38a2aa8ad 100644 --- a/MdePkg/Include/Guid/HiiPlatformSetupFormset.h +++ b/MdePkg/Include/Guid/HiiPlatformSetupFormset.h @@ -1,15 +1,9 @@ /** @file - GUID indicates that the form set contains forms designed to be used + GUID indicates that the form set contains forms designed to be used for platform configuration and this form set will be displayed. -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: GUID defined in UEFI 2.1. @@ -28,8 +22,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define EFI_HII_USER_CREDENTIAL_FORMSET_GUID \ { 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } } +#define EFI_HII_REST_STYLE_FORMSET_GUID \ + { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 } } + extern EFI_GUID gEfiHiiPlatformSetupFormsetGuid; extern EFI_GUID gEfiHiiDriverHealthFormsetGuid; extern EFI_GUID gEfiHiiUserCredentialFormsetGuid; +extern EFI_GUID gEfiHiiRestStyleFormsetGuid; #endif diff --git a/MdePkg/Include/Guid/HobList.h b/MdePkg/Include/Guid/HobList.h index 94c1a58e0f03..e44faedc171b 100644 --- a/MdePkg/Include/Guid/HobList.h +++ b/MdePkg/Include/Guid/HobList.h @@ -3,14 +3,8 @@ These GUIDs point the HOB List passed from PEI to DXE. - 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: GUID introduced in PI Version 1.0. diff --git a/MdePkg/Include/Guid/ImageAuthentication.h b/MdePkg/Include/Guid/ImageAuthentication.h index a81b79b83850..84b52b969510 100644 --- a/MdePkg/Include/Guid/ImageAuthentication.h +++ b/MdePkg/Include/Guid/ImageAuthentication.h @@ -1,14 +1,8 @@ /** @file Image signature database are defined for the signed image validation. - Copyright (c) 2009 - 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 - 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) 2009 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: GUIDs defined in UEFI 2.5 spec. @@ -319,7 +313,7 @@ typedef struct { /// Zero or more image signatures. If the image contained no signatures, /// then this field is empty. /// EFI_SIGNATURE_LIST Signature; - /// + /// } EFI_IMAGE_EXECUTION_INFO; diff --git a/MdePkg/Include/Guid/JsonCapsule.h b/MdePkg/Include/Guid/JsonCapsule.h new file mode 100644 index 000000000000..d54c50694f5c --- /dev/null +++ b/MdePkg/Include/Guid/JsonCapsule.h @@ -0,0 +1,98 @@ +/** @file +Guid & data structure for tables defined for reporting firmware configuration data to EFI +Configuration Tables and also for processing JSON payload capsule. + + +Copyright (c) 2020, American Megatrends International LLC. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __JSON_CAPSULE_GUID_H__ +#define __JSON_CAPSULE_GUID_H__ + +// +// The address reported in the table entry identified by EFI_JSON_CAPSULE_DATA_TABLE_GUID will be +// referenced as physical and will not be fixed up when transition from preboot to runtime phase. The +// addresses reported in these table entries identified by EFI_JSON_CONFIG_DATA_TABLE_GUID and +// EFI_JSON_CAPSULE_RESULT_TABLE_GUID will be referenced as virtual and will be fixed up when +// transition from preboot to runtime phase. +// +#define EFI_JSON_CONFIG_DATA_TABLE_GUID \ + {0x87367f87, 0x1119, 0x41ce, \ + {0xaa, 0xec, 0x8b, 0xe0, 0x11, 0x1f, 0x55, 0x8a }} +#define EFI_JSON_CAPSULE_DATA_TABLE_GUID \ + {0x35e7a725, 0x8dd2, 0x4cac, \ + {0x80, 0x11, 0x33, 0xcd, 0xa8, 0x10, 0x90, 0x56 }} +#define EFI_JSON_CAPSULE_RESULT_TABLE_GUID \ + {0xdbc461c3, 0xb3de, 0x422a,\ + {0xb9, 0xb4, 0x98, 0x86, 0xfd, 0x49, 0xa1, 0xe5 }} +#define EFI_JSON_CAPSULE_ID_GUID \ + {0x67d6f4cd, 0xd6b8, 0x4573, \ + {0xbf, 0x4a, 0xde, 0x5e, 0x25, 0x2d, 0x61, 0xae }} + + +#pragma pack(1) + +typedef struct { + /// + /// Version of the structure, initially 0x00000001. + /// + UINT32 Version; + + /// + /// The unique identifier of this capsule. + /// + UINT32 CapsuleId; + + /// + /// The length of the JSON payload immediately following this header, in bytes. + /// + UINT32 PayloadLength; + + /// + /// Variable length buffer containing the JSON payload that should be parsed and applied to the system. The + /// definition of the JSON schema used in the payload is beyond the scope of this specification. + /// + UINT8 Payload[]; +} EFI_JSON_CAPSULE_HEADER; + +typedef struct { + /// + /// The length of the following ConfigData, in bytes. + /// + UINT32 ConfigDataLength; + + /// + /// Variable length buffer containing the JSON payload that describes one group of configuration data within + /// current system. The definition of the JSON schema used in this payload is beyond the scope of this specification. + /// + UINT8 ConfigData[]; +} EFI_JSON_CONFIG_DATA_ITEM; + +typedef struct { + /// + /// Version of the structure, initially 0x00000001. + /// + UINT32 Version; + + /// + ////The total length of EFI_JSON_CAPSULE_CONFIG_DATA, in bytes. + /// + UINT32 TotalLength; + + /// + /// Array of configuration data groups. + /// + EFI_JSON_CONFIG_DATA_ITEM ConfigDataList[]; +} EFI_JSON_CAPSULE_CONFIG_DATA; + +#pragma pack() + +extern EFI_GUID gEfiJsonConfigDataTableGuid; +extern EFI_GUID gEfiJsonCapsuleDataTableGuid; +extern EFI_GUID gEfiJsonCapsuleResultTableGuid; +extern EFI_GUID gEfiJsonCapsuleIdGuid; + + +#endif diff --git a/MdePkg/Include/Guid/MdePkgTokenSpace.h b/MdePkg/Include/Guid/MdePkgTokenSpace.h index 70896ef67da1..f20370e7062b 100644 --- a/MdePkg/Include/Guid/MdePkgTokenSpace.h +++ b/MdePkg/Include/Guid/MdePkgTokenSpace.h @@ -1,14 +1,8 @@ /** @file - GUID for MdePkg PCD Token Space + GUID for MdePkg PCD Token Space - Copyright (c) 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) 2009 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent **/ diff --git a/MdePkg/Include/Guid/MemoryAllocationHob.h b/MdePkg/Include/Guid/MemoryAllocationHob.h index 788920c4801c..1985abc04950 100644 --- a/MdePkg/Include/Guid/MemoryAllocationHob.h +++ b/MdePkg/Include/Guid/MemoryAllocationHob.h @@ -1,14 +1,8 @@ /** @file GUIDs for HOBs used in memory allcation - 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: GUIDs introduced in PI Version 1.0. diff --git a/MdePkg/Include/Guid/MemoryAttributesTable.h b/MdePkg/Include/Guid/MemoryAttributesTable.h index 1292771c2201..2b4e2aa7e649 100644 --- a/MdePkg/Include/Guid/MemoryAttributesTable.h +++ b/MdePkg/Include/Guid/MemoryAttributesTable.h @@ -2,13 +2,7 @@ GUIDs used for UEFI Memory Attributes Table in the UEFI 2.6 specification. Copyright (c) 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 - 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 **/ diff --git a/MdePkg/Include/Guid/MemoryOverwriteControl.h b/MdePkg/Include/Guid/MemoryOverwriteControl.h index d6869a121a6f..9fba7eaf3a55 100644 --- a/MdePkg/Include/Guid/MemoryOverwriteControl.h +++ b/MdePkg/Include/Guid/MemoryOverwriteControl.h @@ -1,20 +1,14 @@ /** @file - GUID used for MemoryOverwriteRequestControl UEFI variable defined in + GUID used for MemoryOverwriteRequestControl UEFI variable defined in TCG Platform Reset Attack Mitigation Specification 1.00. See http://trustedcomputinggroup.org for the latest specification - The purpose of the MemoryOverwriteRequestControl UEFI variable is to give users (e.g., OS, loader) the ability to - indicate to the platform that secrets are present in memory and that the platform firmware must clear memory upon - a restart. The OS loader should not create the variable. Rather, the firmware is required to create it. + The purpose of the MemoryOverwriteRequestControl UEFI variable is to give users (e.g., OS, loader) the ability to + indicate to the platform that secrets are present in memory and that the platform firmware must clear memory upon + a restart. The OS loader should not create the variable. Rather, the firmware is required to create it. - Copyright (c) 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) 2009 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -27,17 +21,17 @@ } /// -/// Variable name is "MemoryOverwriteRequestControl" and it is a 1 byte unsigned value. -/// The attributes should be: -/// EFI_VARIABLE_NON_VOLATILE | -/// EFI_VARIABLE_BOOTSERVICE_ACCESS | -/// EFI_VARIABLE_RUNTIME_ACCESS +/// Variable name is "MemoryOverwriteRequestControl" and it is a 1 byte unsigned value. +/// The attributes should be: +/// EFI_VARIABLE_NON_VOLATILE | +/// EFI_VARIABLE_BOOTSERVICE_ACCESS | +/// EFI_VARIABLE_RUNTIME_ACCESS /// #define MEMORY_OVERWRITE_REQUEST_VARIABLE_NAME L"MemoryOverwriteRequestControl" /// -/// 0 = Firmware MUST clear the MOR bi -/// 1 = Firmware MUST set the MOR bit +/// 0 = Firmware MUST clear the MOR bit +/// 1 = Firmware MUST set the MOR bit /// #define MOR_CLEAR_MEMORY_BIT_MASK 0x01 diff --git a/MdePkg/Include/Guid/Mps.h b/MdePkg/Include/Guid/Mps.h index 4d4692e3be22..48f52b0e2bf0 100644 --- a/MdePkg/Include/Guid/Mps.h +++ b/MdePkg/Include/Guid/Mps.h @@ -3,14 +3,8 @@ ACPI is the primary means of exporting MPS information to the OS. MPS only was included to support Itanium-based platform power on. So don't use it if you don't have too. - Copyright (c) 2006, 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: GUIDs defined in UEFI 2.0 spec. diff --git a/MdePkg/Include/Guid/PcAnsi.h b/MdePkg/Include/Guid/PcAnsi.h index 7ff878d7f19e..312df6bd304f 100644 --- a/MdePkg/Include/Guid/PcAnsi.h +++ b/MdePkg/Include/Guid/PcAnsi.h @@ -1,14 +1,8 @@ /** @file Terminal Device Path Vendor Guid. - 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: GUIDs defined in UEFI 2.0 spec. @@ -42,7 +36,7 @@ { \ 0x37499a9d, 0x542f, 0x4c89, {0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 } \ } - + #define EFI_SAS_DEVICE_PATH_GUID \ { \ 0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \ diff --git a/MdePkg/Include/Guid/PropertiesTable.h b/MdePkg/Include/Guid/PropertiesTable.h deleted file mode 100644 index 7fa382686044..000000000000 --- a/MdePkg/Include/Guid/PropertiesTable.h +++ /dev/null @@ -1,37 +0,0 @@ -/** @file - GUIDs used for UEFI Properties Table in the UEFI 2.5 specification. - - 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. - -**/ - -#ifndef __EFI_PROPERTIES_TABLE_H__ -#define __EFI_PROPERTIES_TABLE_H__ - -#define EFI_PROPERTIES_TABLE_GUID {\ - 0x880aaca3, 0x4adc, 0x4a04, {0x90, 0x79, 0xb7, 0x47, 0x34, 0x8, 0x25, 0xe5} \ -} - -typedef struct { - UINT32 Version; - UINT32 Length; - UINT64 MemoryProtectionAttribute; -} EFI_PROPERTIES_TABLE; - -#define EFI_PROPERTIES_TABLE_VERSION 0x00010000 - -// -// Memory attribute (Not defined bit is reserved) -// -#define EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA 0x1 - -extern EFI_GUID gEfiPropertiesTableGuid; - -#endif diff --git a/MdePkg/Include/Guid/RtPropertiesTable.h b/MdePkg/Include/Guid/RtPropertiesTable.h new file mode 100644 index 000000000000..9bad51f2cf0d --- /dev/null +++ b/MdePkg/Include/Guid/RtPropertiesTable.h @@ -0,0 +1,69 @@ +/** @file +Guid & data structure for EFI_RT _PROPERTIES_TABLE, designed to be published by a +platform if it no longer supports all EFI runtime services once ExitBootServices() +has been called by the OS. Introduced in UEFI 2.8a. + + +Copyright (c) 2020, American Megatrends International LLC. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __RT_PROPERTIES_TABLE_GUID_H__ +#define __RT_PROPERTIES_TABLE_GUID_H__ + +// +// Table, defined here, should be published by a platform if it no longer supports all EFI runtime +// services once ExitBootServices() has been called by the OS. Note that this is merely a hint +// to the OS, which it is free to ignore, and so the platform is still required to provide callable +// implementations of unsupported runtime services that simply return EFI_UNSUPPORTED. +// +#define EFI_RT_PROPERTIES_TABLE_GUID \ + { 0xeb66918a, 0x7eef, 0x402a, \ + { 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }} + + + + +#pragma pack(1) + +typedef struct { + /// + /// Version of the structure, must be 0x1. + /// + UINT16 Version; + + /// + /// Size in bytes of the entire EFI_RT_PROPERTIES_TABLE, must be 8. + /// + UINT16 Length; + + /// + /// Bitmask of which calls are or are not supported, where a bit set to 1 indicates + /// that the call is supported, and 0 indicates that it is not. + /// + UINT32 RuntimeServicesSupported; +} EFI_RT_PROPERTIES_TABLE; + +#pragma pack() + +#define EFI_RT_PROPERTIES_TABLE_VERSION 0x1 + +#define EFI_RT_SUPPORTED_GET_TIME 0x0001 +#define EFI_RT_SUPPORTED_SET_TIME 0x0002 +#define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004 +#define EFI_RT_SUPPORTED_SET_WAKEUP_TIME 0x0008 +#define EFI_RT_SUPPORTED_GET_VARIABLE 0x0010 +#define EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME 0x0020 +#define EFI_RT_SUPPORTED_SET_VARIABLE 0x0040 +#define EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP 0x0080 +#define EFI_RT_SUPPORTED_CONVERT_POINTER 0x0100 +#define EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT 0x0200 +#define EFI_RT_SUPPORTED_RESET_SYSTEM 0x0400 +#define EFI_RT_SUPPORTED_UPDATE_CAPSULE 0x0800 +#define EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES 0x1000 +#define EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO 0x2000 + +extern EFI_GUID gEfiRtPropertiesTableGuid; + +#endif diff --git a/MdePkg/Include/Guid/SalSystemTable.h b/MdePkg/Include/Guid/SalSystemTable.h deleted file mode 100644 index 8994ee7bdf3f..000000000000 --- a/MdePkg/Include/Guid/SalSystemTable.h +++ /dev/null @@ -1,31 +0,0 @@ -/** @file - GUIDs used for SAL system table entries in the EFI system table. - - SAL System Table contains Itanium-based processor centric information about - the system. - - 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. - - @par Revision Reference: - GUIDs defined in UEFI 2.0 spec. - -**/ - -#ifndef __SAL_SYSTEM_TABLE_GUID_H__ -#define __SAL_SYSTEM_TABLE_GUID_H__ - -#define SAL_SYSTEM_TABLE_GUID \ - { \ - 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \ - } - -extern EFI_GUID gEfiSalSystemTableGuid; - -#endif diff --git a/MdePkg/Include/Guid/SmBios.h b/MdePkg/Include/Guid/SmBios.h index 05e11b7b63da..9040e3b5adab 100644 --- a/MdePkg/Include/Guid/SmBios.h +++ b/MdePkg/Include/Guid/SmBios.h @@ -5,14 +5,8 @@ locate the SMBIOS tables. Do not search the 0xF0000 segment to find SMBIOS tables. - 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 - 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: GUIDs defined in UEFI 2.5 spec. diff --git a/MdePkg/Include/Guid/SmramMemoryReserve.h b/MdePkg/Include/Guid/SmramMemoryReserve.h new file mode 100644 index 000000000000..955b2fb0fec5 --- /dev/null +++ b/MdePkg/Include/Guid/SmramMemoryReserve.h @@ -0,0 +1,45 @@ +/** @file + This is a special GUID extension Hob to describe SMRAM memory regions. + + This file defines: + * the GUID used to identify the GUID HOB for reserving SMRAM regions. + * the data structure of SMRAM descriptor to describe SMRAM candidate regions + * values of state of SMRAM candidate regions + * the GUID specific data structure of HOB for reserving SMRAM regions. + + Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + GUIDs defined in PI SPEC version 1.5. + +**/ + +#ifndef _SMRAM_MEMORY_RESERVE_H_ +#define _SMRAM_MEMORY_RESERVE_H_ + +#define EFI_SMM_SMRAM_MEMORY_GUID \ + { \ + 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \ + } + +/** +* The GUID extension hob is to describe SMRAM memory regions supported by the platform. +**/ +typedef struct { + /// + /// Designates the number of possible regions in the system + /// that can be usable for SMRAM. + /// + UINT32 NumberOfSmmReservedRegions; + /// + /// Used throughout this protocol to describe the candidate + /// regions for SMRAM that are supported by this platform. + /// + EFI_SMRAM_DESCRIPTOR Descriptor[1]; +} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK; + +extern EFI_GUID gEfiSmmSmramMemoryGuid; + +#endif + diff --git a/MdePkg/Include/Guid/StatusCodeDataTypeId.h b/MdePkg/Include/Guid/StatusCodeDataTypeId.h index 8bbc3315bc62..60114dffa489 100644 --- a/MdePkg/Include/Guid/StatusCodeDataTypeId.h +++ b/MdePkg/Include/Guid/StatusCodeDataTypeId.h @@ -1,17 +1,11 @@ /** @file GUID used to identify id for the caller who is initiating the Status Code. - 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 - 2019, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - These GUIDs and structures are defined in UEFI Platform Initialization Specification 1.2 + These GUIDs and structures are defined in UEFI Platform Initialization Specification 1.2 Volume 3: Shared Architectural Elements **/ @@ -38,12 +32,12 @@ typedef enum { /// EfiStringUnicode, /// - /// An EFI_STATUS_CODE_STRING_TOKEN representing the string. The actual + /// An EFI_STATUS_CODE_STRING_TOKEN representing the string. The actual /// string can be obtained by querying the HII Database /// EfiStringToken } EFI_STRING_TYPE; - + /// /// Specifies the format of the data in EFI_STATUS_CODE_STRING_DATA.String. /// @@ -60,7 +54,7 @@ typedef struct { /// EFI_STRING_ID Token; } EFI_STATUS_CODE_STRING_TOKEN; - + typedef union { /// /// ASCII formatted string. @@ -75,11 +69,11 @@ typedef union { /// EFI_STATUS_CODE_STRING_TOKEN Hii; } EFI_STATUS_CODE_STRING; - + /// -/// This data type defines a string type of extended data. A string can accompany -/// any status code. The string can provide additional information about the -/// status code. The string can be ASCII, Unicode, or a Human Interface Infrastructure +/// This data type defines a string type of extended data. A string can accompany +/// any status code. The string can provide additional information about the +/// status code. The string can be ASCII, Unicode, or a Human Interface Infrastructure /// (HII) token/GUID pair. /// typedef struct { @@ -89,14 +83,14 @@ typedef struct { /// sizeof (EFI_STATUS_CODE_STRING_DATA) - HeaderSize, and /// DataHeader.Type should be /// EFI_STATUS_CODE_DATA_TYPE_STRING_GUID. - /// - EFI_STATUS_CODE_DATA DataHeader; + /// + EFI_STATUS_CODE_DATA DataHeader; /// /// Specifies the format of the data in String. /// EFI_STRING_TYPE StringType; /// - /// A pointer to the extended data. The data follows the format specified by + /// A pointer to the extended data. The data follows the format specified by /// StringType. /// EFI_STATUS_CODE_STRING String; @@ -118,12 +112,13 @@ extern EFI_GUID gEfiStatusCodeDataTypeStringGuid; /// - EFI_STATUS_CODE_EXCEP_EXTENDED_DATA /// - EFI_STATUS_CODE_START_EXTENDED_DATA /// - EFI_LEGACY_OPROM_EXTENDED_DATA +/// - EFI_RETURN_STATUS_EXTENDED_DATA /// #define EFI_STATUS_CODE_SPECIFIC_DATA_GUID \ { 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } } /// -/// Extended data about the device path, which is used for many errors and +/// Extended data about the device path, which is used for many errors and /// progress codes to point to the device. /// /// The device path is used to point to the physical device in case there is more than one device @@ -148,7 +143,7 @@ typedef struct { /// EFI_STATUS_CODE_DATA DataHeader; /// - /// The device path to the controller or the hardware device. Note that this parameter is a + /// The device path to the controller or the hardware device. Note that this parameter is a /// variable-length device path structure and not a pointer to such a structure. This structure is /// populated only if it is a physical device. For virtual devices, the Size field in DataHeader /// is set to zero and this field is not populated. @@ -183,7 +178,7 @@ typedef struct { /// /// This structure defines extended data describing a PCI resource allocation error. /// -/// @par Note: +/// @par Note: /// The following structure contains variable-length fields and cannot be defined as a C-style /// structure. /// @@ -209,7 +204,7 @@ typedef struct { /// /// DevicePathSize should be zero if it is a virtual device that is not associated with /// a device path. Otherwise, this parameter is the length of the variable-length - /// DevicePath. + /// DevicePath. /// UINT16 DevicePathSize; /// @@ -223,9 +218,9 @@ typedef struct { /// UINT16 AllocResSize; /// - /// The device path to the controller or the hardware device that did not get the requested - /// resources. Note that this parameter is the variable-length device path structure and not - /// a pointer to this structure. + /// The device path to the controller or the hardware device that did not get the requested + /// resources. Note that this parameter is the variable-length device path structure and not + /// a pointer to this structure. /// // EFI_DEVICE_PATH_PROTOCOL DevicePath; /// @@ -234,7 +229,7 @@ typedef struct { /// // UINT8 ReqRes[]; /// - /// The allocated resources in the format of an ACPI 2.0 resource descriptor. This + /// The allocated resources in the format of an ACPI 2.0 resource descriptor. This /// parameter is not a pointer; it is the complete resource descriptor. /// // UINT8 AllocRes[]; @@ -244,7 +239,7 @@ typedef struct { /// This structure provides a calculation for base-10 representations. /// /// Not consistent with PI 1.2 Specification. -/// This data type is not defined in the PI 1.2 Specification, but is +/// This data type is not defined in the PI 1.2 Specification, but is /// required by several of the other data structures in this file. /// typedef struct { @@ -253,16 +248,16 @@ typedef struct { /// INT16 Value; /// - /// The INT16 number by which to raise the base-2 calculation. + /// The INT16 number by which to raise the base-2 calculation. /// INT16 Exponent; } EFI_EXP_BASE10_DATA; /// -/// This structure provides the voltage at the time of error. It also provides -/// the threshold value indicating the minimum or maximum voltage that is considered -/// an error. If the voltage is less then the threshold, the error indicates that the -/// voltage fell below the minimum acceptable value. If the voltage is greater then the threshold, +/// This structure provides the voltage at the time of error. It also provides +/// the threshold value indicating the minimum or maximum voltage that is considered +/// an error. If the voltage is less then the threshold, the error indicates that the +/// voltage fell below the minimum acceptable value. If the voltage is greater then the threshold, /// the error indicates that the voltage rose above the maximum acceptable value. /// typedef struct { @@ -312,7 +307,7 @@ typedef struct { /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA) - /// HeaderSize, and DataHeader.Type should be - /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// @@ -341,11 +336,11 @@ typedef struct { /// /// This structure defines extended data for processor mismatch errors. /// -/// This provides information to indicate which processors mismatch, and how they mismatch. The -/// status code contains the instance number of the processor that is in error. This structure's -/// Instance indicates the second processor that does not match. This differentiation allows the -/// consumer to determine which two processors do not match. The Attributes indicate what -/// mismatch is being reported. Because Attributes is a bit field, more than one mismatch can be +/// This provides information to indicate which processors mismatch, and how they mismatch. The +/// status code contains the instance number of the processor that is in error. This structure's +/// Instance indicates the second processor that does not match. This differentiation allows the +/// consumer to determine which two processors do not match. The Attributes indicate what +/// mismatch is being reported. Because Attributes is a bit field, more than one mismatch can be /// reported with one error code. /// typedef struct { @@ -354,23 +349,23 @@ typedef struct { /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_ HOST_PROCESSOR_MISMATCH_ERROR_DATA) - /// HeaderSize , and DataHeader.Type should be - /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// /// The unit number of the computing unit that does not match. - /// + /// UINT32 Instance; - /// - /// The attributes describing the failure. - /// + /// + /// The attributes describing the failure. + /// UINT16 Attributes; } EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA; /// /// This structure provides details about the computing unit thermal failure. /// -/// This structure provides the temperature at the time of error. It also provides the threshold value +/// This structure provides the temperature at the time of error. It also provides the threshold value /// indicating the minimum temperature that is considered an error. /// typedef struct { @@ -379,7 +374,7 @@ typedef struct { /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA) - /// HeaderSize , and DataHeader.Type should be - /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// @@ -429,7 +424,7 @@ typedef struct { typedef UINT32 EFI_CPU_STATE_CHANGE_CAUSE; /// -/// The reasons that the processor is disabled. +/// The reasons that the processor is disabled. /// Used to fill in EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA.Cause. /// ///@{ @@ -447,8 +442,8 @@ typedef UINT32 EFI_CPU_STATE_CHANGE_CAUSE; /// /// This structure provides information about the disabled computing unit. /// -/// This structure provides details as to why and how the computing unit was disabled. The causes -/// should cover the typical reasons a processor would be disabled. How the processor was disabled is +/// This structure provides details as to why and how the computing unit was disabled. The causes +/// should cover the typical reasons a processor would be disabled. How the processor was disabled is /// important because there are distinct differences between hardware and software disabling. /// typedef struct { @@ -461,12 +456,12 @@ typedef struct { /// EFI_STATUS_CODE_DATA DataHeader; /// - /// The reason for disabling the processor. - /// + /// The reason for disabling the processor. + /// UINT32 Cause; /// - /// TRUE if the processor is disabled via software means such as not listing it in the ACPI tables. - /// Such a processor will respond to Interprocessor Interrupts (IPIs). FALSE if the processor is hardware + /// TRUE if the processor is disabled via software means such as not listing it in the ACPI tables. + /// Such a processor will respond to Interprocessor Interrupts (IPIs). FALSE if the processor is hardware /// disabled, which means it is invisible to software and will not respond to IPIs. /// BOOLEAN SoftwareDisabled; @@ -504,8 +499,8 @@ typedef UINT8 EFI_MEMORY_ERROR_OPERATION; ///@} /// -/// This structure provides specific details about the memory error that was detected. It provides -/// enough information so that consumers can identify the exact failure and provides enough +/// This structure provides specific details about the memory error that was detected. It provides +/// enough information so that consumers can identify the exact failure and provides enough /// information to enable corrective action if necessary. /// typedef struct { @@ -513,7 +508,7 @@ typedef struct { /// The data header identifying the data. DataHeader.HeaderSize should be /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_MEMORY_EXTENDED_ERROR_DATA) - HeaderSize, and - /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// @@ -521,18 +516,18 @@ typedef struct { /// EFI_MEMORY_ERROR_GRANULARITY Granularity; /// - /// The operation that resulted in the error being detected. + /// The operation that resulted in the error being detected. /// EFI_MEMORY_ERROR_OPERATION Operation; /// - /// The error syndrome, vendor-specific ECC syndrome, or CRC data associated with + /// The error syndrome, vendor-specific ECC syndrome, or CRC data associated with /// the error. If unknown, should be initialized to 0. - /// Inconsistent with specification here: + /// Inconsistent with specification here: /// This field in StatusCodes spec0.9 is defined as UINT32, keep code unchanged. /// UINTN Syndrome; /// - /// The physical address of the error. + /// The physical address of the error. /// EFI_PHYSICAL_ADDRESS Address; /// @@ -543,31 +538,31 @@ typedef struct { /// /// A definition to describe that the operation is performed on multiple devices within the array. -/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. +/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. /// #define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe /// /// A definition to describe that the operation is performed on all devices within the array. -/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. +/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. /// #define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff /// /// A definition to describe that the operation is performed on multiple arrays. -/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. +/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. /// #define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe /// /// A definition to describe that the operation is performed on all the arrays. -/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. +/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device. /// #define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff /// -/// This extended data provides some context that consumers can use to locate a DIMM within the -/// overall memory scheme. +/// This extended data provides some context that consumers can use to locate a DIMM within the +/// overall memory scheme. /// /// This extended data provides some context that consumers can use to locate a DIMM within the /// overall memory scheme. The Array and Device numbers may indicate a specific DIMM, or they @@ -595,7 +590,7 @@ typedef struct { /// This structure defines extended data describing memory modules that do not match. /// /// This extended data may be used to convey the specifics of memory modules that do not match. -/// +/// typedef struct { /// /// The data header identifying the data. DataHeader.HeaderSize should be @@ -606,7 +601,7 @@ typedef struct { /// EFI_STATUS_CODE_DATA DataHeader; /// - /// The instance number of the memory module that does not match. + /// The instance number of the memory module that does not match. /// EFI_STATUS_CODE_DIMM_NUMBER Instance; } EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA; @@ -614,7 +609,7 @@ typedef struct { /// /// This structure defines extended data describing a memory range. /// -/// This extended data may be used to convey the specifics of a memory range. Ranges are specified +/// This extended data may be used to convey the specifics of a memory range. Ranges are specified /// with a start address and a length. /// typedef struct { @@ -622,11 +617,11 @@ typedef struct { /// The data header identifying the data. DataHeader.HeaderSize should be /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_MEMORY_RANGE_EXTENDED_DATA) - HeaderSize, and - /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// - /// The starting address of the memory range. + /// The starting address of the memory range. /// EFI_PHYSICAL_ADDRESS Start; /// @@ -647,7 +642,7 @@ typedef struct { /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_DEBUG_ASSERT_DATA) - HeaderSize , and /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. - /// + /// EFI_STATUS_CODE_DATA DataHeader; /// /// The line number of the source file where the fault was generated. @@ -658,7 +653,7 @@ typedef struct { /// UINT32 FileNameSize; /// - /// A pointer to a NULL-terminated ASCII or Unicode string that represents + /// A pointer to a NULL-terminated ASCII or Unicode string that represents /// the file name of the source file where the fault was generated. /// EFI_STATUS_CODE_STRING_DATA *FileName; @@ -691,7 +686,7 @@ typedef union { /// EFI_SYSTEM_CONTEXT_X64 is defined in the /// EFI_DEBUG_SUPPORT_PROTOCOL in the UEFI Specification. /// - EFI_SYSTEM_CONTEXT_X64 SystemContextX64; + EFI_SYSTEM_CONTEXT_X64 SystemContextX64; /// /// The context of the ARM processor when the exception was generated. Type /// EFI_SYSTEM_CONTEXT_ARM is defined in the @@ -713,11 +708,11 @@ typedef struct { /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_STATUS_CODE_EXCEP_EXTENDED_DATA) - HeaderSize, /// and DataHeader.Type should be - /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// - /// The system context. + /// The system context. /// EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context; } EFI_STATUS_CODE_EXCEP_EXTENDED_DATA; @@ -729,33 +724,33 @@ typedef struct { /// the UEFI Driver Binding Protocol. /// typedef struct { - /// + /// /// The data header identifying the data. DataHeader.HeaderSize should be /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_STATUS_CODE_START_EXTENDED_DATA) - HeaderSize, /// and DataHeader.Type should be - /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// - /// The controller handle. + /// The controller handle. /// EFI_HANDLE ControllerHandle; /// /// The driver binding handle. /// EFI_HANDLE DriverBindingHandle; - /// - /// The size of the RemainingDevicePath. It is zero if the Start() function is + /// + /// The size of the RemainingDevicePath. It is zero if the Start() function is /// called with RemainingDevicePath = NULL. The UEFI Specification allows /// that the Start() function of bus drivers can be called in this way. /// UINT16 DevicePathSize; /// - /// Matches the RemainingDevicePath parameter being passed to the Start() function. - /// Note that this parameter is the variable-length device path and not a pointer + /// Matches the RemainingDevicePath parameter being passed to the Start() function. + /// Note that this parameter is the variable-length device path and not a pointer /// to the device path. - /// + /// // EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath; } EFI_STATUS_CODE_START_EXTENDED_DATA; @@ -771,7 +766,7 @@ typedef struct { /// The data header identifying the data. DataHeader.HeaderSize should be /// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be /// sizeof (EFI_LEGACY_OPROM_EXTENDED_DATA) - HeaderSize, and - /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. /// EFI_STATUS_CODE_DATA DataHeader; /// @@ -779,11 +774,30 @@ typedef struct { /// EFI_HANDLE DeviceHandle; /// - /// The base address of the shadowed legacy ROM image. May or may not point to the shadow RAM area. + /// The base address of the shadowed legacy ROM image. May or may not point to the shadow RAM area. /// EFI_PHYSICAL_ADDRESS RomImageBase; } EFI_LEGACY_OPROM_EXTENDED_DATA; +/// +/// This structure defines extended data describing an EFI_STATUS return value that stands for a +/// failed function call (such as a UEFI boot service). +/// +typedef struct { + /// + /// The data header identifying the data: + /// DataHeader.HeaderSize should be sizeof(EFI_STATUS_CODE_DATA), + /// DataHeader.Size should be sizeof(EFI_RETURN_STATUS_EXTENDED_DATA) - HeaderSize, + /// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID. + /// + EFI_STATUS_CODE_DATA DataHeader; + /// + /// The EFI_STATUS return value of the service or function whose failure triggered the + /// reporting of the status code (generally an error code or a debug code). + /// + EFI_STATUS ReturnStatus; +} EFI_RETURN_STATUS_EXTENDED_DATA; + extern EFI_GUID gEfiStatusCodeSpecificDataGuid; #endif diff --git a/MdePkg/Include/Guid/SystemResourceTable.h b/MdePkg/Include/Guid/SystemResourceTable.h index dc7e16bd241f..4b6ecc2b06b7 100644 --- a/MdePkg/Include/Guid/SystemResourceTable.h +++ b/MdePkg/Include/Guid/SystemResourceTable.h @@ -1,14 +1,8 @@ /** @file Guid & data structure used for EFI System Resource Table (ESRT) - 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 - 2020, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: GUIDs defined in UEFI 2.5 spec. @@ -40,14 +34,15 @@ /// /// Last Attempt Status Values /// -#define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000 -#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001 -#define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002 -#define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003 -#define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004 -#define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005 -#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006 -#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007 +#define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000 +#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001 +#define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002 +#define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003 +#define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004 +#define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005 +#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006 +#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007 +#define LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES 0x00000008 typedef struct { /// diff --git a/MdePkg/Include/Guid/VectorHandoffTable.h b/MdePkg/Include/Guid/VectorHandoffTable.h index 256b34550f4b..874f9f62c7ba 100644 --- a/MdePkg/Include/Guid/VectorHandoffTable.h +++ b/MdePkg/Include/Guid/VectorHandoffTable.h @@ -1,15 +1,9 @@ /** @file GUID for system configuration table entry that points to the table - in case an entity in DXE wishes to update/change the vector table contents. + in case an entity in DXE wishes to update/change the vector table contents. - 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: GUID defined in PI 1.2.1 spec. diff --git a/MdePkg/Include/Guid/WinCertificate.h b/MdePkg/Include/Guid/WinCertificate.h index 6dea446ba060..c44bb388cccc 100644 --- a/MdePkg/Include/Guid/WinCertificate.h +++ b/MdePkg/Include/Guid/WinCertificate.h @@ -2,13 +2,7 @@ GUID for UEFI WIN_CERTIFICATE structure. Copyright (c) 2006 - 2012, 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: GUID defined in UEFI 2.0 spec. |