├── Include
├── AArch64
│ └── ProcessorBind.h
├── Arm
│ └── ProcessorBind.h
├── Base.h
├── Ebc
│ └── ProcessorBind.h
├── Guid
│ ├── Acpi.h
│ ├── Apriori.h
│ ├── AprioriFileName.h
│ ├── Btt.h
│ ├── CapsuleReport.h
│ ├── Cper.h
│ ├── DebugImageInfoTable.h
│ ├── DxeServices.h
│ ├── EventGroup.h
│ ├── EventLegacyBios.h
│ ├── FileInfo.h
│ ├── FileSystemInfo.h
│ ├── FileSystemVolumeLabelInfo.h
│ ├── FirmwareContentsSigned.h
│ ├── FirmwareFileSystem2.h
│ ├── FirmwareFileSystem3.h
│ ├── FmpCapsule.h
│ ├── GlobalVariable.h
│ ├── Gpt.h
│ ├── GraphicsInfoHob.h
│ ├── HardwareErrorVariable.h
│ ├── HiiFormMapMethodGuid.h
│ ├── HiiKeyBoardLayout.h
│ ├── HiiPlatformSetupFormset.h
│ ├── HobList.h
│ ├── ImageAuthentication.h
│ ├── MdePkgTokenSpace.h
│ ├── MemoryAllocationHob.h
│ ├── MemoryAttributesTable.h
│ ├── MemoryOverwriteControl.h
│ ├── Mps.h
│ ├── PcAnsi.h
│ ├── PropertiesTable.h
│ ├── SalSystemTable.h
│ ├── SmBios.h
│ ├── StatusCodeDataTypeId.h
│ ├── SystemResourceTable.h
│ ├── VectorHandoffTable.h
│ └── WinCertificate.h
├── Ia32
│ └── ProcessorBind.h
├── IndustryStandard
│ ├── Acpi.h
│ ├── Acpi10.h
│ ├── Acpi20.h
│ ├── Acpi30.h
│ ├── Acpi40.h
│ ├── Acpi50.h
│ ├── Acpi51.h
│ ├── Acpi60.h
│ ├── Acpi61.h
│ ├── Acpi62.h
│ ├── AcpiAml.h
│ ├── AlertStandardFormatTable.h
│ ├── Atapi.h
│ ├── Bluetooth.h
│ ├── Bmp.h
│ ├── DebugPort2Table.h
│ ├── DebugPortTable.h
│ ├── Dhcp.h
│ ├── DmaRemappingReportingTable.h
│ ├── ElTorito.h
│ ├── Emmc.h
│ ├── HighPrecisionEventTimerTable.h
│ ├── Hsti.h
│ ├── Http11.h
│ ├── IScsiBootFirmwareTable.h
│ ├── IoRemappingTable.h
│ ├── Ipmi.h
│ ├── IpmiFruInformationStorage.h
│ ├── IpmiNetFnApp.h
│ ├── IpmiNetFnBridge.h
│ ├── IpmiNetFnChassis.h
│ ├── IpmiNetFnFirmware.h
│ ├── IpmiNetFnGroupExtension.h
│ ├── IpmiNetFnSensorEvent.h
│ ├── IpmiNetFnStorage.h
│ ├── IpmiNetFnTransport.h
│ ├── LegacyBiosMpTable.h
│ ├── LowPowerIdleTable.h
│ ├── Mbr.h
│ ├── MemoryMappedConfigurationSpaceAccessTable.h
│ ├── MemoryOverwriteRequestControlLock.h
│ ├── Nvme.h
│ ├── Pal.h
│ ├── Pci.h
│ ├── Pci22.h
│ ├── Pci23.h
│ ├── Pci30.h
│ ├── PciCodeId.h
│ ├── PciExpress21.h
│ ├── PciExpress30.h
│ ├── PciExpress31.h
│ ├── PciExpress40.h
│ ├── PeImage.h
│ ├── Sal.h
│ ├── Scsi.h
│ ├── Sd.h
│ ├── SdramSpd.h
│ ├── SdramSpdDdr3.h
│ ├── SdramSpdDdr4.h
│ ├── SdramSpdLpDdr.h
│ ├── SerialPortConsoleRedirectionTable.h
│ ├── ServiceProcessorManagementInterfaceTable.h
│ ├── SmBios.h
│ ├── SmBus.h
│ ├── TcgPhysicalPresence.h
│ ├── TcgStorageCore.h
│ ├── TcgStorageOpal.h
│ ├── TcpaAcpi.h
│ ├── Tls1.h
│ ├── Tpm12.h
│ ├── Tpm20.h
│ ├── Tpm2Acpi.h
│ ├── TpmPtp.h
│ ├── TpmTis.h
│ ├── Udf.h
│ ├── UefiTcgPlatform.h
│ ├── Usb.h
│ ├── WatchdogActionTable.h
│ ├── WatchdogResourceTable.h
│ ├── WindowsSmmSecurityMitigationTable.h
│ └── WindowsUxCapsule.h
├── Library
│ ├── BaseLib.h
│ ├── BaseMemoryLib.h
│ ├── CacheMaintenanceLib.h
│ ├── CpuLib.h
│ ├── DebugLib.h
│ ├── DebugPrintErrorLevelLib.h
│ ├── DevicePathLib.h
│ ├── DxeCoreEntryPoint.h
│ ├── DxeServicesLib.h
│ ├── DxeServicesTableLib.h
│ ├── ExtendedSalLib.h
│ ├── ExtractGuidedSectionLib.h
│ ├── FileHandleLib.h
│ ├── HobLib.h
│ ├── HstiLib.h
│ ├── IoLib.h
│ ├── MemoryAllocationLib.h
│ ├── OrderedCollectionLib.h
│ ├── PalLib.h
│ ├── PcdLib.h
│ ├── PciCf8Lib.h
│ ├── PciExpressLib.h
│ ├── PciLib.h
│ ├── PciSegmentInfoLib.h
│ ├── PciSegmentLib.h
│ ├── PeCoffExtraActionLib.h
│ ├── PeCoffGetEntryPointLib.h
│ ├── PeCoffLib.h
│ ├── PeiCoreEntryPoint.h
│ ├── PeiServicesLib.h
│ ├── PeiServicesTablePointerLib.h
│ ├── PeimEntryPoint.h
│ ├── PerformanceLib.h
│ ├── PostCodeLib.h
│ ├── PrintLib.h
│ ├── ReportStatusCodeLib.h
│ ├── ResourcePublicationLib.h
│ ├── RngLib.h
│ ├── S3BootScriptLib.h
│ ├── S3IoLib.h
│ ├── S3PciLib.h
│ ├── S3PciSegmentLib.h
│ ├── S3SmbusLib.h
│ ├── S3StallLib.h
│ ├── SafeIntLib.h
│ ├── SalLib.h
│ ├── SerialPortLib.h
│ ├── SmbusLib.h
│ ├── SmiHandlerProfileLib.h
│ ├── SmmIoLib.h
│ ├── SmmLib.h
│ ├── SmmMemLib.h
│ ├── SmmPeriodicSmiLib.h
│ ├── SmmServicesTableLib.h
│ ├── SynchronizationLib.h
│ ├── TimerLib.h
│ ├── UefiApplicationEntryPoint.h
│ ├── UefiBootServicesTableLib.h
│ ├── UefiDecompressLib.h
│ ├── UefiDriverEntryPoint.h
│ ├── UefiLib.h
│ ├── UefiRuntimeLib.h
│ ├── UefiRuntimeServicesTableLib.h
│ ├── UefiScsiLib.h
│ └── UefiUsbLib.h
├── Pi
│ ├── PiBootMode.h
│ ├── PiDependency.h
│ ├── PiDxeCis.h
│ ├── PiFirmwareFile.h
│ ├── PiFirmwareVolume.h
│ ├── PiHob.h
│ ├── PiI2c.h
│ ├── PiMmCis.h
│ ├── PiMultiPhase.h
│ ├── PiPeiCis.h
│ ├── PiS3BootScript.h
│ ├── PiSmmCis.h
│ └── PiStatusCode.h
├── PiDxe.h
├── PiMm.h
├── PiPei.h
├── PiSmm.h
├── Ppi
│ ├── BlockIo.h
│ ├── BlockIo2.h
│ ├── BootInRecoveryMode.h
│ ├── Capsule.h
│ ├── CpuIo.h
│ ├── Decompress.h
│ ├── DeviceRecoveryModule.h
│ ├── DxeIpl.h
│ ├── EndOfPeiPhase.h
│ ├── FirmwareVolume.h
│ ├── FirmwareVolumeInfo.h
│ ├── FirmwareVolumeInfo2.h
│ ├── Graphics.h
│ ├── GuidedSectionExtraction.h
│ ├── I2cMaster.h
│ ├── IsaHc.h
│ ├── LoadFile.h
│ ├── LoadImage.h
│ ├── MasterBootMode.h
│ ├── MemoryDiscovered.h
│ ├── MpServices.h
│ ├── Pcd.h
│ ├── PcdInfo.h
│ ├── PciCfg2.h
│ ├── PiPcd.h
│ ├── PiPcdInfo.h
│ ├── ReadOnlyVariable2.h
│ ├── RecoveryModule.h
│ ├── ReportStatusCodeHandler.h
│ ├── Reset.h
│ ├── Reset2.h
│ ├── S3Resume2.h
│ ├── SecHobData.h
│ ├── SecPlatformInformation.h
│ ├── SecPlatformInformation2.h
│ ├── Security2.h
│ ├── Smbus2.h
│ ├── Stall.h
│ ├── StatusCode.h
│ ├── SuperIo.h
│ ├── TemporaryRamDone.h
│ ├── TemporaryRamSupport.h
│ └── VectorHandoffInfo.h
├── Protocol
│ ├── AbsolutePointer.h
│ ├── AcpiSystemDescriptionTable.h
│ ├── AcpiTable.h
│ ├── AdapterInformation.h
│ ├── Arp.h
│ ├── AtaPassThru.h
│ ├── AuthenticationInfo.h
│ ├── Bds.h
│ ├── Bis.h
│ ├── BlockIo.h
│ ├── BlockIo2.h
│ ├── BlockIoCrypto.h
│ ├── BluetoothAttribute.h
│ ├── BluetoothConfig.h
│ ├── BluetoothHc.h
│ ├── BluetoothIo.h
│ ├── BluetoothLeConfig.h
│ ├── BootManagerPolicy.h
│ ├── BusSpecificDriverOverride.h
│ ├── Capsule.h
│ ├── ComponentName.h
│ ├── ComponentName2.h
│ ├── Cpu.h
│ ├── CpuIo2.h
│ ├── DebugPort.h
│ ├── DebugSupport.h
│ ├── Decompress.h
│ ├── DeferredImageLoad.h
│ ├── DeviceIo.h
│ ├── DevicePath.h
│ ├── DevicePathFromText.h
│ ├── DevicePathToText.h
│ ├── DevicePathUtilities.h
│ ├── Dhcp4.h
│ ├── Dhcp6.h
│ ├── DiskInfo.h
│ ├── DiskIo.h
│ ├── DiskIo2.h
│ ├── Dns4.h
│ ├── Dns6.h
│ ├── DriverBinding.h
│ ├── DriverConfiguration.h
│ ├── DriverConfiguration2.h
│ ├── DriverDiagnostics.h
│ ├── DriverDiagnostics2.h
│ ├── DriverFamilyOverride.h
│ ├── DriverHealth.h
│ ├── DriverSupportedEfiVersion.h
│ ├── DxeMmReadyToLock.h
│ ├── DxeSmmReadyToLock.h
│ ├── Eap.h
│ ├── EapConfiguration.h
│ ├── EapManagement.h
│ ├── EapManagement2.h
│ ├── Ebc.h
│ ├── EdidActive.h
│ ├── EdidDiscovered.h
│ ├── EdidOverride.h
│ ├── EraseBlock.h
│ ├── ExtendedSalBootService.h
│ ├── ExtendedSalServiceClasses.h
│ ├── FirmwareManagement.h
│ ├── FirmwareVolume2.h
│ ├── FirmwareVolumeBlock.h
│ ├── FormBrowser2.h
│ ├── Ftp4.h
│ ├── GraphicsOutput.h
│ ├── GuidedSectionExtraction.h
│ ├── Hash.h
│ ├── Hash2.h
│ ├── HiiConfigAccess.h
│ ├── HiiConfigKeyword.h
│ ├── HiiConfigRouting.h
│ ├── HiiDatabase.h
│ ├── HiiFont.h
│ ├── HiiImage.h
│ ├── HiiImageDecoder.h
│ ├── HiiImageEx.h
│ ├── HiiPackageList.h
│ ├── HiiPopup.h
│ ├── HiiString.h
│ ├── Http.h
│ ├── HttpBootCallback.h
│ ├── HttpUtilities.h
│ ├── I2cBusConfigurationManagement.h
│ ├── I2cEnumerate.h
│ ├── I2cHost.h
│ ├── I2cIo.h
│ ├── I2cMaster.h
│ ├── IScsiInitiatorName.h
│ ├── IdeControllerInit.h
│ ├── IncompatiblePciDeviceSupport.h
│ ├── Ip4.h
│ ├── Ip4Config.h
│ ├── Ip4Config2.h
│ ├── Ip6.h
│ ├── Ip6Config.h
│ ├── IpSec.h
│ ├── IpSecConfig.h
│ ├── IsaHc.h
│ ├── Kms.h
│ ├── LegacyRegion2.h
│ ├── LegacySpiController.h
│ ├── LegacySpiFlash.h
│ ├── LegacySpiSmmController.h
│ ├── LegacySpiSmmFlash.h
│ ├── LoadFile.h
│ ├── LoadFile2.h
│ ├── LoadedImage.h
│ ├── ManagedNetwork.h
│ ├── McaInitPmi.h
│ ├── Metronome.h
│ ├── MmAccess.h
│ ├── MmBase.h
│ ├── MmCommunication.h
│ ├── MmConfiguration.h
│ ├── MmControl.h
│ ├── MmCpu.h
│ ├── MmCpuIo.h
│ ├── MmEndOfDxe.h
│ ├── MmGpiDispatch.h
│ ├── MmIoTrapDispatch.h
│ ├── MmPciRootBridgeIo.h
│ ├── MmPeriodicTimerDispatch.h
│ ├── MmPowerButtonDispatch.h
│ ├── MmReadyToLock.h
│ ├── MmReportStatusCodeHandler.h
│ ├── MmStandbyButtonDispatch.h
│ ├── MmStatusCode.h
│ ├── MmSwDispatch.h
│ ├── MmSxDispatch.h
│ ├── MmUsbDispatch.h
│ ├── MonotonicCounter.h
│ ├── MpService.h
│ ├── Mtftp4.h
│ ├── Mtftp6.h
│ ├── NetworkInterfaceIdentifier.h
│ ├── NvdimmLabel.h
│ ├── NvmExpressPassthru.h
│ ├── PartitionInfo.h
│ ├── Pcd.h
│ ├── PcdInfo.h
│ ├── PciEnumerationComplete.h
│ ├── PciHostBridgeResourceAllocation.h
│ ├── PciHotPlugInit.h
│ ├── PciHotPlugRequest.h
│ ├── PciIo.h
│ ├── PciOverride.h
│ ├── PciPlatform.h
│ ├── PciRootBridgeIo.h
│ ├── PiPcd.h
│ ├── PiPcdInfo.h
│ ├── Pkcs7Verify.h
│ ├── PlatformDriverOverride.h
│ ├── PlatformToDriverConfiguration.h
│ ├── PxeBaseCode.h
│ ├── PxeBaseCodeCallBack.h
│ ├── RamDisk.h
│ ├── RealTimeClock.h
│ ├── RegularExpressionProtocol.h
│ ├── ReportStatusCodeHandler.h
│ ├── Reset.h
│ ├── ResetNotification.h
│ ├── Rest.h
│ ├── Rng.h
│ ├── Runtime.h
│ ├── S3SaveState.h
│ ├── S3SmmSaveState.h
│ ├── ScsiIo.h
│ ├── ScsiPassThru.h
│ ├── ScsiPassThruExt.h
│ ├── SdMmcPassThru.h
│ ├── Security.h
│ ├── Security2.h
│ ├── SecurityPolicy.h
│ ├── SerialIo.h
│ ├── ServiceBinding.h
│ ├── Shell.h
│ ├── ShellDynamicCommand.h
│ ├── ShellParameters.h
│ ├── SimpleFileSystem.h
│ ├── SimpleNetwork.h
│ ├── SimplePointer.h
│ ├── SimpleTextIn.h
│ ├── SimpleTextInEx.h
│ ├── SimpleTextOut.h
│ ├── SmartCardEdge.h
│ ├── SmartCardReader.h
│ ├── Smbios.h
│ ├── SmbusHc.h
│ ├── SmmAccess2.h
│ ├── SmmBase2.h
│ ├── SmmCommunication.h
│ ├── SmmConfiguration.h
│ ├── SmmControl2.h
│ ├── SmmCpu.h
│ ├── SmmCpuIo2.h
│ ├── SmmEndOfDxe.h
│ ├── SmmGpiDispatch2.h
│ ├── SmmIoTrapDispatch2.h
│ ├── SmmPciRootBridgeIo.h
│ ├── SmmPeriodicTimerDispatch2.h
│ ├── SmmPowerButtonDispatch2.h
│ ├── SmmReadyToLock.h
│ ├── SmmReportStatusCodeHandler.h
│ ├── SmmStandbyButtonDispatch2.h
│ ├── SmmStatusCode.h
│ ├── SmmSwDispatch2.h
│ ├── SmmSxDispatch2.h
│ ├── SmmUsbDispatch2.h
│ ├── SpiConfiguration.h
│ ├── SpiHc.h
│ ├── SpiIo.h
│ ├── SpiNorFlash.h
│ ├── SpiSmmConfiguration.h
│ ├── SpiSmmHc.h
│ ├── SpiSmmNorFlash.h
│ ├── StatusCode.h
│ ├── StorageSecurityCommand.h
│ ├── SuperIo.h
│ ├── SuperIoControl.h
│ ├── Supplicant.h
│ ├── TapeIo.h
│ ├── Tcg2Protocol.h
│ ├── TcgService.h
│ ├── Tcp4.h
│ ├── Tcp6.h
│ ├── Timer.h
│ ├── Timestamp.h
│ ├── Tls.h
│ ├── TlsConfig.h
│ ├── TrEEProtocol.h
│ ├── Udp4.h
│ ├── Udp6.h
│ ├── UfsDeviceConfig.h
│ ├── UgaDraw.h
│ ├── UgaIo.h
│ ├── UnicodeCollation.h
│ ├── Usb2HostController.h
│ ├── UsbFunctionIo.h
│ ├── UsbHostController.h
│ ├── UsbIo.h
│ ├── UserCredential.h
│ ├── UserCredential2.h
│ ├── UserManager.h
│ ├── Variable.h
│ ├── VariableWrite.h
│ ├── VlanConfig.h
│ ├── WatchdogTimer.h
│ ├── WiFi.h
│ └── WiFi2.h
├── Uefi.h
├── Uefi
│ ├── UefiAcpiDataTable.h
│ ├── UefiBaseType.h
│ ├── UefiGpt.h
│ ├── UefiInternalFormRepresentation.h
│ ├── UefiMultiPhase.h
│ ├── UefiPxe.h
│ └── UefiSpec.h
└── X64
│ └── ProcessorBind.h
├── License.txt
└── README.md
/Include/Guid/Acpi.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used for ACPI entries in the EFI system table
3 |
4 | These GUIDs point the ACPI tables as defined in the ACPI specifications.
5 | ACPI 2.0 specification defines the ACPI 2.0 GUID. UEFI 2.0 defines the
6 | ACPI 2.0 Table GUID and ACPI Table GUID.
7 |
8 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
9 | This program and the accompanying materials
10 | are licensed and made available under the terms and conditions of the BSD License
11 | which accompanies this distribution. The full text of the license may be found at
12 | http://opensource.org/licenses/bsd-license.php
13 |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 |
17 | @par Revision Reference:
18 | GUIDs defined in UEFI 2.0 spec.
19 |
20 | **/
21 |
22 | #ifndef __ACPI_GUID_H__
23 | #define __ACPI_GUID_H__
24 |
25 | #define ACPI_TABLE_GUID \
26 | { \
27 | 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
28 | }
29 |
30 | #define EFI_ACPI_TABLE_GUID \
31 | { \
32 | 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
33 | }
34 |
35 | #define ACPI_10_TABLE_GUID ACPI_TABLE_GUID
36 |
37 | //
38 | // ACPI 2.0 or newer tables should use EFI_ACPI_TABLE_GUID.
39 | //
40 | #define EFI_ACPI_20_TABLE_GUID EFI_ACPI_TABLE_GUID
41 |
42 | extern EFI_GUID gEfiAcpiTableGuid;
43 | extern EFI_GUID gEfiAcpi10TableGuid;
44 | extern EFI_GUID gEfiAcpi20TableGuid;
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/Include/Guid/Apriori.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID used as an FV filename for A Priori file. The A Priori file contains a
3 | list of FV filenames that the DXE dispatcher will schedule reguardless of
4 | the dependency grammar.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | GUID introduced in PI Version 1.0.
17 |
18 | **/
19 |
20 | #ifndef __APRIORI_GUID_H__
21 | #define __APRIORI_GUID_H__
22 |
23 | #define EFI_APRIORI_GUID \
24 | { \
25 | 0xfc510ee7, 0xffdc, 0x11d4, {0xbd, 0x41, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
26 | }
27 |
28 | extern EFI_GUID gAprioriGuid;
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Include/Guid/AprioriFileName.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | The GUID PEI_APRIORI_FILE_NAME_GUID definition is the file
3 | name of the PEI a priori file that is stored in a firmware
4 | volume.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | GUID introduced in PI Version 1.0.
17 |
18 | **/
19 |
20 | #ifndef __PEI_APRIORI_FILE_NAME_H__
21 | #define __PEI_APRIORI_FILE_NAME_H__
22 |
23 | #define PEI_APRIORI_FILE_NAME_GUID \
24 | { 0x1b45cc0a, 0x156a, 0x428a, { 0x62, 0XAF, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 } }
25 |
26 |
27 | ///
28 | /// This file must be of type EFI_FV_FILETYPE_FREEFORM and must
29 | /// contain a single section of type EFI_SECTION_RAW. For details on
30 | /// firmware volumes, firmware file types, and firmware file section
31 | /// types.
32 | ///
33 | typedef struct {
34 | ///
35 | /// An array of zero or more EFI_GUID type entries that match the file names of PEIM
36 | /// modules in the same Firmware Volume. The maximum number of entries.
37 | ///
38 | EFI_GUID FileNamesWithinVolume[1];
39 | } PEI_APRIORI_FILE_CONTENTS;
40 |
41 | extern EFI_GUID gPeiAprioriFileNameGuid;
42 |
43 | #endif
44 |
45 |
--------------------------------------------------------------------------------
/Include/Guid/DxeServices.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID used to identify the DXE Services Table
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUID introduced in PI Version 1.0.
15 |
16 | **/
17 |
18 | #ifndef __DXE_SERVICES_GUID_H__
19 | #define __DXE_SERVICES_GUID_H__
20 |
21 | #define DXE_SERVICES_TABLE_GUID \
22 | { \
23 | 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9 } \
24 | }
25 |
26 | extern EFI_GUID gEfiDxeServicesTableGuid;
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/Include/Guid/EventGroup.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs for gBS->CreateEventEx Event Groups. Defined in UEFI spec 2.0 and PI 1.2.1.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials are licensed and made available under
6 | the terms and conditions of the BSD License that accompanies this distribution.
7 | 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 | **/
14 |
15 | #ifndef __EVENT_GROUP_GUID__
16 | #define __EVENT_GROUP_GUID__
17 |
18 |
19 | #define EFI_EVENT_GROUP_EXIT_BOOT_SERVICES \
20 | { 0x27abf055, 0xb1b8, 0x4c26, { 0x80, 0x48, 0x74, 0x8f, 0x37, 0xba, 0xa2, 0xdf } }
21 |
22 | extern EFI_GUID gEfiEventExitBootServicesGuid;
23 |
24 |
25 | #define EFI_EVENT_GROUP_VIRTUAL_ADDRESS_CHANGE \
26 | { 0x13fa7698, 0xc831, 0x49c7, { 0x87, 0xea, 0x8f, 0x43, 0xfc, 0xc2, 0x51, 0x96 } }
27 |
28 | extern EFI_GUID gEfiEventVirtualAddressChangeGuid;
29 |
30 |
31 | #define EFI_EVENT_GROUP_MEMORY_MAP_CHANGE \
32 | { 0x78bee926, 0x692f, 0x48fd, { 0x9e, 0xdb, 0x1, 0x42, 0x2e, 0xf0, 0xd7, 0xab } }
33 |
34 | extern EFI_GUID gEfiEventMemoryMapChangeGuid;
35 |
36 |
37 | #define EFI_EVENT_GROUP_READY_TO_BOOT \
38 | { 0x7ce88fb3, 0x4bd7, 0x4679, { 0x87, 0xa8, 0xa8, 0xd8, 0xde, 0xe5, 0x0d, 0x2b } }
39 |
40 | extern EFI_GUID gEfiEventReadyToBootGuid;
41 |
42 | #define EFI_EVENT_GROUP_DXE_DISPATCH_GUID \
43 | { 0x7081e22f, 0xcac6, 0x4053, { 0x94, 0x68, 0x67, 0x57, 0x82, 0xcf, 0x88, 0xe5 }}
44 |
45 | extern EFI_GUID gEfiEventDxeDispatchGuid;
46 |
47 | #define EFI_END_OF_DXE_EVENT_GROUP_GUID \
48 | { 0x2ce967a, 0xdd7e, 0x4ffc, { 0x9e, 0xe7, 0x81, 0xc, 0xf0, 0x47, 0x8, 0x80 } }
49 |
50 | extern EFI_GUID gEfiEndOfDxeEventGroupGuid;
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/Include/Guid/EventLegacyBios.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID is the name of events used with CreateEventEx in order to be notified
3 | when the EFI boot manager is about to boot a legacy boot option.
4 | Events of this type are notificated just before Int19h is invoked.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | GUID introduced in PI Version 1.0.
17 |
18 | **/
19 |
20 | #ifndef __EVENT_LEGACY_BIOS_GUID_H__
21 | #define __EVENT_LEGACY_BIOS_GUID_H__
22 |
23 | #define EFI_EVENT_LEGACY_BOOT_GUID \
24 | { 0x2a571201, 0x4966, 0x47f6, {0x8b, 0x86, 0xf3, 0x1e, 0x41, 0xf3, 0x2f, 0x10 } }
25 |
26 | extern EFI_GUID gEfiEventLegacyBootGuid;
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/Include/Guid/FileInfo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.SetInfo()
3 | and EFI_FILE_PROTOCOL.GetInfo() to set or get generic file information.
4 | This GUID is defined in UEFI specification.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials are licensed and made available under
8 | the terms and conditions of the BSD License that accompanies this distribution.
9 | The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php.
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __FILE_INFO_H__
18 | #define __FILE_INFO_H__
19 |
20 | #define EFI_FILE_INFO_ID \
21 | { \
22 | 0x9576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
23 | }
24 |
25 | typedef struct {
26 | ///
27 | /// The size of the EFI_FILE_INFO structure, including the Null-terminated FileName string.
28 | ///
29 | UINT64 Size;
30 | ///
31 | /// The size of the file in bytes.
32 | ///
33 | UINT64 FileSize;
34 | ///
35 | /// PhysicalSize The amount of physical space the file consumes on the file system volume.
36 | ///
37 | UINT64 PhysicalSize;
38 | ///
39 | /// The time the file was created.
40 | ///
41 | EFI_TIME CreateTime;
42 | ///
43 | /// The time when the file was last accessed.
44 | ///
45 | EFI_TIME LastAccessTime;
46 | ///
47 | /// The time when the file's contents were last modified.
48 | ///
49 | EFI_TIME ModificationTime;
50 | ///
51 | /// The attribute bits for the file.
52 | ///
53 | UINT64 Attribute;
54 | ///
55 | /// The Null-terminated name of the file.
56 | ///
57 | CHAR16 FileName[1];
58 | } EFI_FILE_INFO;
59 |
60 | ///
61 | /// The FileName field of the EFI_FILE_INFO data structure is variable length.
62 | /// Whenever code needs to know the size of the EFI_FILE_INFO data structure, it needs to
63 | /// be the size of the data structure without the FileName field. The following macro
64 | /// computes this size correctly no matter how big the FileName array is declared.
65 | /// This is required to make the EFI_FILE_INFO data structure ANSI compilant.
66 | ///
67 | #define SIZE_OF_EFI_FILE_INFO OFFSET_OF (EFI_FILE_INFO, FileName)
68 |
69 | extern EFI_GUID gEfiFileInfoGuid;
70 |
71 | #endif
72 |
--------------------------------------------------------------------------------
/Include/Guid/FileSystemInfo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.GetInfo()
3 | or EFI_FILE_PROTOCOL.SetInfo() to get or set information about the system's volume.
4 | This GUID is defined in UEFI specification.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials are licensed and made available under
8 | the terms and conditions of the BSD License that accompanies this distribution.
9 | The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php.
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __FILE_SYSTEM_INFO_H__
18 | #define __FILE_SYSTEM_INFO_H__
19 |
20 | #define EFI_FILE_SYSTEM_INFO_ID \
21 | { \
22 | 0x9576e93, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
23 | }
24 |
25 | typedef struct {
26 | ///
27 | /// The size of the EFI_FILE_SYSTEM_INFO structure, including the Null-terminated VolumeLabel string.
28 | ///
29 | UINT64 Size;
30 | ///
31 | /// TRUE if the volume only supports read access.
32 | ///
33 | BOOLEAN ReadOnly;
34 | ///
35 | /// The number of bytes managed by the file system.
36 | ///
37 | UINT64 VolumeSize;
38 | ///
39 | /// The number of available bytes for use by the file system.
40 | ///
41 | UINT64 FreeSpace;
42 | ///
43 | /// The nominal block size by which files are typically grown.
44 | ///
45 | UINT32 BlockSize;
46 | ///
47 | /// The Null-terminated string that is the volume's label.
48 | ///
49 | CHAR16 VolumeLabel[1];
50 | } EFI_FILE_SYSTEM_INFO;
51 |
52 | ///
53 | /// The VolumeLabel field of the EFI_FILE_SYSTEM_INFO data structure is variable length.
54 | /// Whenever code needs to know the size of the EFI_FILE_SYSTEM_INFO data structure, it needs
55 | /// to be the size of the data structure without the VolumeLable field. The following macro
56 | /// computes this size correctly no matter how big the VolumeLable array is declared.
57 | /// This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI compilant.
58 | ///
59 | #define SIZE_OF_EFI_FILE_SYSTEM_INFO OFFSET_OF (EFI_FILE_SYSTEM_INFO, VolumeLabel)
60 |
61 | extern EFI_GUID gEfiFileSystemInfoGuid;
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/Include/Guid/FileSystemVolumeLabelInfo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.GetInfo()
3 | or EFI_FILE_PROTOCOL.SetInfo() to get or set the system's volume label.
4 | This GUID is defined in UEFI specification.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __FILE_SYSTEM_VOLUME_LABEL_INFO_H__
18 | #define __FILE_SYSTEM_VOLUME_LABEL_INFO_H__
19 |
20 | #define EFI_FILE_SYSTEM_VOLUME_LABEL_ID \
21 | { \
22 | 0xDB47D7D3, 0xFE81, 0x11d3, {0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } \
23 | }
24 |
25 | typedef struct {
26 | ///
27 | /// The Null-terminated string that is the volume's label.
28 | ///
29 | CHAR16 VolumeLabel[1];
30 | } EFI_FILE_SYSTEM_VOLUME_LABEL;
31 |
32 | #define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL \
33 | OFFSET_OF (EFI_FILE_SYSTEM_VOLUME_LABEL, VolumeLabel)
34 |
35 | extern EFI_GUID gEfiFileSystemVolumeLabelInfoIdGuid;
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/Include/Guid/FirmwareContentsSigned.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID is used to define the signed section.
3 |
4 | Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUID introduced in PI Version 1.2.1.
15 |
16 | **/
17 |
18 | #ifndef __FIRMWARE_CONTENTS_SIGNED_GUID_H__
19 | #define __FIRMWARE_CONTENTS_SIGNED_GUID_H__
20 |
21 | #define EFI_FIRMWARE_CONTENTS_SIGNED_GUID \
22 | { 0xf9d89e8, 0x9259, 0x4f76, {0xa5, 0xaf, 0xc, 0x89, 0xe3, 0x40, 0x23, 0xdf } }
23 |
24 | extern EFI_GUID gEfiFirmwareContentsSignedGuid;
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/Include/Guid/FirmwareFileSystem2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Guid used to define the Firmware File System 2.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUIDs introduced in PI Version 1.0.
15 |
16 | **/
17 |
18 | #ifndef __FIRMWARE_FILE_SYSTEM2_GUID_H__
19 | #define __FIRMWARE_FILE_SYSTEM2_GUID_H__
20 |
21 | ///
22 | /// The firmware volume header contains a data field for
23 | /// the file system GUID
24 | ///
25 | #define EFI_FIRMWARE_FILE_SYSTEM2_GUID \
26 | { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 } }
27 |
28 | ///
29 | /// A Volume Top File (VTF) is a file that must be
30 | /// located such that the last byte of the file is
31 | /// also the last byte of the firmware volume
32 | ///
33 | #define EFI_FFS_VOLUME_TOP_FILE_GUID \
34 | { 0x1BA0062E, 0xC779, 0x4582, { 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x9 } }
35 |
36 |
37 | extern EFI_GUID gEfiFirmwareFileSystem2Guid;
38 | extern EFI_GUID gEfiFirmwareVolumeTopFileGuid;
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/Include/Guid/FirmwareFileSystem3.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Guid used to define the Firmware File System 3.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUIDs introduced in PI Version 1.0.
15 |
16 | **/
17 |
18 | #ifndef __FIRMWARE_FILE_SYSTEM3_GUID_H__
19 | #define __FIRMWARE_FILE_SYSTEM3_GUID_H__
20 |
21 | ///
22 | /// The firmware volume header contains a data field for the file system GUID
23 | /// {5473C07A-3DCB-4dca-BD6F-1E9689E7349A}
24 | ///
25 | #define EFI_FIRMWARE_FILE_SYSTEM3_GUID \
26 | { 0x5473c07a, 0x3dcb, 0x4dca, { 0xbd, 0x6f, 0x1e, 0x96, 0x89, 0xe7, 0x34, 0x9a }}
27 |
28 | extern EFI_GUID gEfiFirmwareFileSystem3Guid;
29 |
30 | #endif // __FIRMWARE_FILE_SYSTEM3_GUID_H__
31 |
--------------------------------------------------------------------------------
/Include/Guid/Gpt.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Guids used for the GPT (GUID Partition Table)
3 |
4 | GPT defines a new disk partitioning scheme and also describes
5 | usage of the legacy Master Boot Record (MBR) partitioning scheme.
6 |
7 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | GUIDs defined in UEFI 2.1 spec.
18 |
19 | **/
20 |
21 | #ifndef __GPT_GUID_H__
22 | #define __GPT_GUID_H__
23 |
24 | #define EFI_PART_TYPE_UNUSED_GUID \
25 | { \
26 | 0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } \
27 | }
28 |
29 | #define EFI_PART_TYPE_EFI_SYSTEM_PART_GUID \
30 | { \
31 | 0xc12a7328, 0xf81f, 0x11d2, {0xba, 0x4b, 0x00, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b } \
32 | }
33 |
34 | #define EFI_PART_TYPE_LEGACY_MBR_GUID \
35 | { \
36 | 0x024dee41, 0x33e7, 0x11d3, {0x9d, 0x69, 0x00, 0x08, 0xc7, 0x81, 0xf3, 0x9f } \
37 | }
38 |
39 | extern EFI_GUID gEfiPartTypeUnusedGuid;
40 | extern EFI_GUID gEfiPartTypeSystemPartGuid;
41 | extern EFI_GUID gEfiPartTypeLegacyMbrGuid;
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/Include/Guid/GraphicsInfoHob.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Hob guid for Information about the graphics mode.
3 |
4 | Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
5 | 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 | This HOB is introduced in in PI Version 1.4.
15 |
16 | **/
17 |
18 | #ifndef _GRAPHICS_INFO_HOB_GUID_H_
19 | #define _GRAPHICS_INFO_HOB_GUID_H_
20 |
21 | #include
22 |
23 | #define EFI_PEI_GRAPHICS_INFO_HOB_GUID \
24 | { \
25 | 0x39f62cce, 0x6825, 0x4669, { 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07 } \
26 | }
27 |
28 | #define EFI_PEI_GRAPHICS_DEVICE_INFO_HOB_GUID \
29 | { \
30 | 0xe5cb2ac9, 0xd35d, 0x4430, { 0x93, 0x6e, 0x1d, 0xe3, 0x32, 0x47, 0x8d, 0xe7 } \
31 | }
32 |
33 | typedef struct {
34 | EFI_PHYSICAL_ADDRESS FrameBufferBase;
35 | UINT32 FrameBufferSize;
36 | EFI_GRAPHICS_OUTPUT_MODE_INFORMATION GraphicsMode;
37 | } EFI_PEI_GRAPHICS_INFO_HOB;
38 |
39 | typedef struct {
40 | UINT16 VendorId; ///< Ignore if the value is 0xFFFF.
41 | UINT16 DeviceId; ///< Ignore if the value is 0xFFFF.
42 | UINT16 SubsystemVendorId; ///< Ignore if the value is 0xFFFF.
43 | UINT16 SubsystemId; ///< Ignore if the value is 0xFFFF.
44 | UINT8 RevisionId; ///< Ignore if the value is 0xFF.
45 | UINT8 BarIndex; ///< Ignore if the value is 0xFF.
46 | } EFI_PEI_GRAPHICS_DEVICE_INFO_HOB;
47 |
48 | extern EFI_GUID gEfiGraphicsInfoHobGuid;
49 | extern EFI_GUID gEfiGraphicsDeviceInfoHobGuid;
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/Include/Guid/HardwareErrorVariable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID for hardware error record variables.
3 |
4 | Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.
5 | 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 | GUID defined in UEFI 2.1.
15 |
16 | **/
17 |
18 | #ifndef _HARDWARE_ERROR_VARIABLE_GUID_H_
19 | #define _HARDWARE_ERROR_VARIABLE_GUID_H_
20 |
21 | #define EFI_HARDWARE_ERROR_VARIABLE \
22 | { \
23 | 0x414E6BDD, 0xE47B, 0x47cc, {0xB2, 0x44, 0xBB, 0x61, 0x02, 0x0C, 0xF5, 0x16} \
24 | }
25 |
26 | extern EFI_GUID gEfiHardwareErrorVariableGuid;
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/Include/Guid/HiiFormMapMethodGuid.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Guid used to identify HII FormMap configuration method.
3 |
4 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUID defined in UEFI 2.2 spec.
15 | **/
16 |
17 | #ifndef __EFI_HII_FORMMAP_GUID_H__
18 | #define __EFI_HII_FORMMAP_GUID_H__
19 |
20 | #define EFI_HII_STANDARD_FORM_GUID \
21 | { 0x3bd2f4ec, 0xe524, 0x46e4, { 0xa9, 0xd8, 0x51, 0x1, 0x17, 0x42, 0x55, 0x62 } }
22 |
23 | extern EFI_GUID gEfiHiiStandardFormGuid;
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/Include/Guid/HiiKeyBoardLayout.h:
--------------------------------------------------------------------------------
1 | /** @file
2 |
3 | HII keyboard layout GUID as defined in UEFI2.1 specification
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | GUIDs defined in UEFI 2.1 spec.
16 |
17 | **/
18 |
19 | #ifndef __HII_KEYBOARD_LAYOUT_GUID_H__
20 | #define __HII_KEYBOARD_LAYOUT_GUID_H__
21 |
22 | #define EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID \
23 | { 0x14982a4f, 0xb0ed, 0x45b8, { 0xa8, 0x11, 0x5a, 0x7a, 0x9b, 0xc2, 0x32, 0xdf }}
24 |
25 | extern EFI_GUID gEfiHiiKeyBoardLayoutGuid;
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/Include/Guid/HiiPlatformSetupFormset.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID indicates that the form set contains forms designed to be used
3 | for platform configuration and this form set will be displayed.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials are licensed and made available under
7 | the terms and conditions of the BSD License that accompanies this distribution.
8 | The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php.
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | GUID defined in UEFI 2.1.
16 |
17 | **/
18 |
19 | #ifndef __HII_PLATFORM_SETUP_FORMSET_GUID_H__
20 | #define __HII_PLATFORM_SETUP_FORMSET_GUID_H__
21 |
22 | #define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \
23 | { 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } }
24 |
25 | #define EFI_HII_DRIVER_HEALTH_FORMSET_GUID \
26 | { 0xf22fc20c, 0x8cf4, 0x45eb, { 0x8e, 0x6, 0xad, 0x4e, 0x50, 0xb9, 0x5d, 0xd3 } }
27 |
28 | #define EFI_HII_USER_CREDENTIAL_FORMSET_GUID \
29 | { 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } }
30 |
31 | extern EFI_GUID gEfiHiiPlatformSetupFormsetGuid;
32 | extern EFI_GUID gEfiHiiDriverHealthFormsetGuid;
33 | extern EFI_GUID gEfiHiiUserCredentialFormsetGuid;
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/Include/Guid/HobList.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used for HOB List entries
3 |
4 | These GUIDs point the HOB List passed from PEI to DXE.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | GUID introduced in PI Version 1.0.
17 |
18 | **/
19 |
20 | #ifndef __HOB_LIST_GUID_H__
21 | #define __HOB_LIST_GUID_H__
22 |
23 | #define HOB_LIST_GUID \
24 | { \
25 | 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
26 | }
27 |
28 | extern EFI_GUID gEfiHobListGuid;
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Include/Guid/MdePkgTokenSpace.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID for MdePkg PCD Token Space
3 |
4 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _MDEPKG_TOKEN_SPACE_GUID_H_
16 | #define _MDEPKG_TOKEN_SPACE_GUID_H_
17 |
18 | #define MDEPKG_TOKEN_SPACE_GUID \
19 | { \
20 | 0x914AEBE7, 0x4635, 0x459b, { 0xAA, 0x1C, 0x11, 0xE2, 0x19, 0xB0, 0x3A, 0x10 } \
21 | }
22 |
23 | extern EFI_GUID gEfiMdePkgTokenSpaceGuid;
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/Include/Guid/MemoryAllocationHob.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs for HOBs used in memory allcation
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUIDs introduced in PI Version 1.0.
15 |
16 | **/
17 |
18 | #ifndef __MEMORY_ALLOCATION_GUID_H__
19 | #define __MEMORY_ALLOCATION_GUID_H__
20 |
21 | #define EFI_HOB_MEMORY_ALLOC_BSP_STORE_GUID \
22 | {0x564b33cd, 0xc92a, 0x4593, {0x90, 0xbf, 0x24, 0x73, 0xe4, 0x3c, 0x63, 0x22} };
23 |
24 | #define EFI_HOB_MEMORY_ALLOC_STACK_GUID \
25 | {0x4ed4bf27, 0x4092, 0x42e9, {0x80, 0x7d, 0x52, 0x7b, 0x1d, 0x0, 0xc9, 0xbd} }
26 |
27 | #define EFI_HOB_MEMORY_ALLOC_MODULE_GUID \
28 | {0xf8e21975, 0x899, 0x4f58, {0xa4, 0xbe, 0x55, 0x25, 0xa9, 0xc6, 0xd7, 0x7a} }
29 |
30 | extern EFI_GUID gEfiHobMemoryAllocBspStoreGuid;
31 | extern EFI_GUID gEfiHobMemoryAllocStackGuid;
32 | extern EFI_GUID gEfiHobMemoryAllocModuleGuid;
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/Include/Guid/MemoryAttributesTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used for UEFI Memory Attributes Table in the UEFI 2.6 specification.
3 |
4 | Copyright (c) 2016, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __UEFI_MEMORY_ATTRIBUTES_TABLE_H__
16 | #define __UEFI_MEMORY_ATTRIBUTES_TABLE_H__
17 |
18 | #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID {\
19 | 0xdcfa911d, 0x26eb, 0x469f, {0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20} \
20 | }
21 |
22 | typedef struct {
23 | UINT32 Version;
24 | UINT32 NumberOfEntries;
25 | UINT32 DescriptorSize;
26 | UINT32 Reserved;
27 | //EFI_MEMORY_DESCRIPTOR Entry[1];
28 | } EFI_MEMORY_ATTRIBUTES_TABLE;
29 |
30 | #define EFI_MEMORY_ATTRIBUTES_TABLE_VERSION 0x00000001
31 |
32 | extern EFI_GUID gEfiMemoryAttributesTableGuid;
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/Include/Guid/Mps.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used for MPS entries in the UEFI 2.0 system table
3 | ACPI is the primary means of exporting MPS information to the OS. MPS only was
4 | included to support Itanium-based platform power on. So don't use it if you don't have too.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | GUIDs defined in UEFI 2.0 spec.
17 |
18 | **/
19 |
20 | #ifndef __MPS_GUID_H__
21 | #define __MPS_GUID_H__
22 |
23 | #define EFI_MPS_TABLE_GUID \
24 | { \
25 | 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
26 | }
27 |
28 | //
29 | // GUID name defined in spec.
30 | //
31 | #define MPS_TABLE_GUID EFI_MPS_TABLE_GUID
32 |
33 | extern EFI_GUID gEfiMpsTableGuid;
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/Include/Guid/PcAnsi.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Terminal Device Path Vendor Guid.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | GUIDs defined in UEFI 2.0 spec.
15 |
16 | **/
17 |
18 | #ifndef __PC_ANSI_H__
19 | #define __PC_ANSI_H__
20 |
21 | #define EFI_PC_ANSI_GUID \
22 | { \
23 | 0xe0c14753, 0xf9be, 0x11d2, {0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
24 | }
25 |
26 | #define EFI_VT_100_GUID \
27 | { \
28 | 0xdfa66065, 0xb419, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
29 | }
30 |
31 | #define EFI_VT_100_PLUS_GUID \
32 | { \
33 | 0x7baec70b, 0x57e0, 0x4c76, {0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43 } \
34 | }
35 |
36 | #define EFI_VT_UTF8_GUID \
37 | { \
38 | 0xad15a0d6, 0x8bec, 0x4acf, {0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88 } \
39 | }
40 |
41 | #define DEVICE_PATH_MESSAGING_UART_FLOW_CONTROL \
42 | { \
43 | 0x37499a9d, 0x542f, 0x4c89, {0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 } \
44 | }
45 |
46 | #define EFI_SAS_DEVICE_PATH_GUID \
47 | { \
48 | 0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
49 | }
50 |
51 | extern EFI_GUID gEfiPcAnsiGuid;
52 | extern EFI_GUID gEfiVT100Guid;
53 | extern EFI_GUID gEfiVT100PlusGuid;
54 | extern EFI_GUID gEfiVTUTF8Guid;
55 | extern EFI_GUID gEfiUartDevicePathGuid;
56 | extern EFI_GUID gEfiSasDevicePathGuid;
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/Include/Guid/PropertiesTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used for UEFI Properties Table in the UEFI 2.5 specification.
3 |
4 | Copyright (c) 2015, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __EFI_PROPERTIES_TABLE_H__
16 | #define __EFI_PROPERTIES_TABLE_H__
17 |
18 | #define EFI_PROPERTIES_TABLE_GUID {\
19 | 0x880aaca3, 0x4adc, 0x4a04, {0x90, 0x79, 0xb7, 0x47, 0x34, 0x8, 0x25, 0xe5} \
20 | }
21 |
22 | typedef struct {
23 | UINT32 Version;
24 | UINT32 Length;
25 | UINT64 MemoryProtectionAttribute;
26 | } EFI_PROPERTIES_TABLE;
27 |
28 | #define EFI_PROPERTIES_TABLE_VERSION 0x00010000
29 |
30 | //
31 | // Memory attribute (Not defined bit is reserved)
32 | //
33 | #define EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA 0x1
34 |
35 | extern EFI_GUID gEfiPropertiesTableGuid;
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/Include/Guid/SalSystemTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used for SAL system table entries in the EFI system table.
3 |
4 | SAL System Table contains Itanium-based processor centric information about
5 | the system.
6 |
7 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | GUIDs defined in UEFI 2.0 spec.
18 |
19 | **/
20 |
21 | #ifndef __SAL_SYSTEM_TABLE_GUID_H__
22 | #define __SAL_SYSTEM_TABLE_GUID_H__
23 |
24 | #define SAL_SYSTEM_TABLE_GUID \
25 | { \
26 | 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
27 | }
28 |
29 | extern EFI_GUID gEfiSalSystemTableGuid;
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/Include/Guid/SmBios.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUIDs used to locate the SMBIOS tables in the UEFI 2.5 system table.
3 |
4 | These GUIDs in the system table are the only legal ways to search for and
5 | locate the SMBIOS tables. Do not search the 0xF0000 segment to find SMBIOS
6 | tables.
7 |
8 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
9 | This program and the accompanying materials
10 | are licensed and made available under the terms and conditions of the BSD License
11 | which accompanies this distribution. The full text of the license may be found at
12 | http://opensource.org/licenses/bsd-license.php
13 |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 |
17 | @par Revision Reference:
18 | GUIDs defined in UEFI 2.5 spec.
19 |
20 | **/
21 |
22 | #ifndef __SMBIOS_GUID_H__
23 | #define __SMBIOS_GUID_H__
24 |
25 | #define SMBIOS_TABLE_GUID \
26 | { \
27 | 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
28 | }
29 |
30 | #define SMBIOS3_TABLE_GUID \
31 | { \
32 | 0xf2fd1544, 0x9794, 0x4a2c, {0x99, 0x2e, 0xe5, 0xbb, 0xcf, 0x20, 0xe3, 0x94 } \
33 | }
34 |
35 | extern EFI_GUID gEfiSmbiosTableGuid;
36 | extern EFI_GUID gEfiSmbios3TableGuid;
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/Include/Guid/VectorHandoffTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | GUID for system configuration table entry that points to the table
3 | in case an entity in DXE wishes to update/change the vector table contents.
4 |
5 | Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | GUID defined in PI 1.2.1 spec.
16 | **/
17 |
18 | #ifndef __EFI_VECTOR_HANDOFF_TABLE_H__
19 | #define __EFI_VECTOR_HANDOFF_TABLE_H__
20 |
21 | #include
22 |
23 | //
24 | // System configuration table entry that points to the table
25 | // in case an entity in DXE wishes to update/change the vector
26 | // table contents.
27 | //
28 | #define EFI_VECTOR_HANDOF_TABLE_GUID \
29 | { 0x996ec11c, 0x5397, 0x4e73, { 0xb5, 0x8f, 0x82, 0x7e, 0x52, 0x90, 0x6d, 0xef }}
30 |
31 | extern EFI_GUID gEfiVectorHandoffTableGuid;
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Acpi.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file contains the latest ACPI definitions that are
3 | consumed by drivers that do not care about ACPI versions.
4 |
5 | Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef _ACPI_H_
17 | #define _ACPI_H_
18 |
19 | #include
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Bluetooth.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file contains the Bluetooth definitions that are consumed by drivers.
3 | These definitions are from Bluetooth Core Specification Version 4.0 June, 2010
4 |
5 | Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef _BLUETOOTH_H_
17 | #define _BLUETOOTH_H_
18 |
19 | #pragma pack(1)
20 |
21 | ///
22 | /// BLUETOOTH_ADDRESS
23 | ///
24 | typedef struct {
25 | ///
26 | /// 48bit Bluetooth device address.
27 | ///
28 | UINT8 Address[6];
29 | } BLUETOOTH_ADDRESS;
30 |
31 | ///
32 | /// BLUETOOTH_CLASS_OF_DEVICE. See Bluetooth specification for detail.
33 | ///
34 | typedef struct {
35 | UINT8 FormatType:2;
36 | UINT8 MinorDeviceClass: 6;
37 | UINT16 MajorDeviceClass: 5;
38 | UINT16 MajorServiceClass:11;
39 | } BLUETOOTH_CLASS_OF_DEVICE;
40 |
41 | ///
42 | /// BLUETOOTH_LE_ADDRESS
43 | ///
44 | typedef struct {
45 | ///
46 | /// 48-bit Bluetooth device address
47 | ///
48 | UINT8 Address[6];
49 | ///
50 | /// 0x00 - Public Device Address
51 | /// 0x01 - Random Device Address
52 | ///
53 | UINT8 Type;
54 | } BLUETOOTH_LE_ADDRESS;
55 |
56 | #pragma pack()
57 |
58 | #define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE 248
59 |
60 | #define BLUETOOTH_HCI_LINK_KEY_SIZE 16
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Bmp.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines BMP file header data structures.
3 |
4 | Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _BMP_H_
16 | #define _BMP_H_
17 |
18 | #pragma pack(1)
19 |
20 | typedef struct {
21 | UINT8 Blue;
22 | UINT8 Green;
23 | UINT8 Red;
24 | UINT8 Reserved;
25 | } BMP_COLOR_MAP;
26 |
27 | typedef struct {
28 | CHAR8 CharB;
29 | CHAR8 CharM;
30 | UINT32 Size;
31 | UINT16 Reserved[2];
32 | UINT32 ImageOffset;
33 | UINT32 HeaderSize;
34 | UINT32 PixelWidth;
35 | UINT32 PixelHeight;
36 | UINT16 Planes; ///< Must be 1
37 | UINT16 BitPerPixel; ///< 1, 4, 8, or 24
38 | UINT32 CompressionType;
39 | UINT32 ImageSize; ///< Compressed image size in bytes
40 | UINT32 XPixelsPerMeter;
41 | UINT32 YPixelsPerMeter;
42 | UINT32 NumberOfColors;
43 | UINT32 ImportantColors;
44 | } BMP_IMAGE_HEADER;
45 |
46 | #pragma pack()
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/DebugPortTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | ACPI debug port table definition, defined at
3 | Microsoft DebugPortSpecification.
4 |
5 | Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 |
17 | #ifndef _DEBUG_PORT_TABLE_H_
18 | #define _DEBUG_PORT_TABLE_H_
19 |
20 | #include
21 |
22 | //
23 | // Ensure proper structure formats
24 | //
25 | #pragma pack(1)
26 |
27 | //
28 | // Debug Port Table definition.
29 | //
30 | typedef struct {
31 | EFI_ACPI_DESCRIPTION_HEADER Header;
32 | UINT8 InterfaceType;
33 | UINT8 Reserved_37[3];
34 | EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE BaseAddress;
35 | } EFI_ACPI_DEBUG_PORT_DESCRIPTION_TABLE;
36 |
37 | #pragma pack()
38 |
39 | //
40 | // DBGP Revision (defined in spec)
41 | //
42 | #define EFI_ACPI_DEBUG_PORT_TABLE_REVISION 0x01
43 |
44 | //
45 | // Interface Type
46 | //
47 | #define EFI_ACPI_DBGP_INTERFACE_TYPE_FULL_16550 0
48 | #define EFI_ACPI_DBGP_INTERFACE_TYPE_16550_SUBSET_COMPATIBLE_WITH_MS_DBGP_SPEC 1
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/HighPrecisionEventTimerTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | ACPI high precision event timer table definition, at www.intel.com
3 | Specification name is IA-PC HPET (High Precision Event Timers) Specification.
4 |
5 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 | **/
14 |
15 | #ifndef _HIGH_PRECISION_EVENT_TIMER_TABLE_H_
16 | #define _HIGH_PRECISION_EVENT_TIMER_TABLE_H_
17 |
18 | #include
19 |
20 | //
21 | // Ensure proper structure formats
22 | //
23 | #pragma pack(1)
24 |
25 | ///
26 | /// HPET Event Timer Block ID described in IA-PC HPET Specification, 3.2.4.
27 | ///
28 | typedef union {
29 | struct {
30 | UINT32 Revision : 8;
31 | UINT32 NumberOfTimers : 5;
32 | UINT32 CounterSize : 1;
33 | UINT32 Reserved : 1;
34 | UINT32 LegacyRoute : 1;
35 | UINT32 VendorId : 16;
36 | } Bits;
37 | UINT32 Uint32;
38 | } EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_BLOCK_ID;
39 |
40 |
41 | ///
42 | /// High Precision Event Timer Table header definition.
43 | ///
44 | typedef struct {
45 | EFI_ACPI_DESCRIPTION_HEADER Header;
46 | UINT32 EventTimerBlockId;
47 | EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE BaseAddressLower32Bit;
48 | UINT8 HpetNumber;
49 | UINT16 MainCounterMinimumClockTickInPeriodicMode;
50 | UINT8 PageProtectionAndOemAttribute;
51 | } EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER;
52 |
53 | ///
54 | /// HPET Revision (defined in spec)
55 | ///
56 | #define EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION 0x01
57 |
58 | //
59 | // Page protection setting
60 | // Values 3 through 15 are reserved for use by the specification
61 | //
62 | #define EFI_ACPI_NO_PAGE_PROTECTION 0
63 | #define EFI_ACPI_4KB_PAGE_PROTECTION 1
64 | #define EFI_ACPI_64KB_PAGE_PROTECTION 2
65 |
66 | #pragma pack()
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/IpmiNetFnFirmware.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
3 |
4 | Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.
5 | 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 |
14 | #ifndef _IPMI_NET_FN_FIRMWARE_H_
15 | #define _IPMI_NET_FN_FIRMWARE_H_
16 |
17 | //
18 | // Net function definition for Firmware command
19 | //
20 | #define IPMI_NETFN_FIRMWARE 0x08
21 |
22 | //
23 | // All Firmware commands and their structure definitions to follow here
24 | //
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/IpmiNetFnGroupExtension.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
3 |
4 | Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.
5 | 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 |
14 | #ifndef _IPMI_NET_FN_GROUP_EXTENSION_H_
15 | #define _IPMI_NET_FN_GROUP_EXTENSION_H_
16 |
17 | //
18 | // Net function definition for Group Extension command
19 | //
20 | #define IPMI_NETFN_GROUP_EXT 0x2C
21 |
22 | //
23 | // All Group Extension commands and their structure definitions to follow here
24 | //
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/IpmiNetFnSensorEvent.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
3 |
4 | This file contains all NetFn Sensor/Event commands, including:
5 | Event Commands (Chapter 29)
6 | PEF and Alerting Commands (Chapter 30)
7 | Sensor Device Commands (Chapter 35)
8 |
9 | See IPMI specification, Appendix G, Command Assignments
10 | and Appendix H, Sub-function Assignments.
11 |
12 | Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.
13 | This program and the accompanying materials
14 | are licensed and made available under the terms and conditions of the BSD License
15 | which accompanies this distribution. The full text of the license may be found at
16 | http://opensource.org/licenses/bsd-license.php
17 |
18 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
19 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 | **/
21 |
22 | #ifndef _IPMI_NET_FN_SENSOR_EVENT_H_
23 | #define _IPMI_NET_FN_SENSOR_EVENT_H_
24 |
25 | #pragma pack(1)
26 | //
27 | // Net function definition for Sensor command
28 | //
29 | #define IPMI_NETFN_SENSOR_EVENT 0x04
30 |
31 | //
32 | // All Sensor commands and their structure definitions to follow here
33 | //
34 |
35 | //
36 | // Definitions for Send Platform Event Message command
37 | //
38 | #define IPMI_SENSOR_PLATFORM_EVENT_MESSAGE 0x02
39 |
40 | typedef struct {
41 | UINT8 GeneratorId;
42 | UINT8 EvMRevision;
43 | UINT8 SensorType;
44 | UINT8 SensorNumber;
45 | UINT8 EventDirType;
46 | UINT8 OEMEvData1;
47 | UINT8 OEMEvData2;
48 | UINT8 OEMEvData3;
49 | } IPMI_PLATFORM_EVENT_MESSAGE_DATA_REQUEST;
50 |
51 | #pragma pack()
52 | #endif
53 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Mbr.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Legacy Master Boot Record Format Definition.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _MBR_H_
16 | #define _MBR_H_
17 |
18 | #define MBR_SIGNATURE 0xaa55
19 |
20 | #define EXTENDED_DOS_PARTITION 0x05
21 | #define EXTENDED_WINDOWS_PARTITION 0x0F
22 |
23 | #define MAX_MBR_PARTITIONS 4
24 |
25 | #define PMBR_GPT_PARTITION 0xEE
26 | #define EFI_PARTITION 0xEF
27 |
28 | #define MBR_SIZE 512
29 |
30 | #pragma pack(1)
31 | ///
32 | /// MBR Partition Entry
33 | ///
34 | typedef struct {
35 | UINT8 BootIndicator;
36 | UINT8 StartHead;
37 | UINT8 StartSector;
38 | UINT8 StartTrack;
39 | UINT8 OSIndicator;
40 | UINT8 EndHead;
41 | UINT8 EndSector;
42 | UINT8 EndTrack;
43 | UINT8 StartingLBA[4];
44 | UINT8 SizeInLBA[4];
45 | } MBR_PARTITION_RECORD;
46 |
47 | ///
48 | /// MBR Partition Table
49 | ///
50 | typedef struct {
51 | UINT8 BootStrapCode[440];
52 | UINT8 UniqueMbrSignature[4];
53 | UINT8 Unknown[2];
54 | MBR_PARTITION_RECORD Partition[MAX_MBR_PARTITIONS];
55 | UINT16 Signature;
56 | } MASTER_BOOT_RECORD;
57 |
58 | #pragma pack()
59 |
60 | #endif
61 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | ACPI memory mapped configuration space access table definition, defined at
3 | in the PCI Firmware Specification, version 3.0.
4 | Specification is available at http://www.pcisig.com.
5 |
6 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 | **/
15 |
16 | #ifndef _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_
17 | #define _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_
18 |
19 | //
20 | // Ensure proper structure formats
21 | //
22 | #pragma pack(1)
23 |
24 | ///
25 | /// Memory Mapped Configuration Space Access Table (MCFG)
26 | /// This table is a basic description table header followed by
27 | /// a number of base address allocation structures.
28 | ///
29 | typedef struct {
30 | UINT64 BaseAddress;
31 | UINT16 PciSegmentGroupNumber;
32 | UINT8 StartBusNumber;
33 | UINT8 EndBusNumber;
34 | UINT32 Reserved;
35 | } EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE;
36 |
37 | ///
38 | /// MCFG Table header definition. The rest of the table
39 | /// must be defined in a platform specific manner.
40 | ///
41 | typedef struct {
42 | EFI_ACPI_DESCRIPTION_HEADER Header;
43 | UINT64 Reserved;
44 | } EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_HEADER;
45 |
46 | ///
47 | /// MCFG Revision (defined in spec)
48 | ///
49 | #define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION 0x01
50 |
51 | #pragma pack()
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/MemoryOverwriteRequestControlLock.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Support for Microsoft Secure MOR implementation, defined at
3 | Microsoft Secure MOR implementation.
4 | https://msdn.microsoft.com/en-us/library/windows/hardware/mt270973(v=vs.85).aspx
5 |
6 | Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_H__
18 | #define __MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_H__
19 |
20 | #define MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_GUID \
21 | { \
22 | 0xBB983CCF, 0x151D, 0x40E1, {0xA0, 0x7B, 0x4A, 0x17, 0xBE, 0x16, 0x82, 0x92} \
23 | }
24 |
25 | #define MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_NAME L"MemoryOverwriteRequestControlLock"
26 |
27 | //
28 | // VendorGuid: {BB983CCF-151D-40E1-A07B-4A17BE168292}
29 | // Name: MemoryOverwriteRequestControlLock
30 | // Attributes: NV+BS+RT
31 | // GetVariable value in Data parameter: 0x0 (unlocked); 0x1 (locked without key); 0x2 (locked with key)
32 | // SetVariable value in Data parameter: 0x0 (unlocked); 0x1 (locked);
33 | // Revision 2 additionally accepts an 8-byte value that represents a shared secret key.
34 | //
35 |
36 | //
37 | // Note: Setting MemoryOverwriteRequestControlLock does not commit to flash (just changes the internal lock state).
38 | // Getting the variable returns the internal state and never exposes the key.
39 | //
40 |
41 | extern EFI_GUID gEfiMemoryOverwriteRequestControlLockGuid;
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Pci.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Support for the latest PCI standard.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials are licensed and made available under
6 | the terms and conditions of the BSD License that accompanies this distribution.
7 | 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 | **/
14 |
15 | #ifndef _PCI_H_
16 | #define _PCI_H_
17 |
18 | #include
19 | #include
20 | #include
21 | #include
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Pci30.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Support for PCI 3.0 standard.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __PCI30_H__
16 | #define __PCI30_H__
17 |
18 |
19 | #include
20 |
21 | ///
22 | /// PCI_CLASS_MASS_STORAGE, Base Class 01h.
23 | ///
24 | ///@{
25 | #define PCI_CLASS_MASS_STORAGE_SATADPA 0x06
26 | #define PCI_IF_MASS_STORAGE_SATA 0x00
27 | #define PCI_IF_MASS_STORAGE_AHCI 0x01
28 | ///@}
29 |
30 | ///
31 | /// PCI_CLASS_WIRELESS, Base Class 0Dh.
32 | ///
33 | ///@{
34 | #define PCI_SUBCLASS_ETHERNET_80211A 0x20
35 | #define PCI_SUBCLASS_ETHERNET_80211B 0x21
36 | ///@}
37 |
38 | /**
39 | Macro that checks whether device is a SATA controller.
40 |
41 | @param _p Specified device.
42 |
43 | @retval TRUE Device is a SATA controller.
44 | @retval FALSE Device is not a SATA controller.
45 |
46 | **/
47 | #define IS_PCI_SATADPA(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_SATADPA)
48 |
49 | ///
50 | /// PCI Capability List IDs and records
51 | ///
52 | #define EFI_PCI_CAPABILITY_ID_PCIEXP 0x10
53 |
54 | #pragma pack(1)
55 |
56 | ///
57 | /// PCI Data Structure Format
58 | /// Section 5.1.2, PCI Firmware Specification, Revision 3.0
59 | ///
60 | typedef struct {
61 | UINT32 Signature; ///< "PCIR"
62 | UINT16 VendorId;
63 | UINT16 DeviceId;
64 | UINT16 DeviceListOffset;
65 | UINT16 Length;
66 | UINT8 Revision;
67 | UINT8 ClassCode[3];
68 | UINT16 ImageLength;
69 | UINT16 CodeRevision;
70 | UINT8 CodeType;
71 | UINT8 Indicator;
72 | UINT16 MaxRuntimeImageLength;
73 | UINT16 ConfigUtilityCodeHeaderOffset;
74 | UINT16 DMTFCLPEntryPointOffset;
75 | } PCI_3_0_DATA_STRUCTURE;
76 |
77 | #pragma pack()
78 |
79 | #endif
80 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/PciExpress30.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Support for the PCI Express 3.0 standard.
3 |
4 | This header file may not define all structures. Please extend as required.
5 |
6 | Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _PCIEXPRESS30_H_
18 | #define _PCIEXPRESS30_H_
19 |
20 | #include
21 |
22 | #pragma pack(1)
23 |
24 | #define PCI_EXPRESS_EXTENDED_CAPABILITY_SECONDARY_PCIE_ID 0x0019
25 | #define PCI_EXPRESS_EXTENDED_CAPABILITY_SECONDARY_PCIE_VER1 0x1
26 |
27 | typedef union {
28 | struct {
29 | UINT32 PerformEqualization : 1;
30 | UINT32 LinkEqualizationRequestInterruptEnable : 1;
31 | UINT32 Reserved : 30;
32 | } Bits;
33 | UINT32 Uint32;
34 | } PCI_EXPRESS_REG_LINK_CONTROL3;
35 |
36 | typedef union {
37 | struct {
38 | UINT16 DownstreamPortTransmitterPreset : 4;
39 | UINT16 DownstreamPortReceiverPresetHint : 3;
40 | UINT16 Reserved : 1;
41 | UINT16 UpstreamPortTransmitterPreset : 4;
42 | UINT16 UpstreamPortReceiverPresetHint : 3;
43 | UINT16 Reserved2 : 1;
44 | } Bits;
45 | UINT16 Uint16;
46 | } PCI_EXPRESS_REG_LANE_EQUALIZATION_CONTROL;
47 |
48 | typedef struct {
49 | PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER Header;
50 | PCI_EXPRESS_REG_LINK_CONTROL3 LinkControl3;
51 | UINT32 LaneErrorStatus;
52 | PCI_EXPRESS_REG_LANE_EQUALIZATION_CONTROL EqualizationControl[2];
53 | } PCI_EXPRESS_EXTENDED_CAPABILITIES_SECONDARY_PCIE;
54 |
55 | #pragma pack()
56 |
57 | #endif
58 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/PciExpress31.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Support for the PCI Express 3.1 standard.
3 |
4 | This header file may not define all structures. Please extend as required.
5 |
6 | Copyright (c) 2016, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _PCIEXPRESS31_H_
18 | #define _PCIEXPRESS31_H_
19 |
20 | #include
21 |
22 | #pragma pack(1)
23 |
24 | #define PCI_EXPRESS_EXTENDED_CAPABILITY_L1_PM_SUBSTATES_ID 0x001E
25 | #define PCI_EXPRESS_EXTENDED_CAPABILITY_L1_PM_SUBSTATES_VER1 0x1
26 |
27 | typedef union {
28 | struct {
29 | UINT32 PciPmL12 : 1;
30 | UINT32 PciPmL11 : 1;
31 | UINT32 AspmL12 : 1;
32 | UINT32 AspmL11 : 1;
33 | UINT32 L1PmSubstates : 1;
34 | UINT32 Reserved : 3;
35 | UINT32 CommonModeRestoreTime : 8;
36 | UINT32 TPowerOnScale : 2;
37 | UINT32 Reserved2 : 1;
38 | UINT32 TPowerOnValue : 5;
39 | UINT32 Reserved3 : 8;
40 | } Bits;
41 | UINT32 Uint32;
42 | } PCI_EXPRESS_REG_L1_PM_SUBSTATES_CAPABILITY;
43 |
44 | typedef union {
45 | struct {
46 | UINT32 PciPmL12 : 1;
47 | UINT32 PciPmL11 : 1;
48 | UINT32 AspmL12 : 1;
49 | UINT32 AspmL11 : 1;
50 | UINT32 Reserved : 4;
51 | UINT32 CommonModeRestoreTime : 8;
52 | UINT32 LtrL12ThresholdValue : 10;
53 | UINT32 Reserved2 : 3;
54 | UINT32 LtrL12ThresholdScale : 3;
55 | } Bits;
56 | UINT32 Uint32;
57 | } PCI_EXPRESS_REG_L1_PM_SUBSTATES_CONTROL1;
58 |
59 | typedef union {
60 | struct {
61 | UINT32 TPowerOnScale : 2;
62 | UINT32 Reserved : 1;
63 | UINT32 TPowerOnValue : 5;
64 | UINT32 Reserved2 : 24;
65 | } Bits;
66 | UINT32 Uint32;
67 | } PCI_EXPRESS_REG_L1_PM_SUBSTATES_CONTROL2;
68 |
69 | typedef struct {
70 | PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER Header;
71 | PCI_EXPRESS_REG_L1_PM_SUBSTATES_CAPABILITY Capability;
72 | PCI_EXPRESS_REG_L1_PM_SUBSTATES_CONTROL1 Control1;
73 | PCI_EXPRESS_REG_L1_PM_SUBSTATES_CONTROL2 Control2;
74 | } PCI_EXPRESS_EXTENDED_CAPABILITIES_L1_PM_SUBSTATES;
75 |
76 | #pragma pack()
77 |
78 | #endif
79 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/SmBus.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares the SMBus definitions defined in SmBus Specifciation V2.0
3 | and defined in PI1.0 specification volume 5.
4 |
5 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef _SMBUS_H_
17 | #define _SMBUS_H_
18 |
19 |
20 | ///
21 | /// UDID of SMBUS device.
22 | ///
23 | typedef struct {
24 | UINT32 VendorSpecificId;
25 | UINT16 SubsystemDeviceId;
26 | UINT16 SubsystemVendorId;
27 | UINT16 Interface;
28 | UINT16 DeviceId;
29 | UINT16 VendorId;
30 | UINT8 VendorRevision;
31 | UINT8 DeviceCapabilities;
32 | } EFI_SMBUS_UDID;
33 |
34 | ///
35 | /// Smbus Device Address
36 | ///
37 | typedef struct {
38 | ///
39 | /// The SMBUS hardware address to which the SMBUS device is preassigned or allocated.
40 | ///
41 | UINTN SmbusDeviceAddress : 7;
42 | } EFI_SMBUS_DEVICE_ADDRESS;
43 |
44 | typedef struct {
45 | ///
46 | /// The SMBUS hardware address to which the SMBUS device is preassigned or
47 | /// allocated. Type EFI_SMBUS_DEVICE_ADDRESS is defined in EFI_PEI_SMBUS2_PPI.Execute().
48 | ///
49 | EFI_SMBUS_DEVICE_ADDRESS SmbusDeviceAddress;
50 | ///
51 | /// The SMBUS Unique Device Identifier (UDID) as defined in EFI_SMBUS_UDID.
52 | /// Type EFI_SMBUS_UDID is defined in EFI_PEI_SMBUS2_PPI.ArpDevice().
53 | ///
54 | EFI_SMBUS_UDID SmbusDeviceUdid;
55 | } EFI_SMBUS_DEVICE_MAP;
56 |
57 | ///
58 | /// Smbus Operations
59 | ///
60 | typedef enum _EFI_SMBUS_OPERATION {
61 | EfiSmbusQuickRead,
62 | EfiSmbusQuickWrite,
63 | EfiSmbusReceiveByte,
64 | EfiSmbusSendByte,
65 | EfiSmbusReadByte,
66 | EfiSmbusWriteByte,
67 | EfiSmbusReadWord,
68 | EfiSmbusWriteWord,
69 | EfiSmbusReadBlock,
70 | EfiSmbusWriteBlock,
71 | EfiSmbusProcessCall,
72 | EfiSmbusBWBRProcessCall
73 | } EFI_SMBUS_OPERATION;
74 |
75 | ///
76 | /// EFI_SMBUS_DEVICE_COMMAND
77 | ///
78 | typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
79 |
80 | #endif
81 |
82 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/TcpaAcpi.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | TCPA ACPI table definition.
3 |
4 | Copyright (c) 2013, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _TCPA_ACPI_H_
16 | #define _TCPA_ACPI_H_
17 |
18 | #include
19 |
20 | #pragma pack (1)
21 |
22 | typedef struct _EFI_TCG_CLIENT_ACPI_TABLE {
23 | EFI_ACPI_DESCRIPTION_HEADER Header;
24 | UINT16 PlatformClass;
25 | UINT32 Laml;
26 | UINT64 Lasa;
27 | } EFI_TCG_CLIENT_ACPI_TABLE;
28 |
29 | typedef struct _EFI_TCG_SERVER_ACPI_TABLE {
30 | EFI_ACPI_DESCRIPTION_HEADER Header;
31 | UINT16 PlatformClass;
32 | UINT16 Reserved0;
33 | UINT64 Laml;
34 | UINT64 Lasa;
35 | UINT16 SpecRev;
36 | UINT8 DeviceFlags;
37 | UINT8 InterruptFlags;
38 | UINT8 Gpe;
39 | UINT8 Reserved1[3];
40 | UINT32 GlobalSysInt;
41 | EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE BaseAddress;
42 | UINT32 Reserved2;
43 | EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ConfigAddress;
44 | UINT8 PciSegNum;
45 | UINT8 PciBusNum;
46 | UINT8 PciDevNum;
47 | UINT8 PciFuncNum;
48 | } EFI_TCG_SERVER_ACPI_TABLE;
49 |
50 | //
51 | // TCG Platform Type based on TCG ACPI Specification Version 1.00
52 | //
53 | #define TCG_PLATFORM_TYPE_CLIENT 0
54 | #define TCG_PLATFORM_TYPE_SERVER 1
55 |
56 | #pragma pack ()
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/Tpm2Acpi.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | TPM2 ACPI table definition.
3 |
4 | Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _TPM2_ACPI_H_
16 | #define _TPM2_ACPI_H_
17 |
18 | #include
19 |
20 | #pragma pack (1)
21 |
22 | #define EFI_TPM2_ACPI_TABLE_REVISION_3 3
23 | #define EFI_TPM2_ACPI_TABLE_REVISION_4 4
24 | #define EFI_TPM2_ACPI_TABLE_REVISION EFI_TPM2_ACPI_TABLE_REVISION_4
25 |
26 | typedef struct {
27 | EFI_ACPI_DESCRIPTION_HEADER Header;
28 | // Flags field is replaced in version 4 and above
29 | // BIT0~15: PlatformClass This field is only valid for version 4 and above
30 | // BIT16~31: Reserved
31 | UINT32 Flags;
32 | UINT64 AddressOfControlArea;
33 | UINT32 StartMethod;
34 | //UINT8 PlatformSpecificParameters[];
35 | } EFI_TPM2_ACPI_TABLE;
36 |
37 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2
38 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6
39 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7
40 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8
41 |
42 | typedef struct {
43 | UINT32 Reserved;
44 | UINT32 Error;
45 | UINT32 Cancel;
46 | UINT32 Start;
47 | UINT64 InterruptControl;
48 | UINT32 CommandSize;
49 | UINT64 Command;
50 | UINT32 ResponseSize;
51 | UINT64 Response;
52 | } EFI_TPM2_ACPI_CONTROL_AREA;
53 |
54 | #pragma pack ()
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/WatchdogResourceTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | ACPI Watchdog Resource Table (WDRT) as defined at
3 | Microsoft Windows Hardware Developer Central.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 | **/
14 |
15 | #ifndef _WATCHDOG_RESOURCE_TABLE_H_
16 | #define _WATCHDOG_RESOURCE_TABLE_H_
17 |
18 | #include
19 |
20 | //
21 | // Ensure proper structure formats
22 | //
23 | #pragma pack(1)
24 |
25 | ///
26 | /// Watchdog Resource Table definition.
27 | ///
28 | typedef struct {
29 | EFI_ACPI_DESCRIPTION_HEADER Header;
30 | EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ControlRegisterAddress;
31 | EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE CountRegisterAddress;
32 | UINT16 PCIDeviceID;
33 | UINT16 PCIVendorID;
34 | UINT8 PCIBusNumber;
35 | UINT8 PCIDeviceNumber;
36 | UINT8 PCIFunctionNumber;
37 | UINT8 PCISegment;
38 | UINT16 MaxCount;
39 | UINT8 Units;
40 | } EFI_ACPI_WATCHDOG_RESOURCE_1_0_TABLE;
41 |
42 | #pragma pack()
43 |
44 | //
45 | // WDRT Revision (defined in spec)
46 | //
47 | #define EFI_ACPI_WATCHDOG_RESOURCE_1_0_TABLE_REVISION 0x01
48 |
49 | //
50 | // WDRT 1.0 Count Unit
51 | //
52 | #define EFI_ACPI_WDRT_1_0_COUNT_UNIT_1_SEC_PER_COUNT 1
53 | #define EFI_ACPI_WDRT_1_0_COUNT_UNIT_100_MILLISEC_PER_COUNT 2
54 | #define EFI_ACPI_WDRT_1_0_COUNT_UNIT_10_MILLISEC_PER_COUNT 3
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/WindowsSmmSecurityMitigationTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Defines Windows SMM Security Mitigation Table
3 | @ https://msdn.microsoft.com/windows/hardware/drivers/bringup/acpi-system-description-tables#wsmt
4 |
5 | Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 |
17 | #ifndef _WINDOWS_SMM_SECURITY_MITIGATION_TABLE_H_
18 | #define _WINDOWS_SMM_SECURITY_MITIGATION_TABLE_H_
19 |
20 | #include
21 |
22 | #define EFI_ACPI_WINDOWS_SMM_SECURITY_MITIGATION_TABLE_SIGNATURE SIGNATURE_32('W', 'S', 'M', 'T')
23 |
24 | #pragma pack(1)
25 |
26 | #define EFI_WSMT_TABLE_REVISION 1
27 |
28 | typedef struct {
29 | EFI_ACPI_DESCRIPTION_HEADER Header;
30 | UINT32 ProtectionFlags;
31 | } EFI_ACPI_WSMT_TABLE;
32 |
33 | #define EFI_WSMT_PROTECTION_FLAGS_FIXED_COMM_BUFFERS 0x1
34 | #define EFI_WSMT_PROTECTION_FLAGS_COMM_BUFFER_NESTED_PTR_PROTECTION 0x2
35 | #define EFI_WSMT_PROTECTION_FLAGS_SYSTEM_RESOURCE_PROTECTION 0x4
36 |
37 | #pragma pack()
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/Include/IndustryStandard/WindowsUxCapsule.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Defines Windows UX Capsule GUID and layout defined at Microsoft
3 | Windows UEFI Firmware Update Platform specification
4 |
5 | Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 |
17 | #ifndef _WINDOWS_UX_CAPSULE_GUID_H_
18 | #define _WINDOWS_UX_CAPSULE_GUID_H_
19 |
20 | #pragma pack(1)
21 |
22 | typedef struct {
23 | UINT8 Version;
24 | UINT8 Checksum;
25 | UINT8 ImageType;
26 | UINT8 Reserved;
27 | UINT32 Mode;
28 | UINT32 OffsetX;
29 | UINT32 OffsetY;
30 | //UINT8 Image[];
31 | } DISPLAY_DISPLAY_PAYLOAD;
32 |
33 | typedef struct {
34 | EFI_CAPSULE_HEADER CapsuleHeader;
35 | DISPLAY_DISPLAY_PAYLOAD ImagePayload;
36 | } EFI_DISPLAY_CAPSULE;
37 |
38 | #pragma pack()
39 |
40 | #define WINDOWS_UX_CAPSULE_GUID \
41 | { \
42 | 0x3b8c8162, 0x188c, 0x46a4, { 0xae, 0xc9, 0xbe, 0x43, 0xf1, 0xd6, 0x56, 0x97} \
43 | }
44 |
45 | extern EFI_GUID gWindowsUxCapsuleGuid;
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/Include/Library/CpuLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides CPU architecture specific functions that can not be defined
3 | in the Base Library due to dependencies on the PAL Library
4 |
5 | The CPU Library provides services to flush CPU TLBs and place the CPU in a sleep state.
6 | The implementation of these services on Itanium processors requires the use of PAL Calls.
7 | PAL Calls require PEI and DXE specific mechanisms to look up PAL Entry Point.
8 | As a result, these services could not be defined in the Base Library.
9 |
10 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
11 | This program and the accompanying materials
12 | are licensed and made available under the terms and conditions of the BSD License
13 | which accompanies this distribution. The full text of the license may be found at
14 | http://opensource.org/licenses/bsd-license.php
15 |
16 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 |
19 | **/
20 |
21 | #ifndef __CPU_LIB_H__
22 | #define __CPU_LIB_H__
23 |
24 | /**
25 | Places the CPU in a sleep state until an interrupt is received.
26 |
27 | Places the CPU in a sleep state until an interrupt is received. If interrupts
28 | are disabled prior to calling this function, then the CPU will be placed in a
29 | sleep state indefinitely.
30 |
31 | **/
32 | VOID
33 | EFIAPI
34 | CpuSleep (
35 | VOID
36 | );
37 |
38 | /**
39 | Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
40 |
41 | Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
42 |
43 | **/
44 | VOID
45 | EFIAPI
46 | CpuFlushTlb (
47 | VOID
48 | );
49 |
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/Include/Library/DebugPrintErrorLevelLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Debug Print Error Level Library class
3 |
4 | Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 | #ifndef _DEBUG_PRINT_ERROR_LEVEL_LIB_H_
15 | #define _DEBUG_PRINT_ERROR_LEVEL_LIB_H_
16 |
17 | /**
18 | Returns the debug print error level mask for the current module.
19 |
20 | @return Debug print error level mask for the current module.
21 |
22 | **/
23 | UINT32
24 | EFIAPI
25 | GetDebugPrintErrorLevel (
26 | VOID
27 | );
28 |
29 | /**
30 | Sets the global debug print error level mask fpr the entire platform.
31 |
32 | @param ErrorLevel Global debug print error level
33 |
34 | @retval TRUE The debug print error level mask was successfully set.
35 | @retval FALSE The debug print error level mask could not be set.
36 |
37 | **/
38 | BOOLEAN
39 | EFIAPI
40 | SetDebugPrintErrorLevel (
41 | UINT32 ErrorLevel
42 | );
43 | #endif
44 |
--------------------------------------------------------------------------------
/Include/Library/DxeServicesTableLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a service to retrieve a pointer to the DXE Services Table.
3 | Only available to DXE module types.
4 |
5 | This library does not contain any functions or macros. It simply exports a global
6 | pointer to the DXE Services Table as defined in the Platform Initialization Driver
7 | Execution Environment Core Interface Specification. The library constructor must
8 | initialize this global pointer to the DX Services Table, so it is available at the
9 | module's entry point. Since there is overhead in looking up the pointer to the DXE
10 | Services Table, only those modules that actually require access to the DXE Services
11 | Table should use this library. This will typically be DXE Drivers that require GCD
12 | or Dispatcher services.
13 |
14 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
15 | This program and the accompanying materials
16 | are licensed and made available under the terms and conditions of the BSD License
17 | which accompanies this distribution. The full text of the license may be found at
18 | http://opensource.org/licenses/bsd-license.php
19 |
20 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 |
23 | **/
24 |
25 | #ifndef __DXE_SERVICES_TABLE_LIB_H__
26 | #define __DXE_SERVICES_TABLE_LIB_H__
27 |
28 | ///
29 | /// Cache copy of the DXE Services Table
30 | ///
31 | extern EFI_DXE_SERVICES *gDS;
32 |
33 | #endif
34 |
35 |
--------------------------------------------------------------------------------
/Include/Library/PciSegmentInfoLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides services to return segment information on a platform with multiple PCI segments.
3 |
4 | This library is consumed by PciSegmentLib to support multiple segment PCI configuration access.
5 |
6 | Copyright (c) 2017, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __PCI_SEGMENT_INFO_LIB__
18 | #define __PCI_SEGMENT_INFO_LIB__
19 |
20 | typedef struct {
21 | UINT16 SegmentNumber; ///< Segment number.
22 | UINT64 BaseAddress; ///< ECAM Base address.
23 | UINT8 StartBusNumber; ///< Start BUS number, for verifying the PCI Segment address.
24 | UINT8 EndBusNumber; ///< End BUS number, for verifying the PCI Segment address.
25 | } PCI_SEGMENT_INFO;
26 |
27 | /**
28 | Return an array of PCI_SEGMENT_INFO holding the segment information.
29 |
30 | Note: The returned array/buffer is owned by callee.
31 |
32 | @param Count Return the count of segments.
33 |
34 | @retval A callee owned array holding the segment information.
35 | **/
36 | PCI_SEGMENT_INFO *
37 | GetPciSegmentInfo (
38 | UINTN *Count
39 | );
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/Include/Library/PeCoffExtraActionLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides services to perform additional actions when a PE/COFF image is loaded
3 | or unloaded. This is useful for environment where symbols need to be loaded
4 | and unloaded to support source level debugging.
5 |
6 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __PE_COFF_EXTRA_ACTION_LIB_H__
18 | #define __PE_COFF_EXTRA_ACTION_LIB_H__
19 |
20 | #include
21 |
22 | /**
23 | Performs additional actions after a PE/COFF image has been loaded and relocated.
24 |
25 | If ImageContext is NULL, then ASSERT().
26 |
27 | @param ImageContext Pointer to the image context structure that describes the
28 | PE/COFF image that has already been loaded and relocated.
29 |
30 | **/
31 | VOID
32 | EFIAPI
33 | PeCoffLoaderRelocateImageExtraAction (
34 | IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
35 | );
36 |
37 | /**
38 | Performs additional actions just before a PE/COFF image is unloaded. Any resources
39 | that were allocated by PeCoffLoaderRelocateImageExtraAction() must be freed.
40 |
41 | If ImageContext is NULL, then ASSERT().
42 |
43 | @param ImageContext Pointer to the image context structure that describes the
44 | PE/COFF image that is being unloaded.
45 |
46 | **/
47 | VOID
48 | EFIAPI
49 | PeCoffLoaderUnloadImageExtraAction (
50 | IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
51 | );
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/Include/Library/PeiServicesTablePointerLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a service to retrieve a pointer to the PEI Services Table.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __PEI_SERVICES_TABLE_POINTER_LIB_H__
16 | #define __PEI_SERVICES_TABLE_POINTER_LIB_H__
17 |
18 | /**
19 | Retrieves the cached value of the PEI Services Table pointer.
20 |
21 | Returns the cached value of the PEI Services Table pointer in a CPU specific manner
22 | as specified in the CPU binding section of the Platform Initialization Pre-EFI
23 | Initialization Core Interface Specification.
24 |
25 | If the cached PEI Services Table pointer is NULL, then ASSERT().
26 |
27 | @return The pointer to PeiServices.
28 |
29 | **/
30 | CONST EFI_PEI_SERVICES **
31 | EFIAPI
32 | GetPeiServicesTablePointer (
33 | VOID
34 | );
35 |
36 | /**
37 | Caches a pointer PEI Services Table.
38 |
39 | Caches the pointer to the PEI Services Table specified by PeiServicesTablePointer
40 | in a CPU specific manner as specified in the CPU binding section of the Platform Initialization
41 | Pre-EFI Initialization Core Interface Specification.
42 |
43 | If PeiServicesTablePointer is NULL, then ASSERT().
44 |
45 | @param PeiServicesTablePointer The address of PeiServices pointer.
46 | **/
47 | VOID
48 | EFIAPI
49 | SetPeiServicesTablePointer (
50 | IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer
51 | );
52 |
53 | /**
54 | Perform CPU specific actions required to migrate the PEI Services Table
55 | pointer from temporary RAM to permanent RAM.
56 |
57 | For IA32 CPUs, the PEI Services Table pointer is stored in the 4 bytes
58 | immediately preceding the Interrupt Descriptor Table (IDT) in memory.
59 | For X64 CPUs, the PEI Services Table pointer is stored in the 8 bytes
60 | immediately preceding the Interrupt Descriptor Table (IDT) in memory.
61 | For Itanium and ARM CPUs, a the PEI Services Table Pointer is stored in
62 | a dedicated CPU register. This means that there is no memory storage
63 | associated with storing the PEI Services Table pointer, so no additional
64 | migration actions are required for Itanium or ARM CPUs.
65 |
66 | **/
67 | VOID
68 | EFIAPI
69 | MigratePeiServicesTablePointer (
70 | VOID
71 | );
72 |
73 | #endif
74 |
75 |
--------------------------------------------------------------------------------
/Include/Library/ResourcePublicationLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a service to publish discovered system resources.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __RESOURCE_PUBLICATION_LIB__
16 | #define __RESOURCE_PUBLICATION_LIB__
17 |
18 | /**
19 | Declares the presence of permanent system memory in the platform.
20 |
21 | Declares that the system memory buffer specified by MemoryBegin and MemoryLength
22 | as permanent memory that may be used for general purpose use by software.
23 | The amount of memory available to software may be less than MemoryLength
24 | if published memory has alignment restrictions.
25 | If MemoryLength is 0, then ASSERT().
26 | If MemoryLength is greater than (MAX_ADDRESS - MemoryBegin + 1), then ASSERT().
27 |
28 | @param MemoryBegin The start address of the memory being declared.
29 | @param MemoryLength The number of bytes of memory being declared.
30 |
31 | @retval RETURN_SUCCESS The memory buffer was published.
32 | @retval RETURN_OUT_OF_RESOURCES There are not enough resources to publish the memory buffer
33 |
34 | **/
35 | RETURN_STATUS
36 | EFIAPI
37 | PublishSystemMemory (
38 | IN PHYSICAL_ADDRESS MemoryBegin,
39 | IN UINT64 MemoryLength
40 | );
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/Include/Library/RngLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides random number generator services.
3 |
4 | Copyright (c) 2015, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __RNG_LIB_H__
16 | #define __RNG_LIB_H__
17 |
18 | /**
19 | Generates a 16-bit random number.
20 |
21 | if Rand is NULL, then ASSERT().
22 |
23 | @param[out] Rand Buffer pointer to store the 16-bit random value.
24 |
25 | @retval TRUE Random number generated successfully.
26 | @retval FALSE Failed to generate the random number.
27 |
28 | **/
29 | BOOLEAN
30 | EFIAPI
31 | GetRandomNumber16 (
32 | OUT UINT16 *Rand
33 | );
34 |
35 | /**
36 | Generates a 32-bit random number.
37 |
38 | if Rand is NULL, then ASSERT().
39 |
40 | @param[out] Rand Buffer pointer to store the 32-bit random value.
41 |
42 | @retval TRUE Random number generated successfully.
43 | @retval FALSE Failed to generate the random number.
44 |
45 | **/
46 | BOOLEAN
47 | EFIAPI
48 | GetRandomNumber32 (
49 | OUT UINT32 *Rand
50 | );
51 |
52 | /**
53 | Generates a 64-bit random number.
54 |
55 | if Rand is NULL, then ASSERT().
56 |
57 | @param[out] Rand Buffer pointer to store the 64-bit random value.
58 |
59 | @retval TRUE Random number generated successfully.
60 | @retval FALSE Failed to generate the random number.
61 |
62 | **/
63 | BOOLEAN
64 | EFIAPI
65 | GetRandomNumber64 (
66 | OUT UINT64 *Rand
67 | );
68 |
69 | /**
70 | Generates a 128-bit random number.
71 |
72 | if Rand is NULL, then ASSERT().
73 |
74 | @param[out] Rand Buffer pointer to store the 128-bit random value.
75 |
76 | @retval TRUE Random number generated successfully.
77 | @retval FALSE Failed to generate the random number.
78 |
79 | **/
80 | BOOLEAN
81 | EFIAPI
82 | GetRandomNumber128 (
83 | OUT UINT64 *Rand
84 | );
85 |
86 | #endif // __RNG_LIB_H__
87 |
--------------------------------------------------------------------------------
/Include/Library/S3StallLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Stall Services that perform stalls and also enable the Stall operatation
3 | to be replayed during an S3 resume. This library class maps directly on top
4 | of the Timer class.
5 |
6 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
7 |
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions
10 | of the BSD License which accompanies this distribution. The
11 | full text of the license may be found at
12 | http://opensource.org/licenses/bsd-license.php
13 |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 |
17 | **/
18 |
19 | #ifndef __S3_STALL_LIB_H__
20 | #define __S3_STALL_LIB_H__
21 |
22 | /**
23 | Stalls the CPU for at least the given number of microseconds and saves
24 | the value in the S3 script to be replayed on S3 resume.
25 |
26 | Stalls the CPU for the number of microseconds specified by MicroSeconds.
27 |
28 | @param[in] MicroSeconds The minimum number of microseconds to delay.
29 |
30 | @return MicroSeconds.
31 |
32 | **/
33 | UINTN
34 | EFIAPI
35 | S3Stall (
36 | IN UINTN MicroSeconds
37 | );
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/Include/Library/SalLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides library services to make SAL Calls.
3 |
4 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __SAL_LIB__
16 | #define __SAL_LIB__
17 |
18 | #include
19 |
20 | /**
21 | Makes a SAL procedure call.
22 |
23 | This is a wrapper function to make a SAL procedure call.
24 | No parameter checking is performed on the 8 input parameters,
25 | but there are some common rules that the caller should follow
26 | when making a SAL call. Any address passed to SAL as buffers
27 | for return parameters must be 8-byte aligned. Unaligned
28 | addresses may cause undefined results. For those parameters
29 | defined as reserved or some fields defined as reserved must be
30 | zero filled or the invalid argument return value may be returned
31 | or undefined result may occur during the execution of the procedure.
32 | This function is only available on Intel Itanium-based platforms.
33 |
34 | @param Index The SAL procedure Index number
35 | @param Arg2 The 2nd parameter for SAL procedure calls
36 | @param Arg3 The 3rd parameter for SAL procedure calls
37 | @param Arg4 The 4th parameter for SAL procedure calls
38 | @param Arg5 The 5th parameter for SAL procedure calls
39 | @param Arg6 The 6th parameter for SAL procedure calls
40 | @param Arg7 The 7th parameter for SAL procedure calls
41 | @param Arg8 The 8th parameter for SAL procedure calls
42 |
43 | @return SAL returned registers.
44 |
45 | **/
46 | SAL_RETURN_REGS
47 | EFIAPI
48 | SalCall (
49 | IN UINT64 Index,
50 | IN UINT64 Arg2,
51 | IN UINT64 Arg3,
52 | IN UINT64 Arg4,
53 | IN UINT64 Arg5,
54 | IN UINT64 Arg6,
55 | IN UINT64 Arg7,
56 | IN UINT64 Arg8
57 | );
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/Include/Library/SmmIoLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides services for SMM IO Operation.
3 |
4 | The SMM IO Library provides function for checking if IO resource is accessible inside of SMM.
5 |
6 | Copyright (c) 2017, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _SMM_IO_LIB_H_
18 | #define _SMM_IO_LIB_H_
19 |
20 | /**
21 | This function check if the MMIO resource is valid per processor architecture and
22 | valid per platform design.
23 |
24 | @param BaseAddress The MMIO start address to be checked.
25 | @param Length The MMIO length to be checked.
26 | @param Owner A GUID representing the owner of the resource.
27 | This GUID may be used by producer to correlate the device ownership of the resource.
28 | NULL means no specific owner.
29 |
30 | @retval TRUE This MMIO resource is valid per processor architecture and valid per platform design.
31 | @retval FALSE This MMIO resource is not valid per processor architecture or valid per platform design.
32 | **/
33 | BOOLEAN
34 | EFIAPI
35 | SmmIsMmioValid (
36 | IN EFI_PHYSICAL_ADDRESS BaseAddress,
37 | IN UINT64 Length,
38 | IN EFI_GUID *Owner OPTIONAL
39 | );
40 |
41 | #endif
42 |
43 |
--------------------------------------------------------------------------------
/Include/Library/SmmLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Library class name: SmmLib
3 |
4 | SMM Library Services that abstracts both S/W SMI generation and detection.
5 |
6 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __SMM_LIB_H__
18 | #define __SMM_LIB_H__
19 |
20 |
21 | /**
22 | Triggers an SMI at boot time.
23 |
24 | This function triggers a software SMM interrupt at boot time.
25 |
26 | **/
27 | VOID
28 | EFIAPI
29 | TriggerBootServiceSoftwareSmi (
30 | VOID
31 | );
32 |
33 |
34 | /**
35 | Triggers an SMI at run time.
36 |
37 | This function triggers a software SMM interrupt at run time.
38 |
39 | **/
40 | VOID
41 | EFIAPI
42 | TriggerRuntimeSoftwareSmi (
43 | VOID
44 | );
45 |
46 |
47 | /**
48 | Test if a boot time software SMI happened.
49 |
50 | This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and
51 | it was triggered at boot time, it returns TRUE. Otherwise, it returns FALSE.
52 |
53 | @retval TRUE A software SMI triggered at boot time happened.
54 | @retval FLASE No software SMI happened, or the software SMI was triggered at run time.
55 |
56 | **/
57 | BOOLEAN
58 | EFIAPI
59 | IsBootServiceSoftwareSmi (
60 | VOID
61 | );
62 |
63 |
64 | /**
65 | Test if a run time software SMI happened.
66 |
67 | This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and
68 | it was triggered at run time, it returns TRUE. Otherwise, it returns FALSE.
69 |
70 | @retval TRUE A software SMI triggered at run time happened.
71 | @retval FLASE No software SMI happened or the software SMI was triggered at boot time.
72 |
73 | **/
74 | BOOLEAN
75 | EFIAPI
76 | IsRuntimeSoftwareSmi (
77 | VOID
78 | );
79 |
80 | /**
81 | Clear APM SMI Status Bit; Set the EOS bit.
82 |
83 | **/
84 | VOID
85 | EFIAPI
86 | ClearSmi (
87 | VOID
88 | );
89 | #endif
90 |
--------------------------------------------------------------------------------
/Include/Library/SmmServicesTableLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a service to retrieve a pointer to the SMM Services Table.
3 | Only available to SMM module types.
4 |
5 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef __SMM_SERVICES_TABLE_LIB_H__
17 | #define __SMM_SERVICES_TABLE_LIB_H__
18 |
19 | #include
20 |
21 | ///
22 | /// Cache pointer to the SMM Services Table
23 | ///
24 | extern EFI_SMM_SYSTEM_TABLE2 *gSmst;
25 |
26 | /**
27 | This function allows the caller to determine if the driver is executing in
28 | System Management Mode(SMM).
29 |
30 | This function returns TRUE if the driver is executing in SMM and FALSE if the
31 | driver is not executing in SMM.
32 |
33 | @retval TRUE The driver is executing in System Management Mode (SMM).
34 | @retval FALSE The driver is not executing in System Management Mode (SMM).
35 |
36 | **/
37 | BOOLEAN
38 | EFIAPI
39 | InSmm (
40 | VOID
41 | );
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/Include/Library/UefiBootServicesTableLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a service to retrieve a pointer to the EFI Boot Services Table.
3 | Only available to DXE and UEFI module types.
4 |
5 | Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef __UEFI_BOOT_SERVICES_TABLE_LIB_H__
17 | #define __UEFI_BOOT_SERVICES_TABLE_LIB_H__
18 |
19 | ///
20 | /// Cache the Image Handle
21 | ///
22 | extern EFI_HANDLE gImageHandle;
23 |
24 | ///
25 | /// Cache pointer to the EFI System Table
26 | ///
27 | extern EFI_SYSTEM_TABLE *gST;
28 |
29 | ///
30 | /// Cache pointer to the EFI Boot Services Table
31 | ///
32 | extern EFI_BOOT_SERVICES *gBS;
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/Include/Library/UefiRuntimeServicesTableLib.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Provides a service to retrieve a pointer to the EFI Runtime Services Table.
3 |
4 | This library does not contain any functions or macros. It simply exports the
5 | global variable gRT that is a pointer to the EFI Runtime Services Table as defined
6 | in the UEFI Specification. The global variable gRT must be preinitialized to NULL.
7 | The library constructor must set gRT to point at the EFI Runtime Services Table so
8 | it is available at the module's entry point. Since there is overhead in initializing
9 | this global variable, only those modules that actually require access to the EFI
10 | Runtime Services Table should use this library.
11 | Only available to DXE and UEFI module types.
12 |
13 | Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
14 | This program and the accompanying materials
15 | are licensed and made available under the terms and conditions of the BSD License
16 | which accompanies this distribution. The full text of the license may be found at
17 | http://opensource.org/licenses/bsd-license.php
18 |
19 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
20 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 |
22 | **/
23 |
24 | #ifndef __UEFI_RUNTIME_SERVICES_TABLE_LIB_H__
25 | #define __UEFI_RUNTIME_SERVICES_TABLE_LIB_H__
26 |
27 | ///
28 | /// Cached copy of the EFI Runtime Services Table
29 | ///
30 | extern EFI_RUNTIME_SERVICES *gRT;
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Include/Pi/PiBootMode.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Present the boot mode values in PI.
3 |
4 | Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
5 | 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 | PI Version 1.2.1A
15 |
16 | **/
17 |
18 | #ifndef __PI_BOOT_MODE_H__
19 | #define __PI_BOOT_MODE_H__
20 |
21 | ///
22 | /// EFI boot mode
23 | ///
24 | typedef UINT32 EFI_BOOT_MODE;
25 |
26 | //
27 | // 0x21 - 0xf..f are reserved.
28 | //
29 | #define BOOT_WITH_FULL_CONFIGURATION 0x00
30 | #define BOOT_WITH_MINIMAL_CONFIGURATION 0x01
31 | #define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES 0x02
32 | #define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS 0x03
33 | #define BOOT_WITH_DEFAULT_SETTINGS 0x04
34 | #define BOOT_ON_S4_RESUME 0x05
35 | #define BOOT_ON_S5_RESUME 0x06
36 | #define BOOT_WITH_MFG_MODE_SETTINGS 0x07
37 | #define BOOT_ON_S2_RESUME 0x10
38 | #define BOOT_ON_S3_RESUME 0x11
39 | #define BOOT_ON_FLASH_UPDATE 0x12
40 | #define BOOT_IN_RECOVERY_MODE 0x20
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/Include/Pi/PiDependency.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Present the dependency expression values in PI.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | PI Version 1.0
15 |
16 | **/
17 | #ifndef __PI_DEPENDENCY_H__
18 | #define __PI_DEPENDENCY_H__
19 |
20 | ///
21 | /// If present, this must be the first and only opcode,
22 | /// EFI_DEP_BEFORE may be used by DXE and SMM drivers.
23 | ///
24 | #define EFI_DEP_BEFORE 0x00
25 |
26 | ///
27 | /// If present, this must be the first and only opcode,
28 | /// EFI_DEP_AFTER may be used by DXE and SMM drivers.
29 | ///
30 | #define EFI_DEP_AFTER 0x01
31 |
32 | #define EFI_DEP_PUSH 0x02
33 | #define EFI_DEP_AND 0x03
34 | #define EFI_DEP_OR 0x04
35 | #define EFI_DEP_NOT 0x05
36 | #define EFI_DEP_TRUE 0x06
37 | #define EFI_DEP_FALSE 0x07
38 | #define EFI_DEP_END 0x08
39 |
40 |
41 | ///
42 | /// If present, this must be the first opcode,
43 | /// EFI_DEP_SOR is only used by DXE driver.
44 | ///
45 | #define EFI_DEP_SOR 0x09
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/Include/Pi/PiS3BootScript.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file contains the boot script defintions that are shared between the
3 | Boot Script Executor PPI and the Boot Script Save Protocol.
4 |
5 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef _PI_S3_BOOT_SCRIPT_H_
17 | #define _PI_S3_BOOT_SCRIPT_H_
18 |
19 | //*******************************************
20 | // EFI Boot Script Opcode definitions
21 | //*******************************************
22 | #define EFI_BOOT_SCRIPT_IO_WRITE_OPCODE 0x00
23 | #define EFI_BOOT_SCRIPT_IO_READ_WRITE_OPCODE 0x01
24 | #define EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE 0x02
25 | #define EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE 0x03
26 | #define EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE_OPCODE 0x04
27 | #define EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE 0x05
28 | #define EFI_BOOT_SCRIPT_SMBUS_EXECUTE_OPCODE 0x06
29 | #define EFI_BOOT_SCRIPT_STALL_OPCODE 0x07
30 | #define EFI_BOOT_SCRIPT_DISPATCH_OPCODE 0x08
31 | #define EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE 0x09
32 | #define EFI_BOOT_SCRIPT_INFORMATION_OPCODE 0x0A
33 | #define EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_OPCODE 0x0B
34 | #define EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE_OPCODE 0x0C
35 | #define EFI_BOOT_SCRIPT_IO_POLL_OPCODE 0x0D
36 | #define EFI_BOOT_SCRIPT_MEM_POLL_OPCODE 0x0E
37 | #define EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE 0x0F
38 | #define EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL_OPCODE 0x10
39 |
40 | //*******************************************
41 | // EFI_BOOT_SCRIPT_WIDTH
42 | //*******************************************
43 | typedef enum {
44 | EfiBootScriptWidthUint8,
45 | EfiBootScriptWidthUint16,
46 | EfiBootScriptWidthUint32,
47 | EfiBootScriptWidthUint64,
48 | EfiBootScriptWidthFifoUint8,
49 | EfiBootScriptWidthFifoUint16,
50 | EfiBootScriptWidthFifoUint32,
51 | EfiBootScriptWidthFifoUint64,
52 | EfiBootScriptWidthFillUint8,
53 | EfiBootScriptWidthFillUint16,
54 | EfiBootScriptWidthFillUint32,
55 | EfiBootScriptWidthFillUint64,
56 | EfiBootScriptWidthMaximum
57 | } EFI_BOOT_SCRIPT_WIDTH;
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/Include/PiDxe.h:
--------------------------------------------------------------------------------
1 | /** @file
2 |
3 | Root include file for Mde Package DXE_CORE, DXE, RUNTIME, SMM, SAL type modules.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials are licensed and made available under
7 | the terms and conditions of the BSD License that accompanies this distribution.
8 | The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php.
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef __PI_DXE_H__
17 | #define __PI_DXE_H__
18 |
19 | #include
20 | #include
21 |
22 | #include
23 |
24 | #endif
25 |
26 |
--------------------------------------------------------------------------------
/Include/PiMm.h:
--------------------------------------------------------------------------------
1 | /** @file
2 |
3 | Root include file for Mde Package MM modules.
4 |
5 | Copyright (c) 2017, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials are licensed and made available under
7 | the terms and conditions of the BSD License that accompanies this distribution.
8 | The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php.
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef __PI_MM_H__
17 | #define __PI_MM_H__
18 |
19 | #include
20 | #include
21 |
22 | #include
23 |
24 | #endif
25 |
26 |
--------------------------------------------------------------------------------
/Include/PiPei.h:
--------------------------------------------------------------------------------
1 | /** @file
2 |
3 | Root include file for Mde Package SEC, PEIM, PEI_CORE type modules.
4 |
5 | This is the include file for any module of type PEIM. PEIM
6 | modules only use types defined via this include file and can
7 | be ported easily to any environment.
8 |
9 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
10 | This program and the accompanying materials are licensed and made available under
11 | the terms and conditions of the BSD License that accompanies this distribution.
12 | The full text of the license may be found at
13 | http://opensource.org/licenses/bsd-license.php.
14 |
15 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 |
18 | **/
19 |
20 | #ifndef __PI_PEI_H__
21 | #define __PI_PEI_H__
22 |
23 | #include
24 | #include
25 |
26 | #endif
27 |
28 |
--------------------------------------------------------------------------------
/Include/PiSmm.h:
--------------------------------------------------------------------------------
1 | /** @file
2 |
3 | Root include file for Mde Package SMM modules.
4 |
5 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials are licensed and made available under
7 | the terms and conditions of the BSD License that accompanies this distribution.
8 | The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php.
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef __PI_SMM_H__
17 | #define __PI_SMM_H__
18 |
19 | #include
20 | #include
21 |
22 | #include
23 |
24 | #endif
25 |
26 |
--------------------------------------------------------------------------------
/Include/Ppi/BootInRecoveryMode.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This PPI is installed by the platform PEIM to designate that a recovery boot
3 | is in progress.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This PPI is introduced in PI Version 1.0.
16 |
17 | **/
18 |
19 | #ifndef __BOOT_IN_RECOVERY_MODE_PPI_H__
20 | #define __BOOT_IN_RECOVERY_MODE_PPI_H__
21 |
22 | #define EFI_PEI_BOOT_IN_RECOVERY_MODE_PPI \
23 | { \
24 | 0x17ee496a, 0xd8e4, 0x4b9a, {0x94, 0xd1, 0xce, 0x82, 0x72, 0x30, 0x8, 0x50 } \
25 | }
26 |
27 |
28 | extern EFI_GUID gEfiPeiBootInRecoveryModePpiGuid;
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Include/Ppi/DxeIpl.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares DXE Initial Program Load PPI.
3 | When the PEI core is done it calls the DXE IPL PPI to load the DXE Foundation.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This PPI is introduced in PI Version 1.0.
16 |
17 | **/
18 |
19 | #ifndef __DXE_IPL_H__
20 | #define __DXE_IPL_H__
21 |
22 | #define EFI_DXE_IPL_PPI_GUID \
23 | { \
24 | 0xae8ce5d, 0xe448, 0x4437, {0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 } \
25 | }
26 |
27 | typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI;
28 |
29 | /**
30 | The architectural PPI that the PEI Foundation invokes when
31 | there are no additional PEIMs to invoke.
32 |
33 | This function is invoked by the PEI Foundation.
34 | The PEI Foundation will invoke this service when there are
35 | no additional PEIMs to invoke in the system.
36 | If this PPI does not exist, it is an error condition and
37 | an ill-formed firmware set. The DXE IPL PPI should never
38 | return after having been invoked by the PEI Foundation.
39 | The DXE IPL PPI can do many things internally, including the following:
40 | - Invoke the DXE entry point from a firmware volume
41 | - Invoke the recovery processing modules
42 | - Invoke the S3 resume modules
43 |
44 | @param This Pointer to the DXE IPL PPI instance
45 | @param PeiServices Pointer to the PEI Services Table.
46 | @param HobList Pointer to the list of Hand-Off Block (HOB) entries.
47 |
48 | @retval EFI_SUCCESS Upon this return code, the PEI Foundation should enter
49 | some exception handling.Under normal circumstances,
50 | the DXE IPL PPI should not return.
51 |
52 | **/
53 | typedef
54 | EFI_STATUS
55 | (EFIAPI *EFI_DXE_IPL_ENTRY)(
56 | IN CONST EFI_DXE_IPL_PPI *This,
57 | IN EFI_PEI_SERVICES **PeiServices,
58 | IN EFI_PEI_HOB_POINTERS HobList
59 | );
60 |
61 | ///
62 | /// Final service to be invoked by the PEI Foundation.
63 | /// The DXE IPL PPI is responsible for locating and loading the DXE Foundation.
64 | /// The DXE IPL PPI may use PEI services to locate and load the DXE Foundation.
65 | ///
66 | struct _EFI_DXE_IPL_PPI {
67 | EFI_DXE_IPL_ENTRY Entry;
68 | };
69 |
70 | extern EFI_GUID gEfiDxeIplPpiGuid;
71 |
72 | #endif
73 |
--------------------------------------------------------------------------------
/Include/Ppi/EndOfPeiPhase.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This PPI will be installed at the end of PEI for all boot paths, including
3 | normal, recovery, and S3. It allows for PEIMs to possibly quiesce hardware,
4 | build handoff information for the next phase of execution,
5 | or provide some terminal processing behavior.
6 |
7 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This PPI is introduced in PI Version 1.0.
18 |
19 | **/
20 |
21 | #ifndef __END_OF_PEI_PHASE_PPI_H__
22 | #define __END_OF_PEI_PHASE_PPI_H__
23 |
24 | #define EFI_PEI_END_OF_PEI_PHASE_PPI_GUID \
25 | { \
26 | 0x605EA650, 0xC65C, 0x42e1, {0xBA, 0x80, 0x91, 0xA5, 0x2A, 0xB6, 0x18, 0xC6 } \
27 | }
28 |
29 | extern EFI_GUID gEfiEndOfPeiSignalPpiGuid;
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/Include/Ppi/FirmwareVolumeInfo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file provides location and format of a firmware volume.
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | This PPI is introduced in PI Version 1.0.
15 |
16 | **/
17 |
18 | #ifndef __EFI_PEI_FIRMWARE_VOLUME_INFO_H__
19 | #define __EFI_PEI_FIRMWARE_VOLUME_INFO_H__
20 |
21 |
22 |
23 | #define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
24 | { 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
25 |
26 | typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
27 |
28 | ///
29 | /// This PPI describes the location and format of a firmware volume.
30 | /// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
31 | /// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is
32 | /// the PI Firmware Volume format.
33 | ///
34 | struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
35 | ///
36 | /// Unique identifier of the format of the memory-mapped firmware volume.
37 | ///
38 | EFI_GUID FvFormat;
39 | ///
40 | /// Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to process
41 | /// the volume. The format of this buffer is specific to the FvFormat.
42 | /// For memory-mapped firmware volumes, this typically points to the first byte
43 | /// of the firmware volume.
44 | ///
45 | VOID *FvInfo;
46 | ///
47 | /// Size of the data provided by FvInfo. For memory-mapped firmware volumes,
48 | /// this is typically the size of the firmware volume.
49 | ///
50 | UINT32 FvInfoSize;
51 | ///
52 | /// If the firmware volume originally came from a firmware file, then these
53 | /// point to the parent firmware volume name and firmware volume file.
54 | /// If it did not originally come from a firmware file, these should be NULL.
55 | ///
56 | EFI_GUID *ParentFvName;
57 | ///
58 | /// If the firmware volume originally came from a firmware file, then these
59 | /// point to the parent firmware volume name and firmware volume file.
60 | /// If it did not originally come from a firmware file, these should be NULL.
61 | ///
62 | EFI_GUID *ParentFileName;
63 | };
64 |
65 | extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
66 |
67 | #endif
68 |
69 |
--------------------------------------------------------------------------------
/Include/Ppi/LoadImage.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | The file describes the PPI which notifies other drivers
3 | of the PEIM being initialized by the PEI Dispatcher.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This PPI is introduced in PI Version 1.0.
16 |
17 | **/
18 |
19 | #ifndef __LOADED_IMAGE_PPI_H__
20 | #define __LOADED_IMAGE_PPI_H__
21 |
22 | #define EFI_PEI_LOADED_IMAGE_PPI_GUID \
23 | { 0xc1fcd448, 0x6300, 0x4458, { 0xb8, 0x64, 0x28, 0xdf, 0x1, 0x53, 0x64, 0xbc } }
24 |
25 |
26 | typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI;
27 |
28 | ///
29 | /// This interface is installed by the PEI Dispatcher after the image has been
30 | /// loaded and after all security checks have been performed,
31 | /// to notify other PEIMs of the files which are being loaded.
32 | ///
33 | struct _EFI_PEI_LOADED_IMAGE_PPI {
34 | ///
35 | /// Address of the image at the address where it will be executed.
36 | ///
37 | EFI_PHYSICAL_ADDRESS ImageAddress;
38 | ///
39 | /// Size of the image as it will be executed.
40 | ///
41 | UINT64 ImageSize;
42 | ///
43 | /// File handle from which the image was loaded.
44 | /// Can be NULL, indicating the image was not loaded from a handle.
45 | ///
46 | EFI_PEI_FILE_HANDLE FileHandle;
47 | };
48 |
49 |
50 | extern EFI_GUID gEfiPeiLoadedImagePpiGuid;
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/Include/Ppi/MasterBootMode.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Boot Mode PPI.
3 |
4 | The Master Boot Mode PPI is installed by a PEIM to signal that a final
5 | boot has been determined and set. This signal is useful in that PEIMs
6 | with boot-mode-specific behavior can put this PPI in their dependency expression.
7 |
8 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
9 | This program and the accompanying materials
10 | are licensed and made available under the terms and conditions of the BSD License
11 | which accompanies this distribution. The full text of the license may be found at
12 | http://opensource.org/licenses/bsd-license.php
13 |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 |
17 | @par Revision Reference:
18 | This PPI is introduced in PI Version 1.0.
19 |
20 | **/
21 |
22 | #ifndef __MASTER_BOOT_MODE_PPI_H__
23 | #define __MASTER_BOOT_MODE_PPI_H__
24 |
25 | #define EFI_PEI_MASTER_BOOT_MODE_PEIM_PPI \
26 | { \
27 | 0x7408d748, 0xfc8c, 0x4ee6, {0x92, 0x88, 0xc4, 0xbe, 0xc0, 0x92, 0xa4, 0x10 } \
28 | }
29 |
30 | extern EFI_GUID gEfiPeiMasterBootModePpiGuid;
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Include/Ppi/MemoryDiscovered.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Memory Discovered PPI.
3 |
4 | This PPI is published by the PEI Foundation when the main memory is installed.
5 | It is essentially a PPI with no associated interface. Its purpose is to be used
6 | as a signal for other PEIMs who can register for a notification on its installation.
7 |
8 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
9 | This program and the accompanying materials
10 | are licensed and made available under the terms and conditions of the BSD License
11 | which accompanies this distribution. The full text of the license may be found at
12 | http://opensource.org/licenses/bsd-license.php
13 |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 |
17 | @par Revision Reference:
18 | This PPI is introduced in PI Version 1.0.
19 |
20 | **/
21 |
22 | #ifndef __PEI_MEMORY_DISCOVERED_PPI_H__
23 | #define __PEI_MEMORY_DISCOVERED_PPI_H__
24 |
25 | #define EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID \
26 | { \
27 | 0xf894643d, 0xc449, 0x42d1, {0x8e, 0xa8, 0x85, 0xbd, 0xd8, 0xc6, 0x5b, 0xde } \
28 | }
29 |
30 | extern EFI_GUID gEfiPeiMemoryDiscoveredPpiGuid;
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Include/Ppi/Reset.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Reset PPI used to reset the platform.
3 |
4 | This PPI is installed by some platform- or chipset-specific PEIM that
5 | abstracts the Reset Service to other agents.
6 |
7 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This PPI is introduced in PI Version 1.0.
18 |
19 | **/
20 |
21 | #ifndef __RESET_PPI_H__
22 | #define __RESET_PPI_H__
23 |
24 | #define EFI_PEI_RESET_PPI_GUID \
25 | { \
26 | 0xef398d58, 0x9dfd, 0x4103, {0xbf, 0x94, 0x78, 0xc6, 0xf4, 0xfe, 0x71, 0x2f } \
27 | }
28 |
29 | //
30 | // EFI_PEI_RESET_PPI.ResetSystem() is equivalent to the
31 | // PEI Service ResetSystem().
32 | // It is introduced in PIPeiCis.h.
33 | //
34 |
35 | ///
36 | /// This PPI provides provide a simple reset service.
37 | ///
38 | typedef struct {
39 | EFI_PEI_RESET_SYSTEM ResetSystem;
40 | } EFI_PEI_RESET_PPI;
41 |
42 | extern EFI_GUID gEfiPeiResetPpiGuid;
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/Include/Ppi/Reset2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Reset2 PPI used to reset the platform.
3 |
4 | This PPI is installed by some platform- or chipset-specific PEIM that
5 | abstracts the Reset Service to other agents.
6 |
7 | Copyright (c) 2015, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This PPI is introduced in PI Version 1.4.
18 |
19 | **/
20 |
21 | #ifndef __RESET2_PPI_H__
22 | #define __RESET2_PPI_H__
23 |
24 | #define EFI_PEI_RESET2_PPI_GUID \
25 | { \
26 | 0x6cc45765, 0xcce4, 0x42fd, {0xbc, 0x56, 0x1, 0x1a, 0xaa, 0xc6, 0xc9, 0xa8 } \
27 | }
28 |
29 | ///
30 | /// This PPI provides provide a simple reset service.
31 | ///
32 | typedef struct _EFI_PEI_RESET2_PPI {
33 | EFI_PEI_RESET2_SYSTEM ResetSystem;
34 | } EFI_PEI_RESET2_PPI;
35 |
36 | extern EFI_GUID gEfiPeiReset2PpiGuid;
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/Include/Ppi/SecHobData.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Sec Hob Data PPI.
3 |
4 | This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list.
5 |
6 | Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials are licensed and made available under
8 | the terms and conditions of the BSD License that accompanies this distribution.
9 | The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php.
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | This PPI is introduced in PI Version 1.5.
17 |
18 | **/
19 |
20 | #ifndef __SEC_HOB_DATA_PPI_H__
21 | #define __SEC_HOB_DATA_PPI_H__
22 |
23 | #include
24 |
25 | #define EFI_SEC_HOB_DATA_PPI_GUID \
26 | { \
27 | 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } \
28 | }
29 |
30 | typedef struct _EFI_SEC_HOB_DATA_PPI EFI_SEC_HOB_DATA_PPI;
31 |
32 | /**
33 | Return a pointer to a buffer containing zero or more HOBs that
34 | will be installed into the PEI HOB List.
35 |
36 | This function returns a pointer to a pointer to zero or more HOBs,
37 | terminated with a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
38 | Note: The HobList must not contain a EFI_HOB_HANDOFF_INFO_TABLE HOB (PHIT) HOB.
39 |
40 | @param[in] This Pointer to this PPI structure.
41 | @param[out] HobList A pointer to a returned pointer to zero or more HOBs.
42 | If no HOBs are to be returned, then the returned pointer
43 | is a pointer to a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
44 |
45 | @retval EFI_SUCCESS This function completed successfully.
46 | @retval EFI_NOT_FOUND No HOBS are available.
47 |
48 | **/
49 | typedef
50 | EFI_STATUS
51 | (EFIAPI *EFI_SEC_HOB_DATA_GET) (
52 | IN CONST EFI_SEC_HOB_DATA_PPI *This,
53 | OUT EFI_HOB_GENERIC_HEADER **HobList
54 | );
55 |
56 | ///
57 | /// This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list.
58 | ///
59 | struct _EFI_SEC_HOB_DATA_PPI {
60 | EFI_SEC_HOB_DATA_GET GetHobs;
61 | };
62 |
63 | extern EFI_GUID gEfiSecHobDataPpiGuid;
64 |
65 | #endif
66 |
--------------------------------------------------------------------------------
/Include/Ppi/Stall.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Stall PPI.
3 |
4 | This ppi abstracts the blocking stall service to other agents.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | @par Revision Reference:
16 | This PPI is introduced in PI Version 1.0.
17 |
18 | **/
19 |
20 | #ifndef __STALL_PPI_H__
21 | #define __STALL_PPI_H__
22 |
23 | #define EFI_PEI_STALL_PPI_GUID \
24 | { 0x1f4c6f90, 0xb06b, 0x48d8, {0xa2, 0x01, 0xba, 0xe5, 0xf1, 0xcd, 0x7d, 0x56 } }
25 |
26 | typedef struct _EFI_PEI_STALL_PPI EFI_PEI_STALL_PPI;
27 |
28 | /**
29 | The Stall() function provides a blocking stall for at least the number
30 | of microseconds stipulated in the final argument of the API.
31 |
32 | @param PeiServices An indirect pointer to the PEI Services Table
33 | published by the PEI Foundation.
34 | @param This Pointer to the local data for the interface.
35 | @param Microseconds Number of microseconds for which to stall.
36 |
37 | @retval EFI_SUCCESS The service provided at least the required delay.
38 |
39 | **/
40 | typedef
41 | EFI_STATUS
42 | (EFIAPI *EFI_PEI_STALL)(
43 | IN CONST EFI_PEI_SERVICES **PeiServices,
44 | IN CONST EFI_PEI_STALL_PPI *This,
45 | IN UINTN Microseconds
46 | );
47 |
48 | ///
49 | /// This service provides a simple, blocking stall with platform-specific resolution.
50 | ///
51 | struct _EFI_PEI_STALL_PPI {
52 | ///
53 | /// The resolution in microseconds of the stall services.
54 | ///
55 | UINTN Resolution;
56 |
57 | EFI_PEI_STALL Stall;
58 | };
59 |
60 | extern EFI_GUID gEfiPeiStallPpiGuid;
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/Include/Ppi/StatusCode.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Status Code PPI.
3 | This ppi provides a service that allows PEIMs to report status codes.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This PPI is introduced in PI Version 1.0.
16 |
17 | **/
18 |
19 | #ifndef __STATUS_CODE_PPI_H__
20 | #define __STATUS_CODE_PPI_H__
21 |
22 | #define EFI_PEI_REPORT_PROGRESS_CODE_PPI_GUID \
23 | { 0x229832d3, 0x7a30, 0x4b36, {0xb8, 0x27, 0xf4, 0xc, 0xb7, 0xd4, 0x54, 0x36 } }
24 |
25 | //
26 | // EFI_PEI_PROGRESS_CODE_PPI.ReportStatusCode() is equivalent to the
27 | // PEI Service ReportStatusCode().
28 | // It is introduced in PIPeiCis.h.
29 | //
30 |
31 | ///
32 | /// This PPI provides the service to report status code.
33 | /// There can be only one instance of this service in the system.
34 | ///
35 | typedef struct {
36 | EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
37 | } EFI_PEI_PROGRESS_CODE_PPI;
38 |
39 | extern EFI_GUID gEfiPeiStatusCodePpiGuid;
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/Include/Ppi/TemporaryRamDone.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Temporary RAM Done PPI.
3 | The PPI that provides a service to disable the use of Temporary RAM.
4 |
5 | Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This PPI is introduced in PI Version 1.2.1.
16 |
17 | **/
18 |
19 | #ifndef __TEMPORARY_RAM_DONE_H__
20 | #define __TEMPORARY_RAM_DONE_H__
21 |
22 | #define EFI_PEI_TEMPORARY_RAM_DONE_PPI_GUID \
23 | { 0xceab683c, 0xec56, 0x4a2d, { 0xa9, 0x6, 0x40, 0x53, 0xfa, 0x4e, 0x9c, 0x16 } }
24 |
25 | /**
26 | TemporaryRamDone() disables the use of Temporary RAM. If present, this service is invoked
27 | by the PEI Foundation after the EFI_PEI_PERMANANT_MEMORY_INSTALLED_PPI is installed.
28 |
29 | @retval EFI_SUCCESS Use of Temporary RAM was disabled.
30 | @retval EFI_INVALID_PARAMETER Temporary RAM could not be disabled.
31 |
32 | **/
33 | typedef
34 | EFI_STATUS
35 | (EFIAPI * EFI_PEI_TEMPORARY_RAM_DONE) (
36 | VOID
37 | );
38 |
39 | ///
40 | /// This is an optional PPI that may be produced by SEC or a PEIM. If present, it provide a service to
41 | /// disable the use of Temporary RAM. This service may only be called by the PEI Foundation after the
42 | /// transition from Temporary RAM to Permanent RAM is complete. This PPI provides an alternative
43 | /// to the Temporary RAM Migration PPI for system architectures that allow Temporary RAM and
44 | /// Permanent RAM to be enabled and accessed at the same time with no side effects.
45 | ///
46 | typedef struct _EFI_PEI_TEMPORARY_RAM_DONE_PPI {
47 | EFI_PEI_TEMPORARY_RAM_DONE TemporaryRamDone;
48 | } EFI_PEI_TEMPORARY_RAM_DONE_PPI;
49 |
50 | extern EFI_GUID gEfiTemporaryRamDonePpiGuid;
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/Include/Ppi/TemporaryRamSupport.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares Temporary RAM Support PPI.
3 | This Ppi provides the service that migrates temporary RAM into permanent memory.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This PPI is introduced in PI Version 1.0.
16 |
17 | **/
18 |
19 | #ifndef __TEMPORARY_RAM_SUPPORT_H__
20 | #define __TEMPORARY_RAM_SUPPORT_H__
21 |
22 | ///
23 | /// Note: The GUID name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI_GUID is different from the current
24 | /// PI 1.2 spec.
25 | ///
26 | #define EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI_GUID \
27 | { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }
28 |
29 |
30 | /**
31 | This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into
32 | permanent memory.
33 |
34 | @param PeiServices Pointer to the PEI Services Table.
35 | @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the
36 | Temporary RAM contents.
37 | @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the
38 | Temporary RAM contents.
39 | @param CopySize Amount of memory to migrate from temporary to permanent memory.
40 |
41 | @retval EFI_SUCCESS The data was successfully returned.
42 | @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when
43 | TemporaryMemoryBase > PermanentMemoryBase.
44 |
45 | **/
46 | typedef
47 | EFI_STATUS
48 | (EFIAPI * TEMPORARY_RAM_MIGRATION)(
49 | IN CONST EFI_PEI_SERVICES **PeiServices,
50 | IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,
51 | IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,
52 | IN UINTN CopySize
53 | );
54 |
55 | ///
56 | /// This service abstracts the ability to migrate contents of the platform early memory store.
57 | /// Note: The name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI is different from the current PI 1.2 spec.
58 | /// This PPI was optional.
59 | ///
60 | typedef struct {
61 | TEMPORARY_RAM_MIGRATION TemporaryRamMigration;
62 | } EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI;
63 |
64 | extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;
65 |
66 | #endif
67 |
--------------------------------------------------------------------------------
/Include/Protocol/Capsule.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Capsule Architectural Protocol as defined in PI1.0a Specification VOLUME 2 DXE
3 |
4 | The DXE Driver that produces this protocol must be a runtime driver.
5 | The driver is responsible for initializing the CapsuleUpdate() and
6 | QueryCapsuleCapabilities() fields of the UEFI Runtime Services Table.
7 | After the two fields of the UEFI Runtime Services Table have been initialized,
8 | the driver must install the EFI_CAPSULE_ARCH_PROTOCOL_GUID on a new handle
9 | with a NULL interface pointer. The installation of this protocol informs
10 | the DXE Foundation that the Capsule related services are now available and
11 | that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services Table.
12 |
13 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
14 | This program and the accompanying materials
15 | are licensed and made available under the terms and conditions of the BSD License
16 | which accompanies this distribution. The full text of the license may be found at
17 | http://opensource.org/licenses/bsd-license.php
18 |
19 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
20 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 |
22 | **/
23 |
24 | #ifndef __ARCH_PROTOCOL_CAPSULE_ARCH_H__
25 | #define __ARCH_PROTOCOL_CAPSULE_ARCH_H__
26 |
27 | //
28 | // Global ID for the Capsule Architectural Protocol
29 | //
30 | #define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
31 | { 0x5053697e, 0x2cbc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}
32 |
33 | extern EFI_GUID gEfiCapsuleArchProtocolGuid;
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/Include/Protocol/DevicePathFromText.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL as defined in UEFI 2.0.
3 | This protocol provides service to convert text to device paths and device nodes.
4 |
5 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | **/
15 |
16 | #ifndef __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
17 | #define __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
18 |
19 | ///
20 | /// Device Path From Text protocol
21 | ///
22 | #define EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID \
23 | { \
24 | 0x5c99a21, 0xc70f, 0x4ad2, {0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \
25 | }
26 |
27 | /**
28 | Convert text to the binary representation of a device node.
29 |
30 | @param TextDeviceNode TextDeviceNode points to the text representation of a device
31 | node. Conversion starts with the first character and continues
32 | until the first non-device node character.
33 |
34 | @retval a_pointer Pointer to the EFI device node.
35 | @retval NULL if TextDeviceNode is NULL or there was insufficient memory.
36 |
37 | **/
38 | typedef
39 | EFI_DEVICE_PATH_PROTOCOL*
40 | (EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)(
41 | IN CONST CHAR16 *TextDeviceNode
42 | );
43 |
44 |
45 | /**
46 | Convert text to the binary representation of a device node.
47 |
48 | @param TextDeviceNode TextDevicePath points to the text representation of a device
49 | path. Conversion starts with the first character and continues
50 | until the first non-device path character.
51 |
52 | @retval a_pointer Pointer to the allocated device path.
53 | @retval NULL if TextDeviceNode is NULL or there was insufficient memory.
54 |
55 | **/
56 | typedef
57 | EFI_DEVICE_PATH_PROTOCOL*
58 | (EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)(
59 | IN CONST CHAR16 *TextDevicePath
60 | );
61 |
62 | ///
63 | /// This protocol converts text to device paths and device nodes.
64 | ///
65 | typedef struct {
66 | EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
67 | EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;
68 | } EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL;
69 |
70 | extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
71 |
72 | #endif
73 |
--------------------------------------------------------------------------------
/Include/Protocol/DriverSupportedEfiVersion.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | The protocol provides information about the version of the EFI
3 | specification that a driver is following. This protocol is
4 | required for EFI drivers that are on PCI and other plug-in
5 | cards.
6 |
7 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | **/
17 |
18 | #ifndef __DRIVER_SUPPORTED_EFI_VERSION_H__
19 | #define __DRIVER_SUPPORTED_EFI_VERSION_H__
20 |
21 | #define EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL_GUID \
22 | { 0x5c198761, 0x16a8, 0x4e69, { 0x97, 0x2c, 0x89, 0xd6, 0x79, 0x54, 0xf8, 0x1d } }
23 |
24 |
25 | ///
26 | /// The EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL provides a
27 | /// mechanism for an EFI driver to publish the version of the EFI
28 | /// specification it conforms to. This protocol must be placed on
29 | /// the driver's image handle when the driver's entry point is
30 | /// called.
31 | ///
32 | typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {
33 | ///
34 | /// The size, in bytes, of the entire structure. Future versions of this
35 | /// specification may grow the size of the structure.
36 | ///
37 | UINT32 Length;
38 | ///
39 | /// The latest version of the UEFI specification that this driver conforms to.
40 | ///
41 | UINT32 FirmwareVersion;
42 | } EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
43 |
44 | extern EFI_GUID gEfiDriverSupportedEfiVersionProtocolGuid;
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/Include/Protocol/DxeMmReadyToLock.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | DXE MM Ready To Lock protocol introduced in the PI 1.5 specification.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _DXE_MM_READY_TO_LOCK_H_
16 | #define _DXE_MM_READY_TO_LOCK_H_
17 |
18 | #define EFI_DXE_MM_READY_TO_LOCK_PROTOCOL_GUID \
19 | { \
20 | 0x60ff8964, 0xe906, 0x41d0, { 0xaf, 0xed, 0xf2, 0x41, 0xe9, 0x74, 0xe0, 0x8e } \
21 | }
22 |
23 | extern EFI_GUID gEfiDxeMmReadyToLockProtocolGuid;
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/Include/Protocol/DxeSmmReadyToLock.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | DXE SMM Ready To Lock protocol introduced in the PI 1.2 specification.
3 |
4 | According to PI 1.4a specification, this UEFI protocol indicates that
5 | resources and services that should not be used by the third party code
6 | are about to be locked.
7 | This protocol is a mandatory protocol published by PI platform code.
8 | This protocol in tandem with the End of DXE Event facilitates transition
9 | of the platform from the environment where all of the components are
10 | under the authority of the platform manufacturer to the environment where
11 | third party extensible modules such as UEFI drivers and UEFI applications
12 | are executed. The protocol is published immediately after signaling of the
13 | End of DXE Event. PI modules that need to lock or protect their resources
14 | in anticipation of the invocation of 3rd party extensible modules should
15 | register for notification on installation of this protocol and effect the
16 | appropriate protections in their notification handlers. For example, PI
17 | platform code may choose to use notification handler to lock SMM by invoking
18 | EFI_SMM_ACCESS2_PROTOCOL.Lock() function.
19 |
20 | Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
21 | This program and the accompanying materials
22 | are licensed and made available under the terms and conditions of the BSD License
23 | which accompanies this distribution. The full text of the license may be found at
24 | http://opensource.org/licenses/bsd-license.php
25 |
26 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
27 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
28 |
29 | **/
30 |
31 | #ifndef _DXE_SMM_READY_TO_LOCK_H_
32 | #define _DXE_SMM_READY_TO_LOCK_H_
33 |
34 | #include
35 |
36 | #define EFI_DXE_SMM_READY_TO_LOCK_PROTOCOL_GUID EFI_DXE_MM_READY_TO_LOCK_PROTOCOL_GUID
37 |
38 | extern EFI_GUID gEfiDxeSmmReadyToLockProtocolGuid;
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/Include/Protocol/EdidActive.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EDID Active Protocol from the UEFI 2.0 specification.
3 |
4 | Placed on the video output device child handle that is actively displaying output.
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __EDID_ACTIVE_H__
18 | #define __EDID_ACTIVE_H__
19 |
20 | #define EFI_EDID_ACTIVE_PROTOCOL_GUID \
21 | { \
22 | 0xbd8c1056, 0x9f36, 0x44ec, {0x92, 0xa8, 0xa6, 0x33, 0x7f, 0x81, 0x79, 0x86 } \
23 | }
24 |
25 | ///
26 | /// This protocol contains the EDID information for an active video output device. This is either the
27 | /// EDID information retrieved from the EFI_EDID_OVERRIDE_PROTOCOL if an override is
28 | /// available, or an identical copy of the EDID information from the
29 | /// EFI_EDID_DISCOVERED_PROTOCOL if no overrides are available.
30 | ///
31 | typedef struct {
32 | ///
33 | /// The size, in bytes, of the Edid buffer. 0 if no EDID information
34 | /// is available from the video output device. Otherwise, it must be a
35 | /// minimum of 128 bytes.
36 | ///
37 | UINT32 SizeOfEdid;
38 |
39 | ///
40 | /// A pointer to a read-only array of bytes that contains the EDID
41 | /// information for an active video output device. This pointer is
42 | /// NULL if no EDID information is available for the video output
43 | /// device. The minimum size of a valid Edid buffer is 128 bytes.
44 | /// EDID information is defined in the E-EDID EEPROM
45 | /// specification published by VESA (www.vesa.org).
46 | ///
47 | UINT8 *Edid;
48 | } EFI_EDID_ACTIVE_PROTOCOL;
49 |
50 | extern EFI_GUID gEfiEdidActiveProtocolGuid;
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/Include/Protocol/EdidDiscovered.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EDID Discovered Protocol from the UEFI 2.0 specification.
3 |
4 | This protocol is placed on the video output device child handle. It represents
5 | the EDID information being used for the output device represented by the child handle.
6 |
7 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | **/
17 |
18 | #ifndef __EDID_DISCOVERED_H__
19 | #define __EDID_DISCOVERED_H__
20 |
21 | #define EFI_EDID_DISCOVERED_PROTOCOL_GUID \
22 | { \
23 | 0x1c0c34f6, 0xd380, 0x41fa, {0xa0, 0x49, 0x8a, 0xd0, 0x6c, 0x1a, 0x66, 0xaa } \
24 | }
25 |
26 | ///
27 | /// This protocol contains the EDID information retrieved from a video output device.
28 | ///
29 | typedef struct {
30 | ///
31 | /// The size, in bytes, of the Edid buffer. 0 if no EDID information
32 | /// is available from the video output device. Otherwise, it must be a
33 | /// minimum of 128 bytes.
34 | ///
35 | UINT32 SizeOfEdid;
36 |
37 | ///
38 | /// A pointer to a read-only array of bytes that contains the EDID
39 | /// information for an active video output device. This pointer is
40 | /// NULL if no EDID information is available for the video output
41 | /// device. The minimum size of a valid Edid buffer is 128 bytes.
42 | /// EDID information is defined in the E-EDID EEPROM
43 | /// specification published by VESA (www.vesa.org).
44 | ///
45 | UINT8 *Edid;
46 | } EFI_EDID_DISCOVERED_PROTOCOL;
47 |
48 | extern EFI_GUID gEfiEdidDiscoveredProtocolGuid;
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/Include/Protocol/HiiPackageList.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI_HII_PACKAGE_LIST_PROTOCOL as defined in UEFI 2.1.
3 | Boot service LoadImage() installs EFI_HII_PACKAGE_LIST_PROTOCOL on the handle
4 | if the image contains a custom PE/COFF resource with the type 'HII'.
5 | The protocol's interface pointer points to the HII package list, which is
6 | contained in the resource's data.
7 |
8 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
9 | This program and the accompanying materials
10 | are licensed and made available under the terms and conditions of the BSD License
11 | which accompanies this distribution. The full text of the license may be found at
12 | http://opensource.org/licenses/bsd-license.php
13 |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 |
17 | **/
18 |
19 | #ifndef __HII_PACKAGE_LIST_H__
20 | #define __HII_PACKAGE_LIST_H__
21 |
22 | #define EFI_HII_PACKAGE_LIST_PROTOCOL_GUID \
23 | { 0x6a1ee763, 0xd47a, 0x43b4, {0xaa, 0xbe, 0xef, 0x1d, 0xe2, 0xab, 0x56, 0xfc}}
24 |
25 | typedef EFI_HII_PACKAGE_LIST_HEADER * EFI_HII_PACKAGE_LIST_PROTOCOL;
26 |
27 | extern EFI_GUID gEfiHiiPackageListProtocolGuid;
28 |
29 |
30 |
31 | #endif
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Include/Protocol/LegacySpiSmmController.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines the Legacy SPI SMM Controler Protocol.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials
6 | are licensed and made available under the terms and conditions of the BSD
7 | License which accompanies this distribution. The full text of the license may
8 | be found at 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 | This Protocol was introduced in UEFI PI Specification 1.6.
15 |
16 | **/
17 |
18 | #ifndef __LEGACY_SPI_SMM_CONTROLLER_PROTOCOL_H__
19 | #define __LEGACY_SPI_SMM_CONTROLLER_PROTOCOL_H__
20 |
21 | #include
22 |
23 | ///
24 | /// Global ID for the Legacy SPI SMM Controller Protocol
25 | ///
26 | #define EFI_LEGACY_SPI_SMM_CONTROLLER_PROTOCOL_GUID \
27 | { 0x62331b78, 0xd8d0, 0x4c8c, \
28 | { 0x8c, 0xcb, 0xd2, 0x7d, 0xfe, 0x32, 0xdb, 0x9b }}
29 |
30 | typedef
31 | struct _EFI_LEGACY_SPI_CONTROLLER_PROTOCOL
32 | EFI_LEGACY_SPI_SMM_CONTROLLER_PROTOCOL;
33 |
34 | extern EFI_GUID gEfiLegacySpiSmmControllerProtocolGuid;
35 |
36 | #endif // __LEGACY_SPI_SMM_CONTROLLER_PROTOCOL_H__
37 |
--------------------------------------------------------------------------------
/Include/Protocol/LegacySpiSmmFlash.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines the Legacy SPI SMM Flash Protocol.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials
6 | are licensed and made available under the terms and conditions of the BSD
7 | License which accompanies this distribution. The full text of the license may
8 | be found at 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 | This Protocol was introduced in UEFI PI Specification 1.6.
15 |
16 | **/
17 |
18 | #ifndef __LEGACY_SPI_SMM_FLASH_PROTOCOL_H__
19 | #define __LEGACY_SPI_SMM_FLASH_PROTOCOL_H__
20 |
21 | #include
22 |
23 | ///
24 | /// Global ID for the Legacy SPI SMM Flash Protocol
25 | ///
26 | #define EFI_LEGACY_SPI_SMM_FLASH_PROTOCOL_GUID \
27 | { 0x5e3848d4, 0x0db5, 0x4fc0, \
28 | { 0x97, 0x29, 0x3f, 0x35, 0x3d, 0x4f, 0x87, 0x9f }}
29 |
30 | typedef
31 | struct _EFI_LEGACY_SPI_FLASH_PROTOCOL
32 | EFI_LEGACY_SPI_SMM_FLASH_PROTOCOL;
33 |
34 | extern EFI_GUID gEfiLegacySpiSmmFlashProtocolGuid;
35 |
36 | #endif // __SPI_SMM_FLASH_PROTOCOL_H__
37 |
--------------------------------------------------------------------------------
/Include/Protocol/MmEndOfDxe.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | MM End Of Dxe protocol introduced in the PI 1.5 specification.
3 |
4 | This protocol is a mandatory protocol published by MM Foundation code.
5 | This protocol is an MM counterpart of the End of DXE Event.
6 | This protocol prorogates End of DXE notification into MM environment.
7 | This protocol is installed prior to installation of the MM Ready to Lock Protocol.
8 |
9 | Copyright (c) 2017, Intel Corporation. All rights reserved.
10 | This program and the accompanying materials
11 | are licensed and made available under the terms and conditions of the BSD License
12 | which accompanies this distribution. The full text of the license may be found at
13 | http://opensource.org/licenses/bsd-license.php
14 |
15 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 |
18 | **/
19 |
20 | #ifndef _MM_END_OF_DXE_H_
21 | #define _MM_END_OF_DXE_H_
22 |
23 | #define EFI_MM_END_OF_DXE_PROTOCOL_GUID \
24 | { \
25 | 0x24e70042, 0xd5c5, 0x4260, { 0x8c, 0x39, 0xa, 0xd3, 0xaa, 0x32, 0xe9, 0x3d } \
26 | }
27 |
28 | extern EFI_GUID gEfiMmEndOfDxeProtocolGuid;
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Include/Protocol/MmPciRootBridgeIo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | MM PCI Root Bridge IO protocol as defined in the PI 1.5 specification.
3 |
4 | This protocol provides PCI I/O and memory access within MM.
5 |
6 | Copyright (c) 2017, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _MM_PCI_ROOT_BRIDGE_IO_H_
18 | #define _MM_PCI_ROOT_BRIDGE_IO_H_
19 |
20 | #include
21 |
22 | #define EFI_MM_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID \
23 | { \
24 | 0x8bc1714d, 0xffcb, 0x41c3, { 0x89, 0xdc, 0x6c, 0x74, 0xd0, 0x6d, 0x98, 0xea } \
25 | }
26 |
27 | ///
28 | /// This protocol provides the same functionality as the PCI Root Bridge I/O Protocol defined in the
29 | /// UEFI 2.1 Specifcation, section 13.2, except that the functions for Map() and Unmap() may return
30 | /// EFI_UNSUPPORTED.
31 | ///
32 | typedef EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL EFI_MM_PCI_ROOT_BRIDGE_IO_PROTOCOL;
33 |
34 | extern EFI_GUID gEfiMmPciRootBridgeIoProtocolGuid;
35 |
36 | #endif
37 |
38 |
--------------------------------------------------------------------------------
/Include/Protocol/MmReadyToLock.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | MM Ready To Lock protocol introduced in the PI 1.5 specification.
3 |
4 | This protocol is a mandatory protocol published by the MM Foundation
5 | code when the system is preparing to lock certain resources and interfaces
6 | in anticipation of the invocation of 3rd party extensible modules.
7 | This protocol is an MM counterpart of the DXE MM Ready to Lock Protocol.
8 | This protocol prorogates resource locking notification into MM environment.
9 | This protocol is installed after installation of the MM End of DXE Protocol.
10 |
11 | Copyright (c) 2017, Intel Corporation. All rights reserved.
12 | This program and the accompanying materials
13 | are licensed and made available under the terms and conditions of the BSD License
14 | which accompanies this distribution. The full text of the license may be found at
15 | http://opensource.org/licenses/bsd-license.php
16 |
17 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
18 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 |
20 | **/
21 |
22 | #ifndef _MM_READY_TO_LOCK_H_
23 | #define _MM_READY_TO_LOCK_H_
24 |
25 | #define EFI_MM_READY_TO_LOCK_PROTOCOL_GUID \
26 | { \
27 | 0x47b7fa8c, 0xf4bd, 0x4af6, { 0x82, 0x00, 0x33, 0x30, 0x86, 0xf0, 0xd2, 0xc8 } \
28 | }
29 |
30 | extern EFI_GUID gEfiMmReadyToLockProtocolGuid;
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Include/Protocol/MonotonicCounter.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Monotonic Counter Architectural Protocol as defined in PI SPEC VOLUME 2 DXE
3 |
4 | This code provides the services required to access the system's monotonic counter
5 |
6 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials are licensed and made available under
8 | the terms and conditions of the BSD License that accompanies this distribution.
9 | The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php.
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef __ARCH_PROTOCOL_MONTONIC_COUNTER_H__
18 | #define __ARCH_PROTOCOL_MONTONIC_COUNTER_H__
19 |
20 | ///
21 | /// Global ID for the Monotonic Counter Architectural Protocol.
22 | ///
23 | #define EFI_MONOTONIC_COUNTER_ARCH_PROTOCOL_GUID \
24 | {0x1da97072, 0xbddc, 0x4b30, {0x99, 0xf1, 0x72, 0xa0, 0xb5, 0x6f, 0xff, 0x2a} }
25 |
26 | extern EFI_GUID gEfiMonotonicCounterArchProtocolGuid;
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/Include/Protocol/PartitionInfo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines the EFI Partition Information Protocol.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | 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 | This Protocol is introduced in UEFI Specification 2.7
15 |
16 | **/
17 |
18 | #ifndef __PARTITION_INFO_PROTOCOL_H__
19 | #define __PARTITION_INFO_PROTOCOL_H__
20 |
21 | #include
22 | #include
23 |
24 | //
25 | // EFI Partition Information Protocol GUID value
26 | //
27 | #define EFI_PARTITION_INFO_PROTOCOL_GUID \
28 | { 0x8cf2f62c, 0xbc9b, 0x4821, { 0x80, 0x8d, 0xec, 0x9e, 0xc4, 0x21, 0xa1, 0xa0 }};
29 |
30 |
31 | #define EFI_PARTITION_INFO_PROTOCOL_REVISION 0x0001000
32 | #define PARTITION_TYPE_OTHER 0x00
33 | #define PARTITION_TYPE_MBR 0x01
34 | #define PARTITION_TYPE_GPT 0x02
35 |
36 | #pragma pack(1)
37 |
38 | ///
39 | /// Partition Information Protocol structure.
40 | ///
41 | typedef struct {
42 | //
43 | // Set to EFI_PARTITION_INFO_PROTOCOL_REVISION.
44 | //
45 | UINT32 Revision;
46 | //
47 | // Partition info type (PARTITION_TYPE_MBR, PARTITION_TYPE_GPT, or PARTITION_TYPE_OTHER).
48 | //
49 | UINT32 Type;
50 | //
51 | // If 1, partition describes an EFI System Partition.
52 | //
53 | UINT8 System;
54 | UINT8 Reserved[7];
55 | union {
56 | ///
57 | /// MBR data
58 | ///
59 | MBR_PARTITION_RECORD Mbr;
60 | ///
61 | /// GPT data
62 | ///
63 | EFI_PARTITION_ENTRY Gpt;
64 | } Info;
65 | } EFI_PARTITION_INFO_PROTOCOL;
66 |
67 | #pragma pack()
68 |
69 | ///
70 | /// Partition Information Protocol GUID variable.
71 | ///
72 | extern EFI_GUID gEfiPartitionInfoProtocolGuid;
73 |
74 | #endif
75 |
--------------------------------------------------------------------------------
/Include/Protocol/PciEnumerationComplete.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | PCI Enumeration Complete Protocol as defined in the PI 1.1 specification.
3 | This protocol indicates that pci enumeration complete
4 |
5 | Copyright (c) 2009, Intel Corporation. All rights reserved.
6 | This program and the accompanying materials
7 | are licensed and made available under the terms and conditions of the BSD License
8 | which accompanies this distribution. The full text of the license may be found at
9 | http://opensource.org/licenses/bsd-license.php
10 |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 |
14 | @par Revision Reference:
15 | This Protocol is defined in UEFI Platform Initialization Specification 1.2
16 | Volume 5: Standards
17 |
18 | **/
19 |
20 | #ifndef _PCI_ENUMERATION_COMPLETE_H_
21 | #define _PCI_ENUMERATION_COMPLETE_H_
22 |
23 | #define EFI_PCI_ENUMERATION_COMPLETE_GUID \
24 | { \
25 | 0x30cfe3e7, 0x3de1, 0x4586, { 0xbe, 0x20, 0xde, 0xab, 0xa1, 0xb3, 0xb7, 0x93 } \
26 | }
27 |
28 | extern EFI_GUID gEfiPciEnumerationCompleteProtocolGuid;
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Include/Protocol/PciOverride.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file declares EFI PCI Override protocol which provides the interface between
3 | the PCI bus driver/PCI Host Bridge Resource Allocation driver and an implementation's
4 | driver to describe the unique features of a platform.
5 | This protocol is optional.
6 |
7 | Copyright (c) 2009, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This Protocol is defined in UEFI Platform Initialization Specification 1.2
18 | Volume 5: Standards
19 |
20 | **/
21 |
22 | #ifndef _PCI_OVERRIDE_H_
23 | #define _PCI_OVERRIDE_H_
24 |
25 | ///
26 | /// EFI_PCI_OVERRIDE_PROTOCOL has the same structure with EFI_PCI_PLATFORM_PROTOCOL
27 | ///
28 | #include
29 |
30 | ///
31 | /// Global ID for the EFI_PCI_OVERRIDE_PROTOCOL
32 | ///
33 | #define EFI_PCI_OVERRIDE_GUID \
34 | { \
35 | 0xb5b35764, 0x460c, 0x4a06, {0x99, 0xfc, 0x77, 0xa1, 0x7c, 0x1b, 0x5c, 0xeb} \
36 | }
37 |
38 | ///
39 | /// Declaration for EFI_PCI_OVERRIDE_PROTOCOL
40 | ///
41 | typedef EFI_PCI_PLATFORM_PROTOCOL EFI_PCI_OVERRIDE_PROTOCOL;
42 |
43 |
44 | extern EFI_GUID gEfiPciOverrideProtocolGuid;
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/Include/Protocol/RealTimeClock.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Real Time clock Architectural Protocol as defined in PI Specification VOLUME 2 DXE
3 |
4 | This code abstracts time and data functions. Used to provide
5 | Time and date related EFI runtime services.
6 |
7 | The GetTime (), SetTime (), GetWakeupTime (), and SetWakeupTime () UEFI 2.0
8 | services are added to the EFI system table and the
9 | EFI_REAL_TIME_CLOCK_ARCH_PROTOCOL_GUID protocol is registered with a NULL
10 | pointer.
11 |
12 | No CRC of the EFI system table is required, since that is done in the DXE core.
13 |
14 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
15 | This program and the accompanying materials
16 | are licensed and made available under the terms and conditions of the BSD License
17 | which accompanies this distribution. The full text of the license may be found at
18 | http://opensource.org/licenses/bsd-license.php
19 |
20 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 |
23 | **/
24 |
25 | #ifndef __ARCH_PROTOCOL_REAL_TIME_CLOCK_H__
26 | #define __ARCH_PROTOCOL_REAL_TIME_CLOCK_H__
27 |
28 | ///
29 | /// Global ID for the Real Time Clock Architectural Protocol
30 | ///
31 | #define EFI_REAL_TIME_CLOCK_ARCH_PROTOCOL_GUID \
32 | { 0x27CFAC87, 0x46CC, 0x11d4, {0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } }
33 |
34 | extern EFI_GUID gEfiRealTimeClockArchProtocolGuid;
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/Include/Protocol/Reset.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Reset Architectural Protocol as defined in PI Specification VOLUME 2 DXE
3 |
4 | Used to provide ResetSystem runtime services
5 |
6 | The ResetSystem () UEFI 2.0 service is added to the EFI system table and the
7 | EFI_RESET_ARCH_PROTOCOL_GUID protocol is registered with a NULL pointer.
8 |
9 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
10 | This program and the accompanying materials
11 | are licensed and made available under the terms and conditions of the BSD License
12 | which accompanies this distribution. The full text of the license may be found at
13 | http://opensource.org/licenses/bsd-license.php
14 |
15 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 |
18 | **/
19 |
20 | #ifndef __ARCH_PROTOCOL_RESET_H__
21 | #define __ARCH_PROTOCOL_RESET_H__
22 |
23 | ///
24 | /// Global ID for the Reset Architectural Protocol
25 | ///
26 | #define EFI_RESET_ARCH_PROTOCOL_GUID \
27 | { 0x27CFAC88, 0x46CC, 0x11d4, {0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } }
28 |
29 | extern EFI_GUID gEfiResetArchProtocolGuid;
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/Include/Protocol/S3SmmSaveState.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | S3 SMM Save State Protocol as defined in PI1.2 Specification VOLUME 5 Standard.
3 |
4 | The EFI_S3_SMM_SAVE_STATE_PROTOCOL publishes the PI SMMboot script abstractions
5 | On an S3 resume boot path the data stored via this protocol is replayed in the order it was stored.
6 | The order of replay is the order either of the S3 Save State Protocol or S3 SMM Save State Protocol
7 | Write() functions were called during the boot process. Insert(), Label(), and
8 | Compare() operations are ordered relative other S3 SMM Save State Protocol write() operations
9 | and the order relative to S3 State Save Write() operations is not defined. Due to these ordering
10 | restrictions it is recommended that the S3 State Save Protocol be used during the DXE phase when
11 | every possible.
12 | The EFI_S3_SMM_SAVE_STATE_PROTOCOL can be called at runtime and
13 | EFI_OUT_OF_RESOURCES may be returned from a runtime call. It is the responsibility of the
14 | platform to ensure enough memory resource exists to save the system state. It is recommended that
15 | runtime calls be minimized by the caller.
16 |
17 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
18 | This program and the accompanying materials
19 | are licensed and made available under the terms and conditions of the BSD License
20 | which accompanies this distribution. The full text of the license may be found at
21 | http://opensource.org/licenses/bsd-license.php
22 |
23 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
24 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
25 |
26 | @par Revision Reference:
27 | This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 5:
28 | Standards
29 |
30 | **/
31 |
32 | #ifndef __S3_SMM_SAVE_STATE_H__
33 | #define __S3_SMM_SAVE_STATE_H__
34 |
35 | #include
36 |
37 | #define EFI_S3_SMM_SAVE_STATE_PROTOCOL_GUID \
38 | {0x320afe62, 0xe593, 0x49cb, { 0xa9, 0xf1, 0xd4, 0xc2, 0xf4, 0xaf, 0x1, 0x4c }}
39 |
40 |
41 | typedef EFI_S3_SAVE_STATE_PROTOCOL EFI_S3_SMM_SAVE_STATE_PROTOCOL;
42 |
43 | extern EFI_GUID gEfiS3SmmSaveStateProtocolGuid;
44 |
45 | #endif // __S3_SMM_SAVE_STATE_H__
46 |
47 |
--------------------------------------------------------------------------------
/Include/Protocol/SecurityPolicy.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Security Policy protocol as defined in PI Specification VOLUME 2 DXE
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef _SECURITY_POLICY_H_
16 | #define _SECURITY_POLICY_H_
17 |
18 | ///
19 | /// Security policy protocol GUID definition
20 | ///
21 | #define EFI_SECURITY_POLICY_PROTOCOL_GUID \
22 | {0x78E4D245, 0xCD4D, 0x4a05, {0xA2, 0xBA, 0x47, 0x43, 0xE8, 0x6C, 0xFC, 0xAB} }
23 |
24 | extern EFI_GUID gEfiSecurityPolicyProtocolGuid;
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/Include/Protocol/ShellParameters.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI Shell protocol as defined in the UEFI Shell 2.0 specification.
3 |
4 | Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __EFI_SHELL_PARAMETERS_PROTOCOL_H__
16 | #define __EFI_SHELL_PARAMETERS_PROTOCOL_H__
17 |
18 | #include
19 |
20 | #define EFI_SHELL_PARAMETERS_PROTOCOL_GUID \
21 | { \
22 | 0x752f3136, 0x4e16, 0x4fdc, { 0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca } \
23 | }
24 |
25 | typedef struct _EFI_SHELL_PARAMETERS_PROTOCOL {
26 | ///
27 | /// Points to an Argc-element array of points to NULL-terminated strings containing
28 | /// the command-line parameters. The first entry in the array is always the full file
29 | /// path of the executable. Any quotation marks that were used to preserve
30 | /// whitespace have been removed.
31 | ///
32 | CHAR16 **Argv;
33 |
34 | ///
35 | /// The number of elements in the Argv array.
36 | ///
37 | UINTN Argc;
38 |
39 | ///
40 | /// The file handle for the standard input for this executable. This may be different
41 | /// from the ConInHandle in EFI_SYSTEM_TABLE.
42 | ///
43 | SHELL_FILE_HANDLE StdIn;
44 |
45 | ///
46 | /// The file handle for the standard output for this executable. This may be different
47 | /// from the ConOutHandle in EFI_SYSTEM_TABLE.
48 | ///
49 | SHELL_FILE_HANDLE StdOut;
50 |
51 | ///
52 | /// The file handle for the standard error output for this executable. This may be
53 | /// different from the StdErrHandle in EFI_SYSTEM_TABLE.
54 | ///
55 | SHELL_FILE_HANDLE StdErr;
56 | } EFI_SHELL_PARAMETERS_PROTOCOL;
57 |
58 | extern EFI_GUID gEfiShellParametersProtocolGuid;
59 |
60 | #endif
61 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmAccess2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI SMM Access2 Protocol as defined in the PI 1.2 specification.
3 |
4 | This protocol is used to control the visibility of the SMRAM on the platform.
5 | It abstracts the location and characteristics of SMRAM. The expectation is
6 | that the north bridge or memory controller would publish this protocol.
7 |
8 | The principal functionality found in the memory controller includes the following:
9 | - Exposing the SMRAM to all non-SMM agents, or the "open" state
10 | - Shrouding the SMRAM to all but the SMM agents, or the "closed" state
11 | - Preserving the system integrity, or "locking" the SMRAM, such that the settings cannot be
12 | perturbed by either boot service or runtime agents
13 |
14 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
15 | This program and the accompanying materials
16 | are licensed and made available under the terms and conditions of the BSD License
17 | which accompanies this distribution. The full text of the license may be found at
18 | http://opensource.org/licenses/bsd-license.php
19 |
20 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 |
23 | **/
24 |
25 | #ifndef _SMM_ACCESS2_H_
26 | #define _SMM_ACCESS2_H_
27 |
28 | #include
29 |
30 | #define EFI_SMM_ACCESS2_PROTOCOL_GUID EFI_MM_ACCESS_PROTOCOL_GUID
31 |
32 | typedef EFI_MM_ACCESS_PROTOCOL EFI_SMM_ACCESS2_PROTOCOL;
33 |
34 | typedef EFI_MM_OPEN EFI_SMM_OPEN2;
35 |
36 | typedef EFI_MM_CLOSE EFI_SMM_CLOSE2;
37 |
38 | typedef EFI_MM_LOCK EFI_SMM_LOCK2;
39 |
40 | typedef EFI_MM_CAPABILITIES EFI_SMM_CAPABILITIES2;
41 | extern EFI_GUID gEfiSmmAccess2ProtocolGuid;
42 |
43 | #endif
44 |
45 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmCommunication.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI SMM Communication Protocol as defined in the PI 1.2 specification.
3 |
4 | This protocol provides a means of communicating between drivers outside of SMM and SMI
5 | handlers inside of SMM.
6 |
7 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | **/
17 |
18 | #ifndef _SMM_COMMUNICATION_H_
19 | #define _SMM_COMMUNICATION_H_
20 |
21 | #include
22 |
23 |
24 | typedef EFI_MM_COMMUNICATE_HEADER EFI_SMM_COMMUNICATE_HEADER;
25 |
26 | #define EFI_SMM_COMMUNICATION_PROTOCOL_GUID EFI_MM_COMMUNICATION_PROTOCOL_GUID
27 |
28 | typedef EFI_MM_COMMUNICATION_PROTOCOL EFI_SMM_COMMUNICATION_PROTOCOL;
29 |
30 | extern EFI_GUID gEfiSmmCommunicationProtocolGuid;
31 |
32 | #endif
33 |
34 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmControl2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI SMM Control2 Protocol as defined in the PI 1.2 specification.
3 |
4 | This protocol is used initiate synchronous SMI activations. This protocol could be published by a
5 | processor driver to abstract the SMI IPI or a driver which abstracts the ASIC that is supporting the
6 | APM port. Because of the possibility of performing SMI IPI transactions, the ability to generate this
7 | event from a platform chipset agent is an optional capability for both IA-32 and x64-based systems.
8 |
9 | The EFI_SMM_CONTROL2_PROTOCOL is produced by a runtime driver. It provides an
10 | abstraction of the platform hardware that generates an SMI. There are often I/O ports that, when
11 | accessed, will generate the SMI. Also, the hardware optionally supports the periodic generation of
12 | these signals.
13 |
14 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
15 | This program and the accompanying materials
16 | are licensed and made available under the terms and conditions of the BSD License
17 | which accompanies this distribution. The full text of the license may be found at
18 | http://opensource.org/licenses/bsd-license.php
19 |
20 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 |
23 | **/
24 |
25 | #ifndef _SMM_CONTROL2_H_
26 | #define _SMM_CONTROL2_H_
27 |
28 | #include
29 |
30 | #define EFI_SMM_CONTROL2_PROTOCOL_GUID EFI_MM_CONTROL_PROTOCOL_GUID
31 |
32 | typedef EFI_MM_CONTROL_PROTOCOL EFI_SMM_CONTROL2_PROTOCOL;
33 | typedef EFI_MM_PERIOD EFI_SMM_PERIOD;
34 |
35 | typedef EFI_MM_ACTIVATE EFI_SMM_ACTIVATE2;
36 |
37 | typedef EFI_MM_DEACTIVATE EFI_SMM_DEACTIVATE2;
38 | extern EFI_GUID gEfiSmmControl2ProtocolGuid;
39 |
40 | #endif
41 |
42 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmCpuIo2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM CPU I/O 2 protocol as defined in the PI 1.2 specification.
3 |
4 | This protocol provides CPU I/O and memory access within SMM.
5 |
6 | Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _SMM_CPU_IO2_H_
18 | #define _SMM_CPU_IO2_H_
19 |
20 | #include
21 |
22 | #define EFI_SMM_CPU_IO2_PROTOCOL_GUID EFI_MM_CPU_IO_PROTOCOL_GUID
23 |
24 | typedef EFI_MM_CPU_IO_PROTOCOL EFI_SMM_CPU_IO2_PROTOCOL;
25 |
26 | ///
27 | /// Width of the SMM CPU I/O operations
28 | ///
29 | #define SMM_IO_UINT8 MM_IO_UINT8
30 | #define SMM_IO_UINT16 MM_IO_UINT16
31 | #define SMM_IO_UINT32 MM_IO_UINT32
32 | #define SMM_IO_UINT64 MM_IO_UINT64
33 |
34 | typedef EFI_MM_IO_WIDTH EFI_SMM_IO_WIDTH;
35 | typedef EFI_MM_CPU_IO EFI_SMM_CPU_IO2;
36 |
37 | typedef EFI_MM_IO_ACCESS EFI_SMM_IO_ACCESS2;
38 |
39 | extern EFI_GUID gEfiSmmCpuIo2ProtocolGuid;
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmEndOfDxe.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM End Of Dxe protocol introduced in the PI 1.2.1 specification.
3 |
4 | According to PI 1.4a specification, this protocol indicates end of the
5 | execution phase when all of the components are under the authority of
6 | the platform manufacturer.
7 | This protocol is a mandatory protocol published by SMM Foundation code.
8 | This protocol is an SMM counterpart of the End of DXE Event.
9 | This protocol prorogates End of DXE notification into SMM environment.
10 | This protocol is installed prior to installation of the SMM Ready to Lock Protocol.
11 |
12 | Copyright (c) 2012 - 2017, Intel Corporation. All rights reserved.
13 | This program and the accompanying materials
14 | are licensed and made available under the terms and conditions of the BSD License
15 | which accompanies this distribution. The full text of the license may be found at
16 | http://opensource.org/licenses/bsd-license.php
17 |
18 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
19 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 |
21 | **/
22 |
23 | #ifndef _SMM_END_OF_DXE_H_
24 | #define _SMM_END_OF_DXE_H_
25 |
26 | #include
27 |
28 | #define EFI_SMM_END_OF_DXE_PROTOCOL_GUID EFI_MM_END_OF_DXE_PROTOCOL_GUID
29 |
30 | extern EFI_GUID gEfiSmmEndOfDxeProtocolGuid;
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmGpiDispatch2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM General Purpose Input (GPI) Dispatch2 Protocol as defined in PI 1.1 Specification
3 | Volume 4 System Management Mode Core Interface.
4 |
5 | This protocol provides the parent dispatch service for the General Purpose Input
6 | (GPI) SMI source generator.
7 |
8 | The EFI_SMM_GPI_DISPATCH2_PROTOCOL provides the ability to install child handlers for the
9 | given event types. Several inputs can be enabled. This purpose of this interface is to generate an
10 | SMI in response to any of these inputs having a true value provided.
11 |
12 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
13 | This program and the accompanying materials
14 | are licensed and made available under the terms and conditions of the BSD License
15 | which accompanies this distribution. The full text of the license may be found at
16 | http://opensource.org/licenses/bsd-license.php
17 |
18 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
19 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 |
21 | @par Revision Reference:
22 | This protocol is from PI Version 1.1.
23 |
24 | **/
25 |
26 | #ifndef _SMM_GPI_DISPATCH2_H_
27 | #define _SMM_GPI_DISPATCH2_H_
28 |
29 | #include
30 | #include
31 |
32 | #define EFI_SMM_GPI_DISPATCH2_PROTOCOL_GUID EFI_MM_GPI_DISPATCH_PROTOCOL_GUID
33 | ///
34 | /// The dispatch function's context.
35 | ///
36 | typedef EFI_MM_GPI_REGISTER_CONTEXT EFI_SMM_GPI_REGISTER_CONTEXT;
37 |
38 | typedef EFI_MM_GPI_REGISTER EFI_SMM_GPI_REGISTER2;
39 |
40 | typedef EFI_MM_GPI_UNREGISTER EFI_SMM_GPI_UNREGISTER2;
41 |
42 | typedef EFI_MM_GPI_DISPATCH_PROTOCOL EFI_SMM_GPI_DISPATCH2_PROTOCOL;
43 |
44 |
45 |
46 | extern EFI_GUID gEfiSmmGpiDispatch2ProtocolGuid;
47 |
48 | #endif
49 |
50 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmIoTrapDispatch2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM IO Trap Dispatch2 Protocol as defined in PI 1.1 Specification
3 | Volume 4 System Management Mode Core Interface.
4 |
5 | This protocol provides a parent dispatch service for IO trap SMI sources.
6 |
7 | Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This protocol is from PI Version 1.1.
18 |
19 | **/
20 |
21 | #ifndef _SMM_IO_TRAP_DISPATCH2_H_
22 | #define _SMM_IO_TRAP_DISPATCH2_H_
23 |
24 | #include
25 |
26 | #define EFI_SMM_IO_TRAP_DISPATCH2_PROTOCOL_GUID EFI_MM_IO_TRAP_DISPATCH_PROTOCOL_GUID
27 |
28 | ///
29 | /// IO Trap valid types
30 | ///
31 | typedef EFI_MM_IO_TRAP_DISPATCH_TYPE EFI_SMM_IO_TRAP_DISPATCH_TYPE;
32 |
33 | ///
34 | /// IO Trap context structure containing information about the
35 | /// IO trap event that should invoke the handler
36 | ///
37 | typedef EFI_MM_IO_TRAP_REGISTER_CONTEXT EFI_SMM_IO_TRAP_REGISTER_CONTEXT;
38 |
39 | ///
40 | /// IO Trap context structure containing information about the IO trap that occurred
41 | ///
42 | typedef EFI_MM_IO_TRAP_CONTEXT EFI_SMM_IO_TRAP_CONTEXT;
43 |
44 | typedef EFI_MM_IO_TRAP_DISPATCH_PROTOCOL EFI_SMM_IO_TRAP_DISPATCH2_PROTOCOL;
45 |
46 | typedef EFI_MM_IO_TRAP_DISPATCH_REGISTER EFI_SMM_IO_TRAP_DISPATCH2_REGISTER;
47 |
48 | typedef EFI_MM_IO_TRAP_DISPATCH_UNREGISTER EFI_SMM_IO_TRAP_DISPATCH2_UNREGISTER;
49 |
50 | extern EFI_GUID gEfiSmmIoTrapDispatch2ProtocolGuid;
51 |
52 | #endif
53 |
54 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmPciRootBridgeIo.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM PCI Root Bridge IO protocol as defined in the PI 1.2 specification.
3 |
4 | This protocol provides PCI I/O and memory access within SMM.
5 |
6 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _SMM_PCI_ROOT_BRIDGE_IO_H_
18 | #define _SMM_PCI_ROOT_BRIDGE_IO_H_
19 |
20 | #include
21 |
22 | #define EFI_SMM_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID EFI_MM_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID
23 |
24 | ///
25 | /// This protocol provides the same functionality as the PCI Root Bridge I/O Protocol defined in the
26 | /// UEFI 2.1 Specifcation, section 13.2, except that the functions for Map() and Unmap() may return
27 | /// EFI_UNSUPPORTED.
28 | ///
29 | typedef EFI_MM_PCI_ROOT_BRIDGE_IO_PROTOCOL EFI_SMM_PCI_ROOT_BRIDGE_IO_PROTOCOL;
30 |
31 | extern EFI_GUID gEfiSmmPciRootBridgeIoProtocolGuid;
32 |
33 | #endif
34 |
35 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmPowerButtonDispatch2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM Power Button Dispatch2 Protocol as defined in PI 1.1 Specification
3 | Volume 4 System Management Mode Core Interface.
4 |
5 | This protocol provides the parent dispatch service for the power button SMI source generator.
6 |
7 | Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This protocol is from PI Version 1.1.
18 |
19 | **/
20 |
21 | #ifndef _SMM_POWER_BUTTON_DISPATCH2_H_
22 | #define _SMM_POWER_BUTTON_DISPATCH2_H_
23 |
24 | #include
25 |
26 | #define EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL_GUID EFI_MM_POWER_BUTTON_DISPATCH_PROTOCOL_GUID
27 |
28 | ///
29 | /// The dispatch function's context.
30 | ///
31 | typedef EFI_MM_POWER_BUTTON_REGISTER_CONTEXT EFI_SMM_POWER_BUTTON_REGISTER_CONTEXT;
32 |
33 | typedef EFI_MM_POWER_BUTTON_DISPATCH_PROTOCOL EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL;
34 |
35 | typedef EFI_MM_POWER_BUTTON_REGISTER EFI_SMM_POWER_BUTTON_REGISTER2;
36 |
37 | typedef EFI_MM_POWER_BUTTON_UNREGISTER EFI_SMM_POWER_BUTTON_UNREGISTER2;
38 |
39 | extern EFI_GUID gEfiSmmPowerButtonDispatch2ProtocolGuid;
40 |
41 | #endif
42 |
43 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmReadyToLock.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM Ready To Lock protocol introduced in the PI 1.2 specification.
3 |
4 | According to PI 1.4a specification, this SMM protocol indicates that
5 | SMM resources and services that should not be used by the third party
6 | code are about to be locked.
7 | This protocol is a mandatory protocol published by the SMM Foundation
8 | code when the system is preparing to lock certain resources and interfaces
9 | in anticipation of the invocation of 3rd party extensible modules.
10 | This protocol is an SMM counterpart of the DXE SMM Ready to Lock Protocol.
11 | This protocol prorogates resource locking notification into SMM environment.
12 | This protocol is installed after installation of the SMM End of DXE Protocol.
13 |
14 | Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
15 | This program and the accompanying materials
16 | are licensed and made available under the terms and conditions of the BSD License
17 | which accompanies this distribution. The full text of the license may be found at
18 | http://opensource.org/licenses/bsd-license.php
19 |
20 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 |
23 | **/
24 |
25 | #ifndef _SMM_READY_TO_LOCK_H_
26 | #define _SMM_READY_TO_LOCK_H_
27 |
28 | #include
29 |
30 | #define EFI_SMM_READY_TO_LOCK_PROTOCOL_GUID EFI_MM_READY_TO_LOCK_PROTOCOL_GUID
31 |
32 | extern EFI_GUID gEfiSmmReadyToLockProtocolGuid;
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmReportStatusCodeHandler.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This protocol provides registering and unregistering services to status code consumers while in DXE SMM.
3 |
4 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
5 | 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 | This Protocol was introduced in PI Specification 1.1.
15 |
16 | **/
17 |
18 | #ifndef __SMM_REPORT_STATUS_CODE_HANDLER_PROTOCOL_H__
19 | #define __SMM_REPORT_STATUS_CODE_HANDLER_PROTOCOL_H__
20 |
21 | #include
22 |
23 | #define EFI_SMM_RSC_HANDLER_PROTOCOL_GUID EFI_MM_RSC_HANDLER_PROTOCOL_GUID
24 |
25 | typedef EFI_MM_RSC_HANDLER_CALLBACK EFI_SMM_RSC_HANDLER_CALLBACK;
26 |
27 | typedef EFI_MM_RSC_HANDLER_REGISTER EFI_SMM_RSC_HANDLER_REGISTER;
28 |
29 | typedef EFI_MM_RSC_HANDLER_UNREGISTER EFI_SMM_RSC_HANDLER_UNREGISTER;
30 |
31 | typedef EFI_MM_RSC_HANDLER_PROTOCOL EFI_SMM_RSC_HANDLER_PROTOCOL;
32 |
33 | extern EFI_GUID gEfiSmmRscHandlerProtocolGuid;
34 |
35 | #endif // __SMM_REPORT_STATUS_CODE_HANDLER_PROTOCOL_H__
36 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmStandbyButtonDispatch2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM Standby Button Dispatch2 Protocol as defined in PI 1.1 Specification
3 | Volume 4 System Management Mode Core Interface.
4 |
5 | This protocol provides the parent dispatch service for the standby button SMI source generator.
6 |
7 | Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This protocol is from PI Version 1.1.
18 |
19 | **/
20 |
21 | #ifndef _SMM_STANDBY_BUTTON_DISPATCH2_H_
22 | #define _SMM_STANDBY_BUTTON_DISPATCH2_H_
23 |
24 | #include
25 |
26 | #define EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL_GUID EFI_MM_STANDBY_BUTTON_DISPATCH_PROTOCOL_GUID
27 |
28 | ///
29 | /// The dispatch function's context.
30 | ///
31 | typedef EFI_MM_STANDBY_BUTTON_REGISTER_CONTEXT EFI_SMM_STANDBY_BUTTON_REGISTER_CONTEXT;
32 |
33 | typedef EFI_MM_STANDBY_BUTTON_DISPATCH_PROTOCOL EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL;
34 |
35 | typedef EFI_MM_STANDBY_BUTTON_REGISTER EFI_SMM_STANDBY_BUTTON_REGISTER2;
36 |
37 | typedef EFI_MM_STANDBY_BUTTON_UNREGISTER EFI_SMM_STANDBY_BUTTON_UNREGISTER2;
38 |
39 | extern EFI_GUID gEfiSmmStandbyButtonDispatch2ProtocolGuid;
40 |
41 | #endif
42 |
43 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmStatusCode.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | EFI SMM Status Code Protocol as defined in the PI 1.2 specification.
3 |
4 | This protocol provides the basic status code services while in SMM.
5 |
6 | Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
7 | This program and the accompanying materials
8 | are licensed and made available under the terms and conditions of the BSD License
9 | which accompanies this distribution. The full text of the license may be found at
10 | http://opensource.org/licenses/bsd-license.php
11 |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 |
15 | **/
16 |
17 | #ifndef _SMM_STATUS_CODE_H__
18 | #define _SMM_STATUS_CODE_H__
19 |
20 | #include
21 |
22 | #define EFI_SMM_STATUS_CODE_PROTOCOL_GUID EFI_MM_STATUS_CODE_PROTOCOL_GUID
23 |
24 | typedef EFI_MM_STATUS_CODE_PROTOCOL EFI_SMM_STATUS_CODE_PROTOCOL;
25 |
26 | typedef EFI_MM_REPORT_STATUS_CODE EFI_SMM_REPORT_STATUS_CODE;
27 |
28 | extern EFI_GUID gEfiSmmStatusCodeProtocolGuid;
29 |
30 | #endif
31 |
32 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmSxDispatch2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM Sx Dispatch Protocol as defined in PI 1.2 Specification
3 | Volume 4 System Management Mode Core Interface.
4 |
5 | Provides the parent dispatch service for a given Sx-state source generator.
6 |
7 | Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | **/
17 |
18 | #ifndef _SMM_SX_DISPATCH2_H_
19 | #define _SMM_SX_DISPATCH2_H_
20 |
21 | #include
22 |
23 | #define EFI_SMM_SX_DISPATCH2_PROTOCOL_GUID EFI_MM_SX_DISPATCH_PROTOCOL_GUID
24 |
25 | ///
26 | /// The dispatch function's context
27 | ///
28 | typedef EFI_MM_SX_REGISTER_CONTEXT EFI_SMM_SX_REGISTER_CONTEXT;
29 |
30 | typedef EFI_MM_SX_DISPATCH_PROTOCOL EFI_SMM_SX_DISPATCH2_PROTOCOL;
31 |
32 | typedef EFI_MM_SX_REGISTER EFI_SMM_SX_REGISTER2;
33 |
34 | typedef EFI_MM_SX_UNREGISTER EFI_SMM_SX_UNREGISTER2;
35 |
36 | extern EFI_GUID gEfiSmmSxDispatch2ProtocolGuid;
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/Include/Protocol/SmmUsbDispatch2.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | SMM USB Dispatch2 Protocol as defined in PI 1.1 Specification
3 | Volume 4 System Management Mode Core Interface.
4 |
5 | Provides the parent dispatch service for the USB SMI source generator.
6 |
7 | Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
8 | This program and the accompanying materials
9 | are licensed and made available under the terms and conditions of the BSD License
10 | which accompanies this distribution. The full text of the license may be found at
11 | http://opensource.org/licenses/bsd-license.php
12 |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 |
16 | @par Revision Reference:
17 | This protocol is from PI Version 1.1.
18 |
19 | **/
20 |
21 | #ifndef _SMM_USB_DISPATCH2_H_
22 | #define _SMM_USB_DISPATCH2_H_
23 |
24 | #include
25 |
26 | #define EFI_SMM_USB_DISPATCH2_PROTOCOL_GUID EFI_MM_USB_DISPATCH_PROTOCOL_GUID
27 |
28 | ///
29 | /// USB SMI event types
30 | ///
31 | typedef EFI_USB_MMI_TYPE EFI_USB_SMI_TYPE;
32 |
33 | ///
34 | /// The dispatch function's context.
35 | ///
36 | typedef EFI_MM_USB_REGISTER_CONTEXT EFI_SMM_USB_REGISTER_CONTEXT;
37 |
38 | typedef EFI_MM_USB_DISPATCH_PROTOCOL EFI_SMM_USB_DISPATCH2_PROTOCOL;
39 |
40 | typedef EFI_MM_USB_REGISTER EFI_SMM_USB_REGISTER2;
41 |
42 | typedef EFI_MM_USB_UNREGISTER EFI_SMM_USB_UNREGISTER2;
43 |
44 | extern EFI_GUID gEfiSmmUsbDispatch2ProtocolGuid;
45 |
46 | #endif
47 |
48 |
--------------------------------------------------------------------------------
/Include/Protocol/SpiSmmConfiguration.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines the SPI SMM Configuration Protocol.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials
6 | are licensed and made available under the terms and conditions of the BSD
7 | License which accompanies this distribution. The full text of the license may
8 | be found at 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 | This Protocol was introduced in UEFI PI Specification 1.6.
15 |
16 | **/
17 |
18 | #ifndef __SPI_SMM_CONFIGURATION_PROTOCOL_H__
19 | #define __SPI_SMM_CONFIGURATION_PROTOCOL_H__
20 |
21 | #include
22 |
23 | ///
24 | /// Global ID for the SPI SMM Configuration Protocol
25 | ///
26 | #define EFI_SPI_SMM_CONFIGURATION_PROTOCOL_GUID \
27 | { 0x995c6eca, 0x171b, 0x45fd, \
28 | { 0xa3, 0xaa, 0xfd, 0x4c, 0x9c, 0x9d, 0xef, 0x59 }}
29 |
30 | typedef
31 | struct _EFI_SPI_CONFIGURATION_PROTOCOL
32 | EFI_SPI_SMM_CONFIGURATION_PROTOCOL;
33 |
34 | extern EFI_GUID gEfiSpiSmmConfigurationProtocolGuid;
35 |
36 | #endif // __SPI_SMM_CONFIGURATION_H__
37 |
--------------------------------------------------------------------------------
/Include/Protocol/SpiSmmHc.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines the SPI SMM Host Controller Protocol.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials
6 | are licensed and made available under the terms and conditions of the BSD
7 | License which accompanies this distribution. The full text of the license may
8 | be found at 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 | This Protocol was introduced in UEFI PI Specification 1.6.
15 |
16 | **/
17 |
18 | #ifndef __SPI_SMM_HC_H__
19 | #define __SPI_SMM_HC_H__
20 |
21 | #include
22 |
23 | ///
24 | /// Global ID for the SPI SMM Host Controller Protocol
25 | ///
26 | #define EFI_SPI_SMM_HC_PROTOCOL_GUID \
27 | { 0xe9f02217, 0x2093, 0x4470, \
28 | { 0x8a, 0x54, 0x5c, 0x2c, 0xff, 0xe7, 0x3e, 0xcb }}
29 |
30 | typedef
31 | struct _EFI_SPI_HC_PROTOCOL
32 | EFI_SPI_SMM_HC_PROTOCOL;
33 |
34 | extern EFI_GUID gEfiSpiSmmHcProtocolGuid;
35 |
36 | #endif // __SPI_SMM_HC_H__
37 |
--------------------------------------------------------------------------------
/Include/Protocol/SpiSmmNorFlash.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | This file defines the SPI SMM NOR Flash Protocol.
3 |
4 | Copyright (c) 2017, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials
6 | are licensed and made available under the terms and conditions of the BSD
7 | License which accompanies this distribution. The full text of the license may
8 | be found at 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 | This Protocol was introduced in UEFI PI Specification 1.6.
15 |
16 | **/
17 |
18 | #ifndef __SPI_SMM_NOR_FLASH_PROTOCOL_H__
19 | #define __SPI_SMM_NOR_FLASH_PROTOCOL_H__
20 |
21 | #include
22 |
23 | ///
24 | /// Global ID for the SPI SMM NOR Flash Protocol
25 | ///
26 | #define EFI_SPI_SMM_NOR_FLASH_PROTOCOL_GUID \
27 | { 0xaab18f19, 0xfe14, 0x4666, \
28 | { 0x86, 0x04, 0x87, 0xff, 0x6d, 0x66, 0x2c, 0x9a } }
29 |
30 | typedef
31 | struct _EFI_SPI_NOR_FLASH_PROTOCOL
32 | EFI_SPI_SMM_NOR_FLASH_PROTOCOL;
33 |
34 | extern EFI_GUID gEfiSpiSmmNorFlashProtocolGuid;
35 |
36 | #endif // __SPI_SMM_NOR_FLASH_PROTOCOL_H__
37 |
--------------------------------------------------------------------------------
/Include/Protocol/StatusCode.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Status code Runtime Protocol as defined in PI Specification 1.4a VOLUME 2 DXE
3 |
4 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
5 | 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 | **/
14 |
15 | #ifndef __STATUS_CODE_RUNTIME_PROTOCOL_H__
16 | #define __STATUS_CODE_RUNTIME_PROTOCOL_H__
17 |
18 | #define EFI_STATUS_CODE_RUNTIME_PROTOCOL_GUID \
19 | { 0xd2b2b828, 0x826, 0x48a7, { 0xb3, 0xdf, 0x98, 0x3c, 0x0, 0x60, 0x24, 0xf0 } }
20 |
21 | /**
22 | Provides an interface that a software module can call to report a status code.
23 |
24 | @param Type Indicates the type of status code being reported.
25 | @param Value Describes the current status of a hardware or software entity.
26 | This included information about the class and subclass that is used to
27 | classify the entity as well as an operation.
28 | @param Instance The enumeration of a hardware or software entity within
29 | the system. Valid instance numbers start with 1.
30 | @param CallerId This optional parameter may be used to identify the caller.
31 | This parameter allows the status code driver to apply different rules to
32 | different callers.
33 | @param Data This optional parameter may be used to pass additional data.
34 |
35 | @retval EFI_SUCCESS The function completed successfully
36 | @retval EFI_DEVICE_ERROR The function should not be completed due to a device error.
37 |
38 | **/
39 | typedef
40 | EFI_STATUS
41 | (EFIAPI *EFI_REPORT_STATUS_CODE)(
42 | IN EFI_STATUS_CODE_TYPE Type,
43 | IN EFI_STATUS_CODE_VALUE Value,
44 | IN UINT32 Instance,
45 | IN EFI_GUID *CallerId OPTIONAL,
46 | IN EFI_STATUS_CODE_DATA *Data OPTIONAL
47 | );
48 |
49 | ///
50 | /// Provides the service required to report a status code to the platform firmware.
51 | /// This protocol must be produced by a runtime DXE driver.
52 | ///
53 | typedef struct _EFI_STATUS_CODE_PROTOCOL {
54 | EFI_REPORT_STATUS_CODE ReportStatusCode;
55 | } EFI_STATUS_CODE_PROTOCOL;
56 |
57 | extern EFI_GUID gEfiStatusCodeRuntimeProtocolGuid;
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/Include/Protocol/Variable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Variable Architectural Protocol as defined in PI Specification VOLUME 2 DXE
3 |
4 | This provides the services required to get and set environment variables. This
5 | protocol must be produced by a runtime DXE driver and may be consumed only by
6 | the DXE Foundation. The DXE driver that produces this protocol must be a runtime
7 | driver. This driver is responsible for initializing the GetVariable(),
8 | GetNextVariableName(), and SetVariable() fields of the UEFI Runtime Services Table.
9 |
10 | After the three fields of the UEFI Runtime Services Table have been initialized,
11 | the driver must install the EFI_VARIABLE_ARCH_PROTOCOL_GUID on a new handle with
12 | a NULL interface pointer. The installation of this protocol informs the DXE Foundation
13 | that the read-only and the volatile environment variable related services are
14 | now available and that the DXE Foundation must update the 32-bit CRC of the UEFI
15 | Runtime Services Table. The full complement of environment variable services are
16 | not available until both this protocol and EFI_VARIABLE_WRITE_ARCH_PROTOCOL are
17 | installed. DXE drivers that require read-only access or read/write access to volatile
18 | environment variables must have this architectural protocol in their dependency
19 | expressions. DXE drivers that require write access to nonvolatile environment
20 | variables must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency
21 | expressions.
22 |
23 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
24 | This program and the accompanying materials
25 | are licensed and made available under the terms and conditions of the BSD License
26 | which accompanies this distribution. The full text of the license may be found at
27 | http://opensource.org/licenses/bsd-license.php
28 |
29 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
30 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
31 |
32 | **/
33 |
34 | #ifndef __ARCH_PROTOCOL_VARIABLE_ARCH_H__
35 | #define __ARCH_PROTOCOL_VARIABLE_ARCH_H__
36 |
37 | ///
38 | /// Global ID for the Variable Architectural Protocol
39 | ///
40 | #define EFI_VARIABLE_ARCH_PROTOCOL_GUID \
41 | { 0x1e5668e2, 0x8481, 0x11d4, {0xbc, 0xf1, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
42 |
43 | extern EFI_GUID gEfiVariableArchProtocolGuid;
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/Include/Protocol/VariableWrite.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE
3 |
4 | This provides the services required to set nonvolatile environment variables.
5 | This protocol must be produced by a runtime DXE driver and may be consumed only
6 | by the DXE Foundation.
7 |
8 | The DXE driver that produces this protocol must be a runtime driver. This driver
9 | may update the SetVariable() field of the UEFI Runtime Services Table.
10 |
11 | After the UEFI Runtime Services Table has been initialized, the driver must
12 | install the EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID on a new handle with a NULL
13 | interface pointer. The installation of this protocol informs the DXE Foundation
14 | that the write services for nonvolatile environment variables are now available
15 | and that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services
16 | Table. The full complement of environment variable services are not available
17 | until both this protocol and EFI_VARIABLE_ARCH_PROTOCOL are installed. DXE drivers
18 | that require read-only access or read/write access to volatile environment variables
19 | must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency expressions.
20 | DXE drivers that require write access to nonvolatile environment variables must
21 | have this architectural protocol in their dependency expressions.
22 |
23 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
24 | This program and the accompanying materials
25 | are licensed and made available under the terms and conditions of the BSD License
26 | which accompanies this distribution. The full text of the license may be found at
27 | http://opensource.org/licenses/bsd-license.php
28 |
29 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
30 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
31 |
32 | **/
33 |
34 | #ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
35 | #define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
36 |
37 | ///
38 | /// Global ID for the Variable Write Architectural Protocol
39 | ///
40 | #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
41 | { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }
42 |
43 | extern EFI_GUID gEfiVariableWriteArchProtocolGuid;
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/Include/Uefi.h:
--------------------------------------------------------------------------------
1 | /** @file
2 |
3 | Root include file for Mde Package UEFI, UEFI_APPLICATION type modules.
4 |
5 | This is the include file for any module of type UEFI and UEFI_APPLICATION. Uefi modules only use
6 | types defined via this include file and can be ported easily to any
7 | environment.
8 |
9 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
10 | This program and the accompanying materials are licensed and made available under
11 | the terms and conditions of the BSD License that accompanies this distribution.
12 | The full text of the license may be found at
13 | http://opensource.org/licenses/bsd-license.php.
14 |
15 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 |
18 | **/
19 |
20 | #ifndef __PI_UEFI_H__
21 | #define __PI_UEFI_H__
22 |
23 | #include
24 | #include
25 |
26 | #endif
27 |
28 |
--------------------------------------------------------------------------------
/Include/Uefi/UefiAcpiDataTable.h:
--------------------------------------------------------------------------------
1 | /** @file
2 | UEFI ACPI Data Table Definition.
3 |
4 | Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
5 | This program and the accompanying materials are licensed and made available under
6 | the terms and conditions of the BSD License that accompanies this distribution.
7 | 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 | **/
14 |
15 | #ifndef __UEFI_ACPI_DATA_TABLE_H__
16 | #define __UEFI_ACPI_DATA_TABLE_H__
17 |
18 | #include
19 |
20 | #pragma pack(1)
21 | typedef struct {
22 | EFI_ACPI_DESCRIPTION_HEADER Header;
23 | GUID Identifier;
24 | UINT16 DataOffset;
25 | } EFI_ACPI_DATA_TABLE;
26 | #pragma pack()
27 |
28 | #endif
29 |
30 |
--------------------------------------------------------------------------------
/License.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012, Intel Corporation. All rights reserved.
2 |
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions
5 | are met:
6 |
7 | * Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 | * Redistributions in binary form must reproduce the above copyright
10 | notice, this list of conditions and the following disclaimer in
11 | the documentation and/or other materials provided with the
12 | distribution.
13 |
14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
17 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
18 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
19 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
20 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
24 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 | POSSIBILITY OF SUCH DAMAGE.
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # uefi-headers
2 |
3 | This is a set of header files that contain UEFI definitions.
4 |
5 | Files were taken from TianoCore EDK2 (https://github.com/tianocore/edk2) under the "MdePkg" folder.
6 |
--------------------------------------------------------------------------------