aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MdePkg/Contributions.txt218
-rw-r--r--MdePkg/Include/AArch64/ProcessorBind.h154
-rw-r--r--MdePkg/Include/Arm/ProcessorBind.h182
-rw-r--r--MdePkg/Include/Base.h1270
-rw-r--r--MdePkg/Include/Ebc/ProcessorBind.h152
-rw-r--r--MdePkg/Include/Guid/Acpi.h46
-rw-r--r--MdePkg/Include/Guid/Apriori.h30
-rw-r--r--MdePkg/Include/Guid/AprioriFileName.h44
-rw-r--r--MdePkg/Include/Guid/CapsuleReport.h105
-rw-r--r--MdePkg/Include/Guid/Cper.h1235
-rw-r--r--MdePkg/Include/Guid/DebugImageInfoTable.h80
-rw-r--r--MdePkg/Include/Guid/DxeServices.h28
-rw-r--r--MdePkg/Include/Guid/EventGroup.h52
-rw-r--r--MdePkg/Include/Guid/EventLegacyBios.h28
-rw-r--r--MdePkg/Include/Guid/FileInfo.h71
-rw-r--r--MdePkg/Include/Guid/FileSystemInfo.h63
-rw-r--r--MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h37
-rw-r--r--MdePkg/Include/Guid/FirmwareContentsSigned.h26
-rw-r--r--MdePkg/Include/Guid/FirmwareFileSystem2.h40
-rw-r--r--MdePkg/Include/Guid/FirmwareFileSystem3.h30
-rw-r--r--MdePkg/Include/Guid/FmpCapsule.h98
-rw-r--r--MdePkg/Include/Guid/GlobalVariable.h192
-rw-r--r--MdePkg/Include/Guid/Gpt.h43
-rw-r--r--MdePkg/Include/Guid/GraphicsInfoHob.h51
-rw-r--r--MdePkg/Include/Guid/HardwareErrorVariable.h28
-rw-r--r--MdePkg/Include/Guid/HiiFormMapMethodGuid.h25
-rw-r--r--MdePkg/Include/Guid/HiiKeyBoardLayout.h27
-rw-r--r--MdePkg/Include/Guid/HiiPlatformSetupFormset.h35
-rw-r--r--MdePkg/Include/Guid/HobList.h30
-rw-r--r--MdePkg/Include/Guid/ImageAuthentication.h352
-rw-r--r--MdePkg/Include/Guid/MdePkgTokenSpace.h25
-rw-r--r--MdePkg/Include/Guid/MemoryAllocationHob.h34
-rw-r--r--MdePkg/Include/Guid/MemoryAttributesTable.h34
-rw-r--r--MdePkg/Include/Guid/MemoryOverwriteControl.h76
-rw-r--r--MdePkg/Include/Guid/Mps.h35
-rw-r--r--MdePkg/Include/Guid/PcAnsi.h58
-rw-r--r--MdePkg/Include/Guid/PropertiesTable.h37
-rw-r--r--MdePkg/Include/Guid/SalSystemTable.h31
-rw-r--r--MdePkg/Include/Guid/SmBios.h38
-rw-r--r--MdePkg/Include/Guid/StatusCodeDataTypeId.h789
-rw-r--r--MdePkg/Include/Guid/SystemResourceTable.h125
-rw-r--r--MdePkg/Include/Guid/VectorHandoffTable.h33
-rw-r--r--MdePkg/Include/Guid/WinCertificate.h128
-rw-r--r--MdePkg/Include/Ia32/ProcessorBind.h318
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi.h21
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi10.h661
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi20.h545
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi30.h729
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi40.h1309
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi50.h2119
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi51.h2139
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi60.h2346
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi61.h2378
-rw-r--r--MdePkg/Include/IndustryStandard/AcpiAml.h175
-rw-r--r--MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h146
-rw-r--r--MdePkg/Include/IndustryStandard/Atapi.h857
-rw-r--r--MdePkg/Include/IndustryStandard/Bluetooth.h47
-rw-r--r--MdePkg/Include/IndustryStandard/Bmp.h48
-rw-r--r--MdePkg/Include/IndustryStandard/DebugPort2Table.h79
-rw-r--r--MdePkg/Include/IndustryStandard/DebugPortTable.h50
-rw-r--r--MdePkg/Include/IndustryStandard/Dhcp.h282
-rw-r--r--MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h261
-rw-r--r--MdePkg/Include/IndustryStandard/ElTorito.h147
-rw-r--r--MdePkg/Include/IndustryStandard/Emmc.h297
-rw-r--r--MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h52
-rw-r--r--MdePkg/Include/IndustryStandard/Hsti.h82
-rw-r--r--MdePkg/Include/IndustryStandard/Http11.h254
-rw-r--r--MdePkg/Include/IndustryStandard/IScsiBootFirmwareTable.h167
-rw-r--r--MdePkg/Include/IndustryStandard/Ipmi.h29
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnApp.h623
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnBridge.h243
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h303
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnFirmware.h26
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnGroupExtension.h26
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnSensorEvent.h52
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h542
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h566
-rw-r--r--MdePkg/Include/IndustryStandard/LegacyBiosMpTable.h294
-rw-r--r--MdePkg/Include/IndustryStandard/LowPowerIdleTable.h82
-rw-r--r--MdePkg/Include/IndustryStandard/Mbr.h60
-rw-r--r--MdePkg/Include/IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h53
-rw-r--r--MdePkg/Include/IndustryStandard/MemoryOverwriteRequestControlLock.h43
-rw-r--r--MdePkg/Include/IndustryStandard/Nvme.h935
-rw-r--r--MdePkg/Include/IndustryStandard/Pal.h3302
-rw-r--r--MdePkg/Include/IndustryStandard/Pci.h23
-rw-r--r--MdePkg/Include/IndustryStandard/Pci22.h886
-rw-r--r--MdePkg/Include/IndustryStandard/Pci23.h123
-rw-r--r--MdePkg/Include/IndustryStandard/Pci30.h79
-rw-r--r--MdePkg/Include/IndustryStandard/PciCodeId.h100
-rw-r--r--MdePkg/Include/IndustryStandard/PciExpress21.h651
-rw-r--r--MdePkg/Include/IndustryStandard/PciExpress30.h57
-rw-r--r--MdePkg/Include/IndustryStandard/PciExpress31.h78
-rw-r--r--MdePkg/Include/IndustryStandard/PeImage.h756
-rw-r--r--MdePkg/Include/IndustryStandard/Sal.h915
-rw-r--r--MdePkg/Include/IndustryStandard/Scsi.h412
-rw-r--r--MdePkg/Include/IndustryStandard/Sd.h181
-rw-r--r--MdePkg/Include/IndustryStandard/SdramSpd.h74
-rw-r--r--MdePkg/Include/IndustryStandard/SdramSpdDdr3.h769
-rw-r--r--MdePkg/Include/IndustryStandard/SdramSpdDdr4.h958
-rw-r--r--MdePkg/Include/IndustryStandard/SdramSpdLpDdr.h474
-rw-r--r--MdePkg/Include/IndustryStandard/SerialPortConsoleRedirectionTable.h163
-rw-r--r--MdePkg/Include/IndustryStandard/SmBios.h2517
-rw-r--r--MdePkg/Include/IndustryStandard/SmBus.h81
-rw-r--r--MdePkg/Include/IndustryStandard/TcgPhysicalPresence.h129
-rw-r--r--MdePkg/Include/IndustryStandard/TcgStorageCore.h394
-rw-r--r--MdePkg/Include/IndustryStandard/TcgStorageOpal.h181
-rw-r--r--MdePkg/Include/IndustryStandard/TcpaAcpi.h58
-rw-r--r--MdePkg/Include/IndustryStandard/Tls1.h93
-rw-r--r--MdePkg/Include/IndustryStandard/Tpm12.h2173
-rw-r--r--MdePkg/Include/IndustryStandard/Tpm20.h1820
-rw-r--r--MdePkg/Include/IndustryStandard/Tpm2Acpi.h56
-rw-r--r--MdePkg/Include/IndustryStandard/TpmPtp.h522
-rw-r--r--MdePkg/Include/IndustryStandard/TpmTis.h183
-rw-r--r--MdePkg/Include/IndustryStandard/UefiTcgPlatform.h333
-rw-r--r--MdePkg/Include/IndustryStandard/Usb.h386
-rw-r--r--MdePkg/Include/IndustryStandard/WatchdogActionTable.h96
-rw-r--r--MdePkg/Include/IndustryStandard/WatchdogResourceTable.h56
-rw-r--r--MdePkg/Include/IndustryStandard/WindowsSmmSecurityMitigationTable.h39
-rw-r--r--MdePkg/Include/IndustryStandard/WindowsUxCapsule.h47
-rw-r--r--MdePkg/Include/Ipf/IpfMacro.i58
-rw-r--r--MdePkg/Include/Ipf/ProcessorBind.h319
-rw-r--r--MdePkg/Include/Library/BaseLib.h8910
-rw-r--r--MdePkg/Include/Library/BaseMemoryLib.h489
-rw-r--r--MdePkg/Include/Library/CacheMaintenanceLib.h212
-rw-r--r--MdePkg/Include/Library/CpuLib.h51
-rw-r--r--MdePkg/Include/Library/DebugLib.h529
-rw-r--r--MdePkg/Include/Library/DebugPrintErrorLevelLib.h43
-rw-r--r--MdePkg/Include/Library/DevicePathLib.h566
-rw-r--r--MdePkg/Include/Library/DxeCoreEntryPoint.h99
-rw-r--r--MdePkg/Include/Library/DxeServicesLib.h309
-rw-r--r--MdePkg/Include/Library/DxeServicesTableLib.h34
-rw-r--r--MdePkg/Include/Library/ExtendedSalLib.h494
-rw-r--r--MdePkg/Include/Library/ExtractGuidedSectionLib.h284
-rw-r--r--MdePkg/Include/Library/FileHandleLib.h507
-rw-r--r--MdePkg/Include/Library/HobLib.h534
-rw-r--r--MdePkg/Include/Library/HstiLib.h158
-rw-r--r--MdePkg/Include/Library/IoLib.h2815
-rw-r--r--MdePkg/Include/Library/MemoryAllocationLib.h493
-rw-r--r--MdePkg/Include/Library/OrderedCollectionLib.h425
-rw-r--r--MdePkg/Include/Library/PalLib.h63
-rw-r--r--MdePkg/Include/Library/PcdLib.h2260
-rw-r--r--MdePkg/Include/Library/PciCf8Lib.h1094
-rw-r--r--MdePkg/Include/Library/PciExpressLib.h1061
-rw-r--r--MdePkg/Include/Library/PciLib.h1062
-rw-r--r--MdePkg/Include/Library/PciSegmentLib.h1045
-rw-r--r--MdePkg/Include/Library/PeCoffExtraActionLib.h53
-rw-r--r--MdePkg/Include/Library/PeCoffGetEntryPointLib.h104
-rw-r--r--MdePkg/Include/Library/PeCoffLib.h392
-rw-r--r--MdePkg/Include/Library/PeiCoreEntryPoint.h138
-rw-r--r--MdePkg/Include/Library/PeiServicesLib.h524
-rw-r--r--MdePkg/Include/Library/PeiServicesTablePointerLib.h74
-rw-r--r--MdePkg/Include/Library/PeimEntryPoint.h109
-rw-r--r--MdePkg/Include/Library/PerformanceLib.h366
-rw-r--r--MdePkg/Include/Library/PostCodeLib.h150
-rw-r--r--MdePkg/Include/Library/PrintLib.h1052
-rw-r--r--MdePkg/Include/Library/ReportStatusCodeLib.h492
-rw-r--r--MdePkg/Include/Library/ResourcePublicationLib.h42
-rw-r--r--MdePkg/Include/Library/RngLib.h86
-rw-r--r--MdePkg/Include/Library/S3BootScriptLib.h602
-rw-r--r--MdePkg/Include/Library/S3IoLib.h2677
-rw-r--r--MdePkg/Include/Library/S3PciLib.h1052
-rw-r--r--MdePkg/Include/Library/S3SmbusLib.h455
-rw-r--r--MdePkg/Include/Library/S3StallLib.h39
-rw-r--r--MdePkg/Include/Library/SalLib.h59
-rw-r--r--MdePkg/Include/Library/SerialPortLib.h180
-rw-r--r--MdePkg/Include/Library/SmbusLib.h497
-rw-r--r--MdePkg/Include/Library/SmiHandlerProfileLib.h81
-rw-r--r--MdePkg/Include/Library/SmmLib.h89
-rw-r--r--MdePkg/Include/Library/SmmMemLib.h138
-rw-r--r--MdePkg/Include/Library/SmmPeriodicSmiLib.h184
-rw-r--r--MdePkg/Include/Library/SmmServicesTableLib.h43
-rw-r--r--MdePkg/Include/Library/SynchronizationLib.h295
-rw-r--r--MdePkg/Include/Library/TimerLib.h114
-rw-r--r--MdePkg/Include/Library/UefiApplicationEntryPoint.h154
-rw-r--r--MdePkg/Include/Library/UefiBootServicesTableLib.h34
-rw-r--r--MdePkg/Include/Library/UefiDecompressLib.h108
-rw-r--r--MdePkg/Include/Library/UefiDriverEntryPoint.h195
-rw-r--r--MdePkg/Include/Library/UefiLib.h1493
-rw-r--r--MdePkg/Include/Library/UefiRuntimeLib.h588
-rw-r--r--MdePkg/Include/Library/UefiRuntimeServicesTableLib.h32
-rw-r--r--MdePkg/Include/Library/UefiScsiLib.h1181
-rw-r--r--MdePkg/Include/Library/UefiUsbLib.h563
-rw-r--r--MdePkg/Include/Pi/PiBootMode.h42
-rw-r--r--MdePkg/Include/Pi/PiDependency.h47
-rw-r--r--MdePkg/Include/Pi/PiDxeCis.h740
-rw-r--r--MdePkg/Include/Pi/PiFirmwareFile.h494
-rw-r--r--MdePkg/Include/Pi/PiFirmwareVolume.h234
-rw-r--r--MdePkg/Include/Pi/PiHob.h479
-rw-r--r--MdePkg/Include/Pi/PiI2c.h307
-rw-r--r--MdePkg/Include/Pi/PiMultiPhase.h179
-rw-r--r--MdePkg/Include/Pi/PiPeiCis.h1042
-rw-r--r--MdePkg/Include/Pi/PiS3BootScript.h59
-rw-r--r--MdePkg/Include/Pi/PiSmmCis.h351
-rw-r--r--MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h20
-rw-r--r--MdePkg/Include/Pi/PiStatusCode.h1199
-rw-r--r--MdePkg/Include/PiDxe.h25
-rw-r--r--MdePkg/Include/PiPei.h27
-rw-r--r--MdePkg/Include/PiSmm.h26
-rw-r--r--MdePkg/Include/Ppi/BlockIo.h238
-rw-r--r--MdePkg/Include/Ppi/BlockIo2.h223
-rw-r--r--MdePkg/Include/Ppi/BootInRecoveryMode.h30
-rw-r--r--MdePkg/Include/Ppi/Capsule.h136
-rw-r--r--MdePkg/Include/Ppi/CpuIo.h428
-rw-r--r--MdePkg/Include/Ppi/Decompress.h74
-rw-r--r--MdePkg/Include/Ppi/DeviceRecoveryModule.h144
-rw-r--r--MdePkg/Include/Ppi/DxeIpl.h72
-rw-r--r--MdePkg/Include/Ppi/EndOfPeiPhase.h31
-rw-r--r--MdePkg/Include/Ppi/FirmwareVolume.h294
-rw-r--r--MdePkg/Include/Ppi/FirmwareVolumeInfo.h68
-rw-r--r--MdePkg/Include/Ppi/FirmwareVolumeInfo2.h72
-rw-r--r--MdePkg/Include/Ppi/Graphics.h85
-rw-r--r--MdePkg/Include/Ppi/GuidedSectionExtraction.h104
-rw-r--r--MdePkg/Include/Ppi/I2cMaster.h108
-rw-r--r--MdePkg/Include/Ppi/IsaHc.h119
-rw-r--r--MdePkg/Include/Ppi/LoadFile.h77
-rw-r--r--MdePkg/Include/Ppi/LoadImage.h52
-rw-r--r--MdePkg/Include/Ppi/MasterBootMode.h32
-rw-r--r--MdePkg/Include/Ppi/MemoryDiscovered.h32
-rw-r--r--MdePkg/Include/Ppi/MpServices.h283
-rw-r--r--MdePkg/Include/Ppi/Pcd.h860
-rw-r--r--MdePkg/Include/Ppi/PcdInfo.h105
-rw-r--r--MdePkg/Include/Ppi/PciCfg2.h184
-rw-r--r--MdePkg/Include/Ppi/PiPcd.h432
-rw-r--r--MdePkg/Include/Ppi/PiPcdInfo.h82
-rw-r--r--MdePkg/Include/Ppi/ReadOnlyVariable2.h116
-rw-r--r--MdePkg/Include/Ppi/RecoveryModule.h87
-rw-r--r--MdePkg/Include/Ppi/ReportStatusCodeHandler.h82
-rw-r--r--MdePkg/Include/Ppi/Reset.h44
-rw-r--r--MdePkg/Include/Ppi/Reset2.h38
-rw-r--r--MdePkg/Include/Ppi/S3Resume2.h92
-rw-r--r--MdePkg/Include/Ppi/SecPlatformInformation.h188
-rw-r--r--MdePkg/Include/Ppi/SecPlatformInformation2.h85
-rw-r--r--MdePkg/Include/Ppi/Security2.h101
-rw-r--r--MdePkg/Include/Ppi/Smbus2.h203
-rw-r--r--MdePkg/Include/Ppi/Stall.h62
-rw-r--r--MdePkg/Include/Ppi/StatusCode.h41
-rw-r--r--MdePkg/Include/Ppi/SuperIo.h189
-rw-r--r--MdePkg/Include/Ppi/TemporaryRamDone.h52
-rw-r--r--MdePkg/Include/Ppi/TemporaryRamSupport.h66
-rw-r--r--MdePkg/Include/Ppi/VectorHandoffInfo.h75
-rw-r--r--MdePkg/Include/Protocol/AbsolutePointer.h205
-rw-r--r--MdePkg/Include/Protocol/AcpiSystemDescriptionTable.h266
-rw-r--r--MdePkg/Include/Protocol/AcpiTable.h127
-rw-r--r--MdePkg/Include/Protocol/AdapterInformation.h241
-rw-r--r--MdePkg/Include/Protocol/Arp.h385
-rw-r--r--MdePkg/Include/Protocol/AtaPassThru.h471
-rw-r--r--MdePkg/Include/Protocol/AuthenticationInfo.h237
-rw-r--r--MdePkg/Include/Protocol/Bds.h72
-rw-r--r--MdePkg/Include/Protocol/Bis.h451
-rw-r--r--MdePkg/Include/Protocol/BlockIo.h241
-rw-r--r--MdePkg/Include/Protocol/BlockIo2.h206
-rw-r--r--MdePkg/Include/Protocol/BlockIoCrypto.h527
-rw-r--r--MdePkg/Include/Protocol/BluetoothConfig.h514
-rw-r--r--MdePkg/Include/Protocol/BluetoothHc.h328
-rw-r--r--MdePkg/Include/Protocol/BluetoothIo.h416
-rw-r--r--MdePkg/Include/Protocol/BootManagerPolicy.h138
-rw-r--r--MdePkg/Include/Protocol/BusSpecificDriverOverride.h72
-rw-r--r--MdePkg/Include/Protocol/Capsule.h35
-rw-r--r--MdePkg/Include/Protocol/ComponentName.h129
-rw-r--r--MdePkg/Include/Protocol/ComponentName2.h172
-rw-r--r--MdePkg/Include/Protocol/Cpu.h300
-rw-r--r--MdePkg/Include/Protocol/CpuIo2.h142
-rw-r--r--MdePkg/Include/Protocol/DebugPort.h146
-rw-r--r--MdePkg/Include/Protocol/DebugSupport.h778
-rw-r--r--MdePkg/Include/Protocol/Decompress.h122
-rw-r--r--MdePkg/Include/Protocol/DeferredImageLoad.h80
-rw-r--r--MdePkg/Include/Protocol/DeviceIo.h268
-rw-r--r--MdePkg/Include/Protocol/DevicePath.h1331
-rw-r--r--MdePkg/Include/Protocol/DevicePathFromText.h72
-rw-r--r--MdePkg/Include/Protocol/DevicePathToText.h85
-rw-r--r--MdePkg/Include/Protocol/DevicePathUtilities.h192
-rw-r--r--MdePkg/Include/Protocol/Dhcp4.h780
-rw-r--r--MdePkg/Include/Protocol/Dhcp6.h786
-rw-r--r--MdePkg/Include/Protocol/DiskInfo.h218
-rw-r--r--MdePkg/Include/Protocol/DiskIo.h117
-rw-r--r--MdePkg/Include/Protocol/DiskIo2.h172
-rw-r--r--MdePkg/Include/Protocol/Dns4.h543
-rw-r--r--MdePkg/Include/Protocol/Dns6.h539
-rw-r--r--MdePkg/Include/Protocol/DriverBinding.h201
-rw-r--r--MdePkg/Include/Protocol/DriverConfiguration.h167
-rw-r--r--MdePkg/Include/Protocol/DriverConfiguration2.h190
-rw-r--r--MdePkg/Include/Protocol/DriverDiagnostics.h131
-rw-r--r--MdePkg/Include/Protocol/DriverDiagnostics2.h111
-rw-r--r--MdePkg/Include/Protocol/DriverFamilyOverride.h66
-rw-r--r--MdePkg/Include/Protocol/DriverHealth.h247
-rw-r--r--MdePkg/Include/Protocol/DriverSupportedEfiVersion.h46
-rw-r--r--MdePkg/Include/Protocol/DxeSmmReadyToLock.h41
-rw-r--r--MdePkg/Include/Protocol/Eap.h162
-rw-r--r--MdePkg/Include/Protocol/EapConfiguration.h159
-rw-r--r--MdePkg/Include/Protocol/EapManagement.h403
-rw-r--r--MdePkg/Include/Protocol/EapManagement2.h87
-rw-r--r--MdePkg/Include/Protocol/Ebc.h314
-rw-r--r--MdePkg/Include/Protocol/EdidActive.h52
-rw-r--r--MdePkg/Include/Protocol/EdidDiscovered.h50
-rw-r--r--MdePkg/Include/Protocol/EdidOverride.h67
-rw-r--r--MdePkg/Include/Protocol/EraseBlock.h105
-rw-r--r--MdePkg/Include/Protocol/ExtendedSalBootService.h214
-rw-r--r--MdePkg/Include/Protocol/ExtendedSalServiceClasses.h275
-rw-r--r--MdePkg/Include/Protocol/FirmwareManagement.h538
-rw-r--r--MdePkg/Include/Protocol/FirmwareVolume2.h762
-rw-r--r--MdePkg/Include/Protocol/FirmwareVolumeBlock.h366
-rw-r--r--MdePkg/Include/Protocol/FormBrowser2.h180
-rw-r--r--MdePkg/Include/Protocol/Ftp4.h524
-rw-r--r--MdePkg/Include/Protocol/GraphicsOutput.h276
-rw-r--r--MdePkg/Include/Protocol/GuidedSectionExtraction.h141
-rw-r--r--MdePkg/Include/Protocol/Hash.h175
-rw-r--r--MdePkg/Include/Protocol/Hash2.h202
-rw-r--r--MdePkg/Include/Protocol/HiiConfigAccess.h223
-rw-r--r--MdePkg/Include/Protocol/HiiConfigKeyword.h201
-rw-r--r--MdePkg/Include/Protocol/HiiConfigRouting.h419
-rw-r--r--MdePkg/Include/Protocol/HiiDatabase.h531
-rw-r--r--MdePkg/Include/Protocol/HiiFont.h472
-rw-r--r--MdePkg/Include/Protocol/HiiImage.h356
-rw-r--r--MdePkg/Include/Protocol/HiiImageDecoder.h212
-rw-r--r--MdePkg/Include/Protocol/HiiImageEx.h245
-rw-r--r--MdePkg/Include/Protocol/HiiPackageList.h33
-rw-r--r--MdePkg/Include/Protocol/HiiString.h241
-rw-r--r--MdePkg/Include/Protocol/Http.h519
-rw-r--r--MdePkg/Include/Protocol/HttpUtilities.h124
-rw-r--r--MdePkg/Include/Protocol/I2cBusConfigurationManagement.h171
-rw-r--r--MdePkg/Include/Protocol/I2cEnumerate.h110
-rw-r--r--MdePkg/Include/Protocol/I2cHost.h152
-rw-r--r--MdePkg/Include/Protocol/I2cIo.h172
-rw-r--r--MdePkg/Include/Protocol/I2cMaster.h192
-rw-r--r--MdePkg/Include/Protocol/IScsiInitiatorName.h87
-rw-r--r--MdePkg/Include/Protocol/IdeControllerInit.h565
-rw-r--r--MdePkg/Include/Protocol/IncompatiblePciDeviceSupport.h173
-rw-r--r--MdePkg/Include/Protocol/Ip4.h612
-rw-r--r--MdePkg/Include/Protocol/Ip4Config.h182
-rw-r--r--MdePkg/Include/Protocol/Ip4Config2.h318
-rw-r--r--MdePkg/Include/Protocol/Ip6.h953
-rw-r--r--MdePkg/Include/Protocol/Ip6Config.h369
-rw-r--r--MdePkg/Include/Protocol/IpSec.h224
-rw-r--r--MdePkg/Include/Protocol/IpSecConfig.h807
-rw-r--r--MdePkg/Include/Protocol/IsaHc.h116
-rw-r--r--MdePkg/Include/Protocol/Kms.h1328
-rw-r--r--MdePkg/Include/Protocol/LegacyRegion2.h239
-rw-r--r--MdePkg/Include/Protocol/LoadFile.h88
-rw-r--r--MdePkg/Include/Protocol/LoadFile2.h85
-rw-r--r--MdePkg/Include/Protocol/LoadedImage.h88
-rw-r--r--MdePkg/Include/Protocol/ManagedNetwork.h372
-rw-r--r--MdePkg/Include/Protocol/McaInitPmi.h207
-rw-r--r--MdePkg/Include/Protocol/Metronome.h80
-rw-r--r--MdePkg/Include/Protocol/MonotonicCounter.h28
-rw-r--r--MdePkg/Include/Protocol/MpService.h632
-rw-r--r--MdePkg/Include/Protocol/Mtftp4.h593
-rw-r--r--MdePkg/Include/Protocol/Mtftp6.h826
-rw-r--r--MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h118
-rw-r--r--MdePkg/Include/Protocol/NvmExpressPassthru.h286
-rw-r--r--MdePkg/Include/Protocol/Pcd.h864
-rw-r--r--MdePkg/Include/Protocol/PcdInfo.h105
-rw-r--r--MdePkg/Include/Protocol/PciEnumerationComplete.h30
-rw-r--r--MdePkg/Include/Protocol/PciHostBridgeResourceAllocation.h428
-rw-r--r--MdePkg/Include/Protocol/PciHotPlugInit.h278
-rw-r--r--MdePkg/Include/Protocol/PciHotPlugRequest.h170
-rw-r--r--MdePkg/Include/Protocol/PciIo.h558
-rw-r--r--MdePkg/Include/Protocol/PciOverride.h46
-rw-r--r--MdePkg/Include/Protocol/PciPlatform.h344
-rw-r--r--MdePkg/Include/Protocol/PciRootBridgeIo.h442
-rw-r--r--MdePkg/Include/Protocol/PiPcd.h424
-rw-r--r--MdePkg/Include/Protocol/PiPcdInfo.h83
-rw-r--r--MdePkg/Include/Protocol/Pkcs7Verify.h221
-rw-r--r--MdePkg/Include/Protocol/PlatformDriverOverride.h140
-rw-r--r--MdePkg/Include/Protocol/PlatformToDriverConfiguration.h355
-rw-r--r--MdePkg/Include/Protocol/PxeBaseCode.h934
-rw-r--r--MdePkg/Include/Protocol/PxeBaseCodeCallBack.h130
-rw-r--r--MdePkg/Include/Protocol/RamDisk.h106
-rw-r--r--MdePkg/Include/Protocol/RealTimeClock.h36
-rw-r--r--MdePkg/Include/Protocol/RegularExpressionProtocol.h178
-rw-r--r--MdePkg/Include/Protocol/ReportStatusCodeHandler.h94
-rw-r--r--MdePkg/Include/Protocol/Reset.h31
-rw-r--r--MdePkg/Include/Protocol/Rest.h94
-rw-r--r--MdePkg/Include/Protocol/Rng.h156
-rw-r--r--MdePkg/Include/Protocol/Runtime.h128
-rw-r--r--MdePkg/Include/Protocol/S3SaveState.h176
-rw-r--r--MdePkg/Include/Protocol/S3SmmSaveState.h46
-rw-r--r--MdePkg/Include/Protocol/ScsiIo.h317
-rw-r--r--MdePkg/Include/Protocol/ScsiPassThru.h383
-rw-r--r--MdePkg/Include/Protocol/ScsiPassThruExt.h394
-rw-r--r--MdePkg/Include/Protocol/SdMmcPassThru.h264
-rw-r--r--MdePkg/Include/Protocol/Security.h103
-rw-r--r--MdePkg/Include/Protocol/Security2.h107
-rw-r--r--MdePkg/Include/Protocol/SecurityPolicy.h26
-rw-r--r--MdePkg/Include/Protocol/SerialIo.h299
-rw-r--r--MdePkg/Include/Protocol/ServiceBinding.h94
-rw-r--r--MdePkg/Include/Protocol/Shell.h1268
-rw-r--r--MdePkg/Include/Protocol/ShellDynamicCommand.h85
-rw-r--r--MdePkg/Include/Protocol/ShellParameters.h60
-rw-r--r--MdePkg/Include/Protocol/SimpleFileSystem.h562
-rw-r--r--MdePkg/Include/Protocol/SimpleNetwork.h681
-rw-r--r--MdePkg/Include/Protocol/SimplePointer.h143
-rw-r--r--MdePkg/Include/Protocol/SimpleTextIn.h133
-rw-r--r--MdePkg/Include/Protocol/SimpleTextInEx.h325
-rw-r--r--MdePkg/Include/Protocol/SimpleTextOut.h415
-rw-r--r--MdePkg/Include/Protocol/SmartCardEdge.h739
-rw-r--r--MdePkg/Include/Protocol/SmartCardReader.h325
-rw-r--r--MdePkg/Include/Protocol/Smbios.h213
-rw-r--r--MdePkg/Include/Protocol/SmbusHc.h295
-rw-r--r--MdePkg/Include/Protocol/SmmAccess2.h132
-rw-r--r--MdePkg/Include/Protocol/SmmBase2.h87
-rw-r--r--MdePkg/Include/Protocol/SmmCommunication.h65
-rw-r--r--MdePkg/Include/Protocol/SmmConfiguration.h86
-rw-r--r--MdePkg/Include/Protocol/SmmControl2.h106
-rw-r--r--MdePkg/Include/Protocol/SmmCpu.h247
-rw-r--r--MdePkg/Include/Protocol/SmmCpuIo2.h96
-rw-r--r--MdePkg/Include/Protocol/SmmEndOfDxe.h33
-rw-r--r--MdePkg/Include/Protocol/SmmGpiDispatch2.h125
-rw-r--r--MdePkg/Include/Protocol/SmmIoTrapDispatch2.h136
-rw-r--r--MdePkg/Include/Protocol/SmmPciRootBridgeIo.h37
-rw-r--r--MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h170
-rw-r--r--MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h117
-rw-r--r--MdePkg/Include/Protocol/SmmReadyToLock.h35
-rw-r--r--MdePkg/Include/Protocol/SmmReportStatusCodeHandler.h81
-rw-r--r--MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h119
-rw-r--r--MdePkg/Include/Protocol/SmmStatusCode.h65
-rw-r--r--MdePkg/Include/Protocol/SmmSwDispatch2.h136
-rw-r--r--MdePkg/Include/Protocol/SmmSxDispatch2.h135
-rw-r--r--MdePkg/Include/Protocol/SmmUsbDispatch2.h130
-rw-r--r--MdePkg/Include/Protocol/StatusCode.h59
-rw-r--r--MdePkg/Include/Protocol/StorageSecurityCommand.h212
-rw-r--r--MdePkg/Include/Protocol/SuperIo.h175
-rw-r--r--MdePkg/Include/Protocol/SuperIoControl.h92
-rw-r--r--MdePkg/Include/Protocol/Supplicant.h460
-rw-r--r--MdePkg/Include/Protocol/TapeIo.h237
-rw-r--r--MdePkg/Include/Protocol/Tcg2Protocol.h341
-rw-r--r--MdePkg/Include/Protocol/TcgService.h201
-rw-r--r--MdePkg/Include/Protocol/Tcp4.h577
-rw-r--r--MdePkg/Include/Protocol/Tcp6.h864
-rw-r--r--MdePkg/Include/Protocol/Timer.h180
-rw-r--r--MdePkg/Include/Protocol/Timestamp.h101
-rw-r--r--MdePkg/Include/Protocol/Tls.h460
-rw-r--r--MdePkg/Include/Protocol/TlsConfig.h132
-rw-r--r--MdePkg/Include/Protocol/TrEEProtocol.h249
-rw-r--r--MdePkg/Include/Protocol/Udp4.h445
-rw-r--r--MdePkg/Include/Protocol/Udp6.h580
-rw-r--r--MdePkg/Include/Protocol/UgaDraw.h166
-rw-r--r--MdePkg/Include/Protocol/UgaIo.h197
-rw-r--r--MdePkg/Include/Protocol/UnicodeCollation.h192
-rw-r--r--MdePkg/Include/Protocol/Usb2HostController.h664
-rw-r--r--MdePkg/Include/Protocol/UsbFunctionIo.h683
-rw-r--r--MdePkg/Include/Protocol/UsbHostController.h508
-rw-r--r--MdePkg/Include/Protocol/UsbIo.h512
-rw-r--r--MdePkg/Include/Protocol/UserCredential.h292
-rw-r--r--MdePkg/Include/Protocol/UserCredential2.h314
-rw-r--r--MdePkg/Include/Protocol/UserManager.h624
-rw-r--r--MdePkg/Include/Protocol/Variable.h45
-rw-r--r--MdePkg/Include/Protocol/VariableWrite.h45
-rw-r--r--MdePkg/Include/Protocol/VlanConfig.h143
-rw-r--r--MdePkg/Include/Protocol/WatchdogTimer.h144
-rw-r--r--MdePkg/Include/Protocol/WiFi.h1129
-rw-r--r--MdePkg/Include/Protocol/WiFi2.h413
-rw-r--r--MdePkg/Include/Uefi.h27
-rw-r--r--MdePkg/Include/Uefi/UefiAcpiDataTable.h60
-rw-r--r--MdePkg/Include/Uefi/UefiBaseType.h299
-rw-r--r--MdePkg/Include/Uefi/UefiGpt.h141
-rw-r--r--MdePkg/Include/Uefi/UefiInternalFormRepresentation.h2135
-rw-r--r--MdePkg/Include/Uefi/UefiMultiPhase.h231
-rw-r--r--MdePkg/Include/Uefi/UefiPxe.h1792
-rw-r--r--MdePkg/Include/Uefi/UefiSpec.h2194
-rw-r--r--MdePkg/Include/X64/ProcessorBind.h337
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/ArmCache.c247
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf61
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.uni23
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/EbcCache.c231
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c242
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/X86Cache.c278
-rw-r--r--MdePkg/Library/BaseCpuLib/AArch64/CpuFlushTlb.S38
-rw-r--r--MdePkg/Library/BaseCpuLib/AArch64/CpuSleep.S39
-rw-r--r--MdePkg/Library/BaseCpuLib/Arm/CpuFlushTlb.S36
-rw-r--r--MdePkg/Library/BaseCpuLib/Arm/CpuFlushTlb.asm37
-rw-r--r--MdePkg/Library/BaseCpuLib/Arm/CpuSleep.S43
-rw-r--r--MdePkg/Library/BaseCpuLib/Arm/CpuSleep.asm44
-rw-r--r--MdePkg/Library/BaseCpuLib/BaseCpuLib.inf82
-rw-r--r--MdePkg/Library/BaseCpuLib/BaseCpuLib.uni24
-rw-r--r--MdePkg/Library/BaseCpuLib/Ebc/CpuSleepFlushTlb.c46
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm40
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.c34
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.nasm37
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlbGcc.c32
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm39
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.c34
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.nasm36
-rw-r--r--MdePkg/Library/BaseCpuLib/Ia32/CpuSleepGcc.c33
-rw-r--r--MdePkg/Library/BaseCpuLib/Ipf/CpuFlushTlb.s58
-rw-r--r--MdePkg/Library/BaseCpuLib/Ipf/CpuSleep.c66
-rw-r--r--MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S35
-rw-r--r--MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm38
-rw-r--r--MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.nasm38
-rw-r--r--MdePkg/Library/BaseCpuLib/X64/CpuSleep.S34
-rw-r--r--MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm37
-rw-r--r--MdePkg/Library/BaseCpuLib/X64/CpuSleep.nasm37
-rw-r--r--MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf36
-rw-r--r--MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.uni21
-rw-r--r--MdePkg/Library/BaseDebugLibNull/DebugLib.c198
-rw-r--r--MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf49
-rw-r--r--MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.uni21
-rw-r--r--MdePkg/Library/BaseDebugLibSerialPort/DebugLib.c284
-rw-r--r--MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.c59
-rw-r--r--MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf40
-rw-r--r--MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.uni21
-rw-r--r--MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.c484
-rw-r--r--MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf54
-rw-r--r--MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.uni27
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf82
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.uni24
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicInternal.h26
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm141
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.nasm137
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoHighLevel.c2356
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLib.c317
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibArm.c599
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibEbc.c342
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibGcc.c196
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c214
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibIpf.c736
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibMmioBuffer.c411
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/IoLibMsc.c228
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm127
-rw-r--r--MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.nasm126
-rw-r--r--MdePkg/Library/BaseLib/AArch64/CpuBreakpoint.S37
-rw-r--r--MdePkg/Library/BaseLib/AArch64/DisableInterrupts.S36
-rw-r--r--MdePkg/Library/BaseLib/AArch64/EnableInterrupts.S36
-rw-r--r--MdePkg/Library/BaseLib/AArch64/GetInterruptsState.S45
-rw-r--r--MdePkg/Library/BaseLib/AArch64/MemoryFence.S39
-rw-r--r--MdePkg/Library/BaseLib/AArch64/SetJumpLongJump.S97
-rw-r--r--MdePkg/Library/BaseLib/AArch64/SwitchStack.S69
-rw-r--r--MdePkg/Library/BaseLib/ARShiftU64.c41
-rw-r--r--MdePkg/Library/BaseLib/Arm/CpuBreakpoint.S36
-rw-r--r--MdePkg/Library/BaseLib/Arm/CpuBreakpoint.asm38
-rw-r--r--MdePkg/Library/BaseLib/Arm/CpuPause.asm41
-rw-r--r--MdePkg/Library/BaseLib/Arm/DisableInterrupts.S35
-rw-r--r--MdePkg/Library/BaseLib/Arm/DisableInterrupts.asm37
-rw-r--r--MdePkg/Library/BaseLib/Arm/EnableInterrupts.S36
-rw-r--r--MdePkg/Library/BaseLib/Arm/EnableInterrupts.asm37
-rw-r--r--MdePkg/Library/BaseLib/Arm/GetInterruptsState.S43
-rw-r--r--MdePkg/Library/BaseLib/Arm/GetInterruptsState.asm45
-rw-r--r--MdePkg/Library/BaseLib/Arm/InternalSwitchStack.c79
-rwxr-xr-xMdePkg/Library/BaseLib/Arm/Math64.S269
-rw-r--r--MdePkg/Library/BaseLib/Arm/MemoryFence.S39
-rw-r--r--MdePkg/Library/BaseLib/Arm/MemoryFence.asm39
-rw-r--r--MdePkg/Library/BaseLib/Arm/SetJumpLongJump.S70
-rw-r--r--MdePkg/Library/BaseLib/Arm/SetJumpLongJump.asm70
-rw-r--r--MdePkg/Library/BaseLib/Arm/SwitchStack.S68
-rw-r--r--MdePkg/Library/BaseLib/Arm/SwitchStack.asm45
-rw-r--r--MdePkg/Library/BaseLib/Arm/Unaligned.c252
-rw-r--r--MdePkg/Library/BaseLib/BaseLib.inf872
-rw-r--r--MdePkg/Library/BaseLib/BaseLib.uni23
-rw-r--r--MdePkg/Library/BaseLib/BaseLibInternals.h1865
-rw-r--r--MdePkg/Library/BaseLib/BitField.c922
-rw-r--r--MdePkg/Library/BaseLib/CheckSum.c337
-rw-r--r--MdePkg/Library/BaseLib/ChkStkGcc.c24
-rw-r--r--MdePkg/Library/BaseLib/Cpu.c65
-rw-r--r--MdePkg/Library/BaseLib/CpuDeadLoop.c38
-rw-r--r--MdePkg/Library/BaseLib/DivS64x64Remainder.c53
-rw-r--r--MdePkg/Library/BaseLib/DivU64x32.c45
-rw-r--r--MdePkg/Library/BaseLib/DivU64x32Remainder.c49
-rw-r--r--MdePkg/Library/BaseLib/DivU64x64Remainder.c49
-rw-r--r--MdePkg/Library/BaseLib/Ebc/CpuBreakpoint.c129
-rw-r--r--MdePkg/Library/BaseLib/Ebc/SetJumpLongJump.c67
-rw-r--r--MdePkg/Library/BaseLib/Ebc/SwitchStack.c58
-rw-r--r--MdePkg/Library/BaseLib/FilePaths.c118
-rw-r--r--MdePkg/Library/BaseLib/GetPowerOfTwo32.c44
-rw-r--r--MdePkg/Library/BaseLib/GetPowerOfTwo64.c44
-rw-r--r--MdePkg/Library/BaseLib/HighBitSet32.c47
-rw-r--r--MdePkg/Library/BaseLib/HighBitSet64.c55
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ARShiftU64.S43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ARShiftU64.c51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ARShiftU64.nasm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.c41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.nasm36
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuId.S63
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuId.asm66
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuId.c74
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuId.nasm65
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuIdEx.S67
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm68
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuIdEx.c82
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuIdEx.nasm67
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuPause.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuPause.c35
-rw-r--r--MdePkg/Library/BaseLib/Ia32/CpuPause.nasm36
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableCache.S39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableCache.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableCache.c36
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableCache.nasm42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableInterrupts.c32
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisableInterrupts.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisablePaging32.S52
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm57
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisablePaging32.c77
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DisablePaging32.nasm54
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c53
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32.S41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32.asm46
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32.c50
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32.nasm43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.S46
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.c55
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.nasm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.S89
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm92
-rw-r--r--MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.nasm94
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableCache.S39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableCache.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableCache.c36
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableCache.nasm42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.S36
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.c36
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableInterrupts.c32
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnableInterrupts.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging32.S52
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm57
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging32.c81
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging32.nasm54
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging64.S63
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm68
-rw-r--r--MdePkg/Library/BaseLib/Ia32/EnablePaging64.nasm65
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm55
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FlushCacheLine.c58
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FlushCacheLine.nasm51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FxRestore.asm42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FxRestore.c40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FxRestore.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FxSave.asm42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FxSave.c40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/FxSave.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/GccInline.c1771
-rw-r--r--MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.S48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.c60
-rw-r--r--MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.nasm47
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Invd.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Invd.c35
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Invd.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LRotU64.S48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LRotU64.asm51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LRotU64.c55
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LRotU64.nasm50
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LShiftU64.S43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LShiftU64.asm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LShiftU64.c51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LShiftU64.nasm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LongJump.S41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LongJump.asm46
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LongJump.c50
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LongJump.nasm43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ModU64x32.S40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ModU64x32.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ModU64x32.c48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ModU64x32.nasm42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Monitor.S40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Monitor.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Monitor.c48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Monitor.nasm42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x32.S41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x32.asm43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x32.c47
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x32.nasm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x64.S44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x64.asm47
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x64.c51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x64.nasm46
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Mwait.S38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Mwait.asm43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Mwait.c44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Mwait.nasm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Non-existing.c57
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RRotU64.S48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RRotU64.asm51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RRotU64.c55
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RRotU64.nasm50
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RShiftU64.S46
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RShiftU64.asm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RShiftU64.c51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RShiftU64.nasm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RdRand.S80
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RdRand.asm94
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RdRand.nasm90
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr0.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr0.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr0.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr2.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr2.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr2.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr3.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr3.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr3.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr4.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr4.c40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCr4.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCs.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCs.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadCs.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr0.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr0.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr0.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr1.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr1.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr1.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr2.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr2.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr2.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr3.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr3.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr3.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr4.asm47
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr4.c40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr4.nasm44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr5.asm47
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr5.c40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr5.nasm44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr6.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr6.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr6.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr7.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr7.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDr7.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDs.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDs.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadDs.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadEflags.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadEflags.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadEflags.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadEs.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadEs.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadEs.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadFs.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadFs.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadFs.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadGdtr.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadGdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadGs.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadGs.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadGs.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadIdtr.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadIdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadLdtr.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadLdtr.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm0.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm0.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm0.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm1.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm1.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm1.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm2.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm2.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm2.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm3.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm3.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm3.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm4.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm4.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm4.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm5.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm5.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm5.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm6.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm6.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm6.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm7.asm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm7.c42
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMm7.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMsr64.c43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadMsr64.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadPmc.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadPmc.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadPmc.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadSs.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadSs.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadSs.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadTr.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadTr.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadTr.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadTsc.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadTsc.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ReadTsc.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SetJump.S44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SetJump.asm51
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SetJump.c74
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SetJump.nasm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SwapBytes64.S38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SwapBytes64.c43
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SwapBytes64.nasm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Thunk16.S222
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Thunk16.asm260
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Thunk16.nasm263
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Wbinvd.asm40
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Wbinvd.c35
-rw-r--r--MdePkg/Library/BaseLib/Ia32/Wbinvd.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr0.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr0.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr0.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr2.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr2.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr2.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr3.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr3.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr3.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr4.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr4.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteCr4.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr0.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr0.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr0.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr1.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr1.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr1.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr2.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr2.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr2.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr3.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr3.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr3.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr4.asm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr4.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr4.nasm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr5.asm48
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr5.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr5.nasm45
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr6.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr6.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr6.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr7.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr7.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteDr7.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteGdtr.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteGdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteIdtr.c41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteIdtr.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteLdtr.c39
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteLdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm0.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm0.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm0.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm1.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm1.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm1.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm2.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm2.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm2.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm3.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm3.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm3.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm4.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm4.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm4.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm5.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm5.c37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm5.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm6.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm6.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm6.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm7.asm41
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm7.c38
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMm7.nasm37
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm44
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMsr64.c49
-rw-r--r--MdePkg/Library/BaseLib/Ia32/WriteMsr64.nasm41
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessDbr.s118
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessEicr.s512
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessGcr.s274
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessGp.s86
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessKr.s360
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessKr7.s63
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessMsr.s79
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessMsrDb.s121
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessPmr.s124
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AccessPsr.s111
-rw-r--r--MdePkg/Library/BaseLib/Ipf/Asm.h27
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AsmCpuMisc.s79
-rw-r--r--MdePkg/Library/BaseLib/Ipf/AsmPalCall.s158
-rw-r--r--MdePkg/Library/BaseLib/Ipf/CpuBreakpoint.c96
-rw-r--r--MdePkg/Library/BaseLib/Ipf/CpuBreakpointMsc.c102
-rw-r--r--MdePkg/Library/BaseLib/Ipf/CpuPause.s25
-rw-r--r--MdePkg/Library/BaseLib/Ipf/ExecFc.s66
-rw-r--r--MdePkg/Library/BaseLib/Ipf/FlushCacheRange.c51
-rw-r--r--MdePkg/Library/BaseLib/Ipf/GetInterruptState.s27
-rw-r--r--MdePkg/Library/BaseLib/Ipf/Ia64gen.h205
-rw-r--r--MdePkg/Library/BaseLib/Ipf/InternalFlushCacheRange.s94
-rw-r--r--MdePkg/Library/BaseLib/Ipf/InternalSwitchStack.c64
-rw-r--r--MdePkg/Library/BaseLib/Ipf/LongJmp.s121
-rw-r--r--MdePkg/Library/BaseLib/Ipf/ReadAr.s109
-rw-r--r--MdePkg/Library/BaseLib/Ipf/ReadCpuid.s40
-rw-r--r--MdePkg/Library/BaseLib/Ipf/ReadCr.s102
-rw-r--r--MdePkg/Library/BaseLib/Ipf/SetJmp.s108
-rw-r--r--MdePkg/Library/BaseLib/Ipf/SwitchStack.s52
-rw-r--r--MdePkg/Library/BaseLib/Ipf/Unaligned.c243
-rw-r--r--MdePkg/Library/BaseLib/LRotU32.c42
-rw-r--r--MdePkg/Library/BaseLib/LRotU64.c42
-rw-r--r--MdePkg/Library/BaseLib/LShiftU64.c41
-rw-r--r--MdePkg/Library/BaseLib/LinkedList.c550
-rw-r--r--MdePkg/Library/BaseLib/LongJump.c47
-rw-r--r--MdePkg/Library/BaseLib/LowBitSet32.c47
-rw-r--r--MdePkg/Library/BaseLib/LowBitSet64.c50
-rw-r--r--MdePkg/Library/BaseLib/Math64.c368
-rw-r--r--MdePkg/Library/BaseLib/ModU64x32.c45
-rw-r--r--MdePkg/Library/BaseLib/MultS64x64.c42
-rw-r--r--MdePkg/Library/BaseLib/MultU64x32.c46
-rw-r--r--MdePkg/Library/BaseLib/MultU64x64.c46
-rw-r--r--MdePkg/Library/BaseLib/RRotU32.c42
-rw-r--r--MdePkg/Library/BaseLib/RRotU64.c42
-rw-r--r--MdePkg/Library/BaseLib/RShiftU64.c41
-rw-r--r--MdePkg/Library/BaseLib/SafeString.c3649
-rw-r--r--MdePkg/Library/BaseLib/SetJump.c40
-rw-r--r--MdePkg/Library/BaseLib/String.c1812
-rw-r--r--MdePkg/Library/BaseLib/SwapBytes16.c39
-rw-r--r--MdePkg/Library/BaseLib/SwapBytes32.c45
-rw-r--r--MdePkg/Library/BaseLib/SwapBytes64.c39
-rw-r--r--MdePkg/Library/BaseLib/SwitchStack.c76
-rw-r--r--MdePkg/Library/BaseLib/Unaligned.c222
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm37
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuBreakpoint.c39
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuBreakpoint.nasm37
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuId.S60
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuId.asm62
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuId.nasm64
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuIdEx.S62
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuIdEx.asm64
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuIdEx.nasm66
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuPause.asm37
-rw-r--r--MdePkg/Library/BaseLib/X64/CpuPause.nasm37
-rw-r--r--MdePkg/Library/BaseLib/X64/DisableCache.S39
-rw-r--r--MdePkg/Library/BaseLib/X64/DisableCache.asm43
-rw-r--r--MdePkg/Library/BaseLib/X64/DisableCache.nasm43
-rw-r--r--MdePkg/Library/BaseLib/X64/DisableInterrupts.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/DisableInterrupts.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/DisablePaging64.S82
-rw-r--r--MdePkg/Library/BaseLib/X64/DisablePaging64.asm84
-rw-r--r--MdePkg/Library/BaseLib/X64/DisablePaging64.nasm84
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableCache.S39
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableCache.asm43
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableCache.nasm43
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.S36
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableInterrupts.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/EnableInterrupts.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/FlushCacheLine.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/FlushCacheLine.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/FxRestore.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/FxRestore.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/FxSave.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/FxSave.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/GccInline.c1806
-rw-r--r--MdePkg/Library/BaseLib/X64/Invd.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/Invd.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/LongJump.S54
-rw-r--r--MdePkg/Library/BaseLib/X64/LongJump.asm58
-rw-r--r--MdePkg/Library/BaseLib/X64/LongJump.nasm58
-rw-r--r--MdePkg/Library/BaseLib/X64/Monitor.asm43
-rw-r--r--MdePkg/Library/BaseLib/X64/Monitor.nasm43
-rw-r--r--MdePkg/Library/BaseLib/X64/Mwait.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/Mwait.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/Non-existing.c153
-rw-r--r--MdePkg/Library/BaseLib/X64/RdRand.S72
-rw-r--r--MdePkg/Library/BaseLib/X64/RdRand.asm83
-rw-r--r--MdePkg/Library/BaseLib/X64/RdRand.nasm83
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr0.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr0.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr2.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr2.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr3.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr3.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr4.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCr4.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCs.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadCs.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr0.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr0.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr1.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr1.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr2.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr2.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr3.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr3.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr4.asm42
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr4.nasm42
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr5.asm42
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr5.nasm42
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr6.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr6.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr7.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDr7.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDs.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadDs.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadEflags.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadEflags.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadEs.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadEs.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadFs.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadFs.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadGdtr.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadGdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadGs.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadGs.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadIdtr.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadIdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadLdtr.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadLdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm0.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm0.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm1.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm1.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm2.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm2.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm3.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm3.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm4.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm4.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm5.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm5.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm6.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm6.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm7.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMm7.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMsr64.asm40
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMsr64.c39
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadMsr64.nasm40
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadPmc.asm40
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadPmc.nasm40
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadSs.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadSs.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadTr.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadTr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadTsc.asm40
-rw-r--r--MdePkg/Library/BaseLib/X64/ReadTsc.nasm40
-rw-r--r--MdePkg/Library/BaseLib/X64/SetJump.S53
-rw-r--r--MdePkg/Library/BaseLib/X64/SetJump.asm66
-rw-r--r--MdePkg/Library/BaseLib/X64/SetJump.nasm66
-rw-r--r--MdePkg/Library/BaseLib/X64/SwitchStack.S52
-rw-r--r--MdePkg/Library/BaseLib/X64/SwitchStack.asm51
-rw-r--r--MdePkg/Library/BaseLib/X64/SwitchStack.nasm51
-rw-r--r--MdePkg/Library/BaseLib/X64/Thunk16.S334
-rw-r--r--MdePkg/Library/BaseLib/X64/Thunk16.asm315
-rw-r--r--MdePkg/Library/BaseLib/X64/Thunk16.nasm325
-rw-r--r--MdePkg/Library/BaseLib/X64/Wbinvd.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/Wbinvd.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr0.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr0.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr2.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr2.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr3.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr3.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr4.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteCr4.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr0.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr0.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr1.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr1.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr2.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr2.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr3.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr3.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr4.asm43
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr4.nasm43
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr5.asm43
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr5.nasm43
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr6.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr6.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr7.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteDr7.nasm39
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteGdtr.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteGdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteIdtr.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteIdtr.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteLdtr.asm38
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteLdtr.nasm38
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm0.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm0.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm1.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm1.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm2.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm2.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm3.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm3.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm4.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm4.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm5.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm5.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm6.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm6.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm7.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMm7.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMsr64.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMsr64.c42
-rw-r--r--MdePkg/Library/BaseLib/X64/WriteMsr64.nasm41
-rw-r--r--MdePkg/Library/BaseLib/X86DisablePaging32.c66
-rw-r--r--MdePkg/Library/BaseLib/X86DisablePaging64.c63
-rw-r--r--MdePkg/Library/BaseLib/X86EnablePaging32.c69
-rw-r--r--MdePkg/Library/BaseLib/X86EnablePaging64.c65
-rw-r--r--MdePkg/Library/BaseLib/X86FxRestore.c49
-rw-r--r--MdePkg/Library/BaseLib/X86FxSave.c48
-rw-r--r--MdePkg/Library/BaseLib/X86GetInterruptState.c41
-rw-r--r--MdePkg/Library/BaseLib/X86MemoryFence.c32
-rw-r--r--MdePkg/Library/BaseLib/X86Msr.c660
-rw-r--r--MdePkg/Library/BaseLib/X86RdRand.c79
-rw-r--r--MdePkg/Library/BaseLib/X86ReadGdtr.c39
-rw-r--r--MdePkg/Library/BaseLib/X86ReadIdtr.c39
-rw-r--r--MdePkg/Library/BaseLib/X86Thunk.c268
-rw-r--r--MdePkg/Library/BaseLib/X86WriteGdtr.c39
-rw-r--r--MdePkg/Library/BaseLib/X86WriteIdtr.c39
-rw-r--r--MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf57
-rw-r--r--MdePkg/Library/BaseMemoryLib/BaseMemoryLib.uni21
-rw-r--r--MdePkg/Library/BaseMemoryLib/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLib/CopyMem.c154
-rw-r--r--MdePkg/Library/BaseMemoryLib/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/BaseMemoryLib/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/BaseMemoryLib/MemLibGeneric.c293
-rw-r--r--MdePkg/Library/BaseMemoryLib/MemLibGuid.c171
-rw-r--r--MdePkg/Library/BaseMemoryLib/MemLibInternals.h251
-rw-r--r--MdePkg/Library/BaseMemoryLib/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLib/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLib/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLib/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/BaseMemoryLib/SetMem.c87
-rw-r--r--MdePkg/Library/BaseMemoryLib/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLib/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLib/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLib/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/BaseMemoryLib/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf151
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.uni22
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.nasm57
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.S86
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm77
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.nasm77
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.S61
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm64
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.nasm63
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S66
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm70
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.nasm68
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm63
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.nasm61
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm59
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm50
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.S54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/MemLibGuid.c171
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/MemLibInternals.h251
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.nasm58
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S74
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm70
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm74
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S61
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm58
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm60
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.S60
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm57
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm59
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm53
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm46
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S57
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm54
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm56
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S40
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S142
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S284
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S161
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S247
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.S65
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.asm70
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.S138
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.asm140
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.S175
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.asm147
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/MemLibGuid.c165
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.S148
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.asm147
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMemGeneric.c142
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.S89
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.asm96
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf174
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.uni22
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.nasm57
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.S85
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm84
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.nasm84
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.S61
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.nasm63
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S50
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.nasm52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.nasm48
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.S49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm50
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.nasm49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/MemLibGuid.c171
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/MemLibInternals.h251
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/ScanMem8Wrapper.c100
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.nasm58
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.S82
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm79
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.nasm83
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.S57
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm58
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.nasm62
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.nasm47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.nasm47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.S51
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm48
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.nasm50
-rw-r--r--MdePkg/Library/BaseMemoryLibOptDxe/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf152
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.uni22
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.nasm57
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S62
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm61
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.nasm62
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.S61
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.nasm63
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S50
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm52
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.nasm48
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.S49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm50
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.nasm49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/MemLibGuid.c171
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/MemLibInternals.h251
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm54
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.nasm58
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.S66
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm61
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.nasm65
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.nasm47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm44
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm43
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.nasm45
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.S50
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm47
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.nasm49
-rw-r--r--MdePkg/Library/BaseMemoryLibOptPei/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf149
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.uni22
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.nasm57
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.S65
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm63
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.nasm64
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.S54
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm57
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.nasm56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.S54
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm57
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.nasm56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S63
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm66
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.nasm65
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.S54
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm57
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.nasm56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.S43
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm45
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.nasm44
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm49
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.nasm48
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.S49
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm50
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.nasm49
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/MemLibGuid.c171
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/MemLibInternals.h251
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm54
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.nasm58
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.S66
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm61
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.nasm65
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/IsZeroBuffer.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm44
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm44
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.S47
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm44
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.nasm46
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.S46
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm43
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.nasm45
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.S50
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm47
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.nasm49
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf148
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.uni21
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.nasm57
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.S85
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm84
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.nasm84
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/IsZeroBuffer.nasm74
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.S61
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm64
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.nasm63
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.S52
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.nasm54
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.S76
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm75
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.nasm73
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.S69
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm71
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.nasm69
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.S68
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm70
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.nasm68
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.S58
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm64
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.nasm60
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.S65
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm67
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.nasm65
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c171
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/MemLibInternals.h251
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm54
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.nasm58
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S83
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm79
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.nasm83
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/IsZeroBuffer.nasm76
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm53
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.nasm55
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S72
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm69
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.nasm71
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S70
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm67
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.nasm69
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S69
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm66
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.nasm68
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S60
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm59
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.nasm59
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S65
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm63
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.nasm65
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c1454
-rw-r--r--MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf50
-rw-r--r--MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.uni31
-rw-r--r--MdePkg/Library/BasePalLibNull/BasePalLibNull.inf40
-rw-r--r--MdePkg/Library/BasePalLibNull/BasePalLibNull.uni21
-rw-r--r--MdePkg/Library/BasePalLibNull/PalCall.c59
-rw-r--r--MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf42
-rw-r--r--MdePkg/Library/BasePcdLibNull/BasePcdLibNull.uni22
-rw-r--r--MdePkg/Library/BasePcdLibNull/PcdLib.c1480
-rw-r--r--MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf42
-rw-r--r--MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.uni22
-rw-r--r--MdePkg/Library/BasePciCf8Lib/PciCf8Lib.c1784
-rw-r--r--MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf46
-rw-r--r--MdePkg/Library/BasePciExpressLib/BasePciExpressLib.uni22
-rw-r--r--MdePkg/Library/BasePciExpressLib/PciExpressLib.c1419
-rw-r--r--MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf40
-rw-r--r--MdePkg/Library/BasePciLibCf8/BasePciLibCf8.uni22
-rw-r--r--MdePkg/Library/BasePciLibCf8/PciLib.c1138
-rw-r--r--MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf41
-rw-r--r--MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.uni22
-rw-r--r--MdePkg/Library/BasePciLibPciExpress/PciLib.c1138
-rw-r--r--MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf43
-rw-r--r--MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.uni21
-rw-r--r--MdePkg/Library/BasePciSegmentLibPci/PciSegmentLib.c1286
-rw-r--r--MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf38
-rw-r--r--MdePkg/Library/BasePeCoffExtraActionLibNull/PeCoffExtraActionLib.c54
-rw-r--r--MdePkg/Library/BasePeCoffExtraActionLibNull/PeCoffExtraActionLibNull.uni21
-rw-r--r--MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf40
-rw-r--r--MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.uni21
-rw-r--r--MdePkg/Library/BasePeCoffGetEntryPointLib/PeCoffGetEntryPoint.c318
-rw-r--r--MdePkg/Library/BasePeCoffLib/Arm/PeCoffLoaderEx.c250
-rw-r--r--MdePkg/Library/BasePeCoffLib/BasePeCoff.c1957
-rw-r--r--MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf59
-rw-r--r--MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni29
-rw-r--r--MdePkg/Library/BasePeCoffLib/BasePeCoffLibInternals.h133
-rw-r--r--MdePkg/Library/BasePeCoffLib/Ipf/PeCoffLoaderEx.c422
-rw-r--r--MdePkg/Library/BasePeCoffLib/PeCoffLoaderEx.c90
-rw-r--r--MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf45
-rw-r--r--MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.uni21
-rw-r--r--MdePkg/Library/BasePerformanceLibNull/PerformanceLib.c306
-rw-r--r--MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf50
-rw-r--r--MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.uni22
-rw-r--r--MdePkg/Library/BasePostCodeLibDebug/PostCode.c127
-rw-r--r--MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf48
-rw-r--r--MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.uni21
-rw-r--r--MdePkg/Library/BasePostCodeLibPort80/PostCode.c145
-rw-r--r--MdePkg/Library/BasePrintLib/BasePrintLib.inf50
-rw-r--r--MdePkg/Library/BasePrintLib/BasePrintLib.uni21
-rw-r--r--MdePkg/Library/BasePrintLib/PrintLib.c962
-rw-r--r--MdePkg/Library/BasePrintLib/PrintLibInternal.c1262
-rw-r--r--MdePkg/Library/BasePrintLib/PrintLibInternal.h277
-rw-r--r--MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLib.c392
-rw-r--r--MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf39
-rw-r--r--MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.uni21
-rw-r--r--MdePkg/Library/BaseRngLib/BaseRng.c189
-rw-r--r--MdePkg/Library/BaseRngLib/BaseRngLib.inf41
-rw-r--r--MdePkg/Library/BaseRngLib/BaseRngLib.uni22
-rw-r--r--MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf43
-rw-r--r--MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.uni24
-rw-r--r--MdePkg/Library/BaseS3BootScriptLibNull/BootScriptLib.c568
-rw-r--r--MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf46
-rw-r--r--MdePkg/Library/BaseS3IoLib/BaseS3IoLib.uni23
-rw-r--r--MdePkg/Library/BaseS3IoLib/S3IoLib.c3312
-rw-r--r--MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf47
-rw-r--r--MdePkg/Library/BaseS3PciLib/BaseS3PciLib.uni23
-rw-r--r--MdePkg/Library/BaseS3PciLib/S3PciLib.c1269
-rw-r--r--MdePkg/Library/BaseS3SmbusLib/BaseS3SmbusLib.inf47
-rw-r--r--MdePkg/Library/BaseS3SmbusLib/BaseS3SmbusLib.uni23
-rw-r--r--MdePkg/Library/BaseS3SmbusLib/S3SmbusLib.c502
-rw-r--r--MdePkg/Library/BaseS3StallLib/BaseS3StallLib.inf45
-rw-r--r--MdePkg/Library/BaseS3StallLib/BaseS3StallLib.uni23
-rw-r--r--MdePkg/Library/BaseS3StallLib/S3StallLib.c52
-rw-r--r--MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.c197
-rw-r--r--MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf36
-rw-r--r--MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.uni21
-rw-r--r--MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.c544
-rw-r--r--MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf35
-rw-r--r--MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.uni21
-rw-r--r--MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c55
-rw-r--r--MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf44
-rw-r--r--MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.uni21
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S205
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Arm/Synchronization.S213
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Arm/Synchronization.asm214
-rwxr-xr-xMdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf121
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.uni22
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLibInternals.h153
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ebc/Synchronization.c147
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/GccInline.c215
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.asm46
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.c51
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.nasm43
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.asm45
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.c50
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.nasm42
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.asm47
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.c50
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.nasm48
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.asm42
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.c42
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.nasm39
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.asm42
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.c43
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.nasm39
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ia32/InternalGetSpinLockProperties.c64
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ipf/InterlockedCompareExchange16.s30
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ipf/InterlockedCompareExchange32.s29
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ipf/InterlockedCompareExchange64.s28
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ipf/InternalGetSpinLockProperties.c29
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Ipf/Synchronization.c77
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/Synchronization.c418
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/SynchronizationGcc.c434
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/SynchronizationMsc.c436
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c220
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.asm42
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.c54
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.nasm42
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.asm41
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.c54
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.nasm41
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.asm41
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.c53
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.nasm41
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.asm39
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.c46
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.nasm39
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.asm39
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.c46
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.nasm39
-rw-r--r--MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf45
-rw-r--r--MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.uni24
-rw-r--r--MdePkg/Library/BaseTimerLibNullTemplate/TimerLibNull.c134
-rw-r--r--MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c803
-rw-r--r--MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf43
-rw-r--r--MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.uni21
-rw-r--r--MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h211
-rw-r--r--MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.c79
-rw-r--r--MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf41
-rw-r--r--MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.uni21
-rw-r--r--MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf44
-rw-r--r--MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.uni22
-rw-r--r--MdePkg/Library/DxeCoreHobLib/HobLib.c568
-rw-r--r--MdePkg/Library/DxeExtendedSalLib/DxeExtendedSalLib.inf46
-rw-r--r--MdePkg/Library/DxeExtendedSalLib/DxeExtendedSalLib.uni21
-rw-r--r--MdePkg/Library/DxeExtendedSalLib/ExtendedSalLib.c1001
-rw-r--r--MdePkg/Library/DxeExtendedSalLib/Ipf/AsmExtendedSalLib.s97
-rw-r--r--MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.c454
-rw-r--r--MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf47
-rw-r--r--MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.uni21
-rw-r--r--MdePkg/Library/DxeHobLib/DxeHobLib.inf48
-rw-r--r--MdePkg/Library/DxeHobLib/DxeHobLib.uni22
-rw-r--r--MdePkg/Library/DxeHobLib/HobLib.c603
-rw-r--r--MdePkg/Library/DxeHstiLib/DxeHstiLib.inf48
-rw-r--r--MdePkg/Library/DxeHstiLib/DxeHstiLib.uni19
-rw-r--r--MdePkg/Library/DxeHstiLib/HstiAip.c175
-rw-r--r--MdePkg/Library/DxeHstiLib/HstiDxe.c609
-rw-r--r--MdePkg/Library/DxeHstiLib/HstiDxe.h65
-rw-r--r--MdePkg/Library/DxeIoLibCpuIo2/DxeCpuIo2LibInternal.h172
-rw-r--r--MdePkg/Library/DxeIoLibCpuIo2/DxeIoLibCpuIo2.inf53
-rw-r--r--MdePkg/Library/DxeIoLibCpuIo2/DxeIoLibCpuIo2.uni22
-rw-r--r--MdePkg/Library/DxeIoLibCpuIo2/IoHighLevel.c2307
-rw-r--r--MdePkg/Library/DxeIoLibCpuIo2/IoLib.c869
-rw-r--r--MdePkg/Library/DxeIoLibCpuIo2/IoLibMmioBuffer.c413
-rw-r--r--MdePkg/Library/DxeIoLibEsal/DxeIoLibEsal.inf49
-rw-r--r--MdePkg/Library/DxeIoLibEsal/DxeIoLibEsal.uni23
-rw-r--r--MdePkg/Library/DxeIoLibEsal/DxeIoLibEsalInternal.h28
-rw-r--r--MdePkg/Library/DxeIoLibEsal/IoHighLevel.c2303
-rw-r--r--MdePkg/Library/DxeIoLibEsal/IoLib.c879
-rw-r--r--MdePkg/Library/DxeIoLibEsal/IoLibMmioBuffer.c411
-rw-r--r--MdePkg/Library/DxePalLibEsal/DxePalLibEsal.c73
-rw-r--r--MdePkg/Library/DxePalLibEsal/DxePalLibEsal.inf41
-rw-r--r--MdePkg/Library/DxePalLibEsal/DxePalLibEsal.uni21
-rw-r--r--MdePkg/Library/DxePcdLib/DxePcdLib.c1626
-rw-r--r--MdePkg/Library/DxePcdLib/DxePcdLib.inf68
-rw-r--r--MdePkg/Library/DxePcdLib/DxePcdLib.uni31
-rw-r--r--MdePkg/Library/DxePciLibEsal/DxePciLibEsal.inf40
-rw-r--r--MdePkg/Library/DxePciLibEsal/DxePciLibEsal.uni21
-rw-r--r--MdePkg/Library/DxePciLibEsal/PciLib.c1464
-rw-r--r--MdePkg/Library/DxePciSegmentLibEsal/DxePciSegementLibEsal.uni21
-rw-r--r--MdePkg/Library/DxePciSegmentLibEsal/DxePciSegmentLibEsal.inf40
-rw-r--r--MdePkg/Library/DxePciSegmentLibEsal/PciLib.c1416
-rw-r--r--MdePkg/Library/DxeRuntimeExtendedSalLib/DxeRuntimeExtendedSalLib.inf52
-rw-r--r--MdePkg/Library/DxeRuntimeExtendedSalLib/DxeRuntimeExtendedSalLib.uni21
-rw-r--r--MdePkg/Library/DxeRuntimeExtendedSalLib/ExtendedSalLib.c1124
-rw-r--r--MdePkg/Library/DxeRuntimeExtendedSalLib/Ipf/AsmExtendedSalLib.s131
-rw-r--r--MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf58
-rw-r--r--MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.uni26
-rw-r--r--MdePkg/Library/DxeRuntimePciExpressLib/PciExpressLib.c1660
-rw-r--r--MdePkg/Library/DxeSalLibEsal/DxeSalLibEsal.c286
-rw-r--r--MdePkg/Library/DxeSalLibEsal/DxeSalLibEsal.inf38
-rw-r--r--MdePkg/Library/DxeSalLibEsal/DxeSalLibEsal.uni21
-rw-r--r--MdePkg/Library/DxeServicesLib/DxeServicesLib.c1085
-rw-r--r--MdePkg/Library/DxeServicesLib/DxeServicesLib.inf56
-rw-r--r--MdePkg/Library/DxeServicesLib/DxeServicesLib.uni23
-rw-r--r--MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c68
-rw-r--r--MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf49
-rw-r--r--MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.uni22
-rw-r--r--MdePkg/Library/DxeSmbusLib/DxeSmbusLib.c104
-rw-r--r--MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf51
-rw-r--r--MdePkg/Library/DxeSmbusLib/DxeSmbusLib.uni21
-rw-r--r--MdePkg/Library/DxeSmbusLib/InternalSmbusLib.h85
-rw-r--r--MdePkg/Library/DxeSmbusLib/SmbusLib.c592
-rw-r--r--MdePkg/Library/DxeTimerLibEsal/DxeTimerLibEsal.c223
-rw-r--r--MdePkg/Library/DxeTimerLibEsal/DxeTimerLibEsal.inf41
-rw-r--r--MdePkg/Library/DxeTimerLibEsal/DxeTimerLibEsal.uni21
-rw-r--r--MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.c101
-rw-r--r--MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf39
-rw-r--r--MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.uni21
-rw-r--r--MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf45
-rw-r--r--MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.uni21
-rw-r--r--MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PostCode.c159
-rw-r--r--MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.c519
-rw-r--r--MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf48
-rw-r--r--MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.uni21
-rw-r--r--MdePkg/Library/PeiHobLib/HobLib.c804
-rw-r--r--MdePkg/Library/PeiHobLib/PeiHobLib.inf56
-rw-r--r--MdePkg/Library/PeiHobLib/PeiHobLib.uni21
-rw-r--r--MdePkg/Library/PeiIoLibCpuIo/IoHighLevel.c2356
-rw-r--r--MdePkg/Library/PeiIoLibCpuIo/IoLib.c835
-rw-r--r--MdePkg/Library/PeiIoLibCpuIo/IoLibMmioBuffer.c418
-rw-r--r--MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf48
-rw-r--r--MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.uni22
-rw-r--r--MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c938
-rw-r--r--MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf45
-rw-r--r--MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.uni22
-rw-r--r--MdePkg/Library/PeiMemoryLib/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/PeiMemoryLib/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/PeiMemoryLib/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/PeiMemoryLib/MemLib.c71
-rw-r--r--MdePkg/Library/PeiMemoryLib/MemLibGeneric.c289
-rw-r--r--MdePkg/Library/PeiMemoryLib/MemLibGuid.c171
-rw-r--r--MdePkg/Library/PeiMemoryLib/MemLibInternals.h249
-rw-r--r--MdePkg/Library/PeiMemoryLib/PeiMemoryLib.inf60
-rw-r--r--MdePkg/Library/PeiMemoryLib/PeiMemoryLib.uni22
-rw-r--r--MdePkg/Library/PeiMemoryLib/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/PeiMemoryLib/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/PeiMemoryLib/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/PeiMemoryLib/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/PeiMemoryLib/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/PeiMemoryLib/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/PeiMemoryLib/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/PeiMemoryLib/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/PeiMemoryLib/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/PeiPalLib/PeiPalLib.c99
-rw-r--r--MdePkg/Library/PeiPalLib/PeiPalLib.inf51
-rw-r--r--MdePkg/Library/PeiPalLib/PeiPalLib.uni22
-rw-r--r--MdePkg/Library/PeiPcdLib/PeiPcdLib.c1625
-rw-r--r--MdePkg/Library/PeiPcdLib/PeiPcdLib.inf66
-rw-r--r--MdePkg/Library/PeiPcdLib/PeiPcdLib.uni33
-rw-r--r--MdePkg/Library/PeiPciLibPciCfg2/PciLib.c1422
-rw-r--r--MdePkg/Library/PeiPciLibPciCfg2/PeiPciLibPciCfg2.inf56
-rw-r--r--MdePkg/Library/PeiPciLibPciCfg2/PeiPciLibPciCfg2.uni25
-rw-r--r--MdePkg/Library/PeiPciSegmentLibPciCfg2/PciSegmentLib.c1415
-rw-r--r--MdePkg/Library/PeiPciSegmentLibPciCfg2/PeiPciSegmentLibPciCfg2.inf53
-rw-r--r--MdePkg/Library/PeiPciSegmentLibPciCfg2/PeiPciSegmentLibPciCfg2.uni24
-rw-r--r--MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.c58
-rw-r--r--MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf42
-rw-r--r--MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.uni21
-rw-r--r--MdePkg/Library/PeiServicesLib/PeiServicesLib.c766
-rw-r--r--MdePkg/Library/PeiServicesLib/PeiServicesLib.inf48
-rw-r--r--MdePkg/Library/PeiServicesLib/PeiServicesLib.uni21
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c116
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf44
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.uni23
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c131
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf43
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.uni22
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointer.c91
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointerLibKr7.inf42
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointerLibKr7.uni22
-rw-r--r--MdePkg/Library/PeiSmbusLibSmbus2Ppi/InternalSmbusLib.h80
-rw-r--r--MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.c95
-rw-r--r--MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf50
-rw-r--r--MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.uni21
-rw-r--r--MdePkg/Library/PeiSmbusLibSmbus2Ppi/SmbusLib.c584
-rw-r--r--MdePkg/Library/PeimEntryPoint/PeimEntryPoint.c81
-rw-r--r--MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf39
-rw-r--r--MdePkg/Library/PeimEntryPoint/PeimEntryPoint.uni21
-rw-r--r--MdePkg/Library/SecPeiDxeTimerLibCpu/IpfTimerLib.c216
-rw-r--r--MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf67
-rw-r--r--MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.uni31
-rw-r--r--MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c375
-rw-r--r--MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c72
-rw-r--r--MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.inf36
-rw-r--r--MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.uni21
-rw-r--r--MdePkg/Library/SmmIoLibSmmCpuIo2/IoHighLevel.c2312
-rw-r--r--MdePkg/Library/SmmIoLibSmmCpuIo2/IoLib.c803
-rw-r--r--MdePkg/Library/SmmIoLibSmmCpuIo2/IoLibMmioBuffer.c417
-rw-r--r--MdePkg/Library/SmmIoLibSmmCpuIo2/SmmCpuIoLibInternal.h118
-rw-r--r--MdePkg/Library/SmmIoLibSmmCpuIo2/SmmIoLibSmmCpuIo2.inf49
-rw-r--r--MdePkg/Library/SmmIoLibSmmCpuIo2/SmmIoLibSmmCpuIo2.uni22
-rw-r--r--MdePkg/Library/SmmLibNull/SmmLibNull.c103
-rw-r--r--MdePkg/Library/SmmLibNull/SmmLibNull.inf37
-rw-r--r--MdePkg/Library/SmmLibNull/SmmLibNull.uni21
-rw-r--r--MdePkg/Library/SmmMemLib/SmmMemLib.c521
-rw-r--r--MdePkg/Library/SmmMemLib/SmmMemLib.inf57
-rw-r--r--MdePkg/Library/SmmMemLib/SmmMemLib.uni24
-rw-r--r--MdePkg/Library/SmmMemoryAllocationLib/MemoryAllocationLib.c982
-rw-r--r--MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf50
-rw-r--r--MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.uni22
-rw-r--r--MdePkg/Library/SmmPciExpressLib/PciExpressLib.c1430
-rw-r--r--MdePkg/Library/SmmPciExpressLib/SmmPciExpressLib.inf42
-rw-r--r--MdePkg/Library/SmmPciLibPciRootBridgeIo/PciLib.c1434
-rw-r--r--MdePkg/Library/SmmPciLibPciRootBridgeIo/SmmPciLibPciRootBridgeIo.inf55
-rw-r--r--MdePkg/Library/SmmPciLibPciRootBridgeIo/SmmPciLibPciRootBridgeIo.uni25
-rw-r--r--MdePkg/Library/SmmPeriodicSmiLib/SmmPeriodicSmiLib.c1183
-rw-r--r--MdePkg/Library/SmmPeriodicSmiLib/SmmPeriodicSmiLib.inf52
-rw-r--r--MdePkg/Library/SmmPeriodicSmiLib/SmmPeriodicSmiLib.uni21
-rw-r--r--MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.c85
-rw-r--r--MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf45
-rw-r--r--MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.uni21
-rw-r--r--MdePkg/Library/UefiApplicationEntryPoint/ApplicationEntryPoint.c121
-rw-r--r--MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf40
-rw-r--r--MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.uni21
-rw-r--r--MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.c66
-rw-r--r--MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf40
-rw-r--r--MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.uni21
-rw-r--r--MdePkg/Library/UefiDebugLibConOut/DebugLib.c278
-rw-r--r--MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf54
-rw-r--r--MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.uni21
-rw-r--r--MdePkg/Library/UefiDebugLibDebugPortProtocol/DebugLib.c331
-rw-r--r--MdePkg/Library/UefiDebugLibDebugPortProtocol/UefiDebugLibDebugPortProtocol.inf57
-rw-r--r--MdePkg/Library/UefiDebugLibDebugPortProtocol/UefiDebugLibDebugPortProtocol.uni21
-rw-r--r--MdePkg/Library/UefiDebugLibStdErr/DebugLib.c279
-rw-r--r--MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf52
-rw-r--r--MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.uni21
-rw-r--r--MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c3509
-rw-r--r--MdePkg/Library/UefiDevicePathLib/DevicePathToText.c2345
-rw-r--r--MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c895
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.c360
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.h457
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf79
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.uni21
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.c484
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf89
-rw-r--r--MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.uni23
-rw-r--r--MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLib.c862
-rw-r--r--MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf61
-rw-r--r--MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.uni22
-rw-r--r--MdePkg/Library/UefiDriverEntryPoint/DriverEntryPoint.c173
-rw-r--r--MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf67
-rw-r--r--MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.uni21
-rw-r--r--MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c1272
-rw-r--r--MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf48
-rw-r--r--MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.uni26
-rw-r--r--MdePkg/Library/UefiLib/Console.c572
-rw-r--r--MdePkg/Library/UefiLib/UefiDriverModel.c1056
-rw-r--r--MdePkg/Library/UefiLib/UefiLib.c1607
-rw-r--r--MdePkg/Library/UefiLib/UefiLib.inf89
-rw-r--r--MdePkg/Library/UefiLib/UefiLib.uni25
-rw-r--r--MdePkg/Library/UefiLib/UefiLibInternal.h44
-rw-r--r--MdePkg/Library/UefiLib/UefiLibPrint.c815
-rw-r--r--MdePkg/Library/UefiLib/UefiNotTiano.c336
-rw-r--r--MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c821
-rw-r--r--MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf42
-rw-r--r--MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.uni22
-rw-r--r--MdePkg/Library/UefiMemoryLib/CompareMemWrapper.c66
-rw-r--r--MdePkg/Library/UefiMemoryLib/CopyMemWrapper.c63
-rw-r--r--MdePkg/Library/UefiMemoryLib/IsZeroBufferWrapper.c54
-rw-r--r--MdePkg/Library/UefiMemoryLib/MemLib.c63
-rw-r--r--MdePkg/Library/UefiMemoryLib/MemLibGeneric.c289
-rw-r--r--MdePkg/Library/UefiMemoryLib/MemLibGuid.c171
-rw-r--r--MdePkg/Library/UefiMemoryLib/MemLibInternals.h249
-rw-r--r--MdePkg/Library/UefiMemoryLib/ScanMem16Wrapper.c67
-rw-r--r--MdePkg/Library/UefiMemoryLib/ScanMem32Wrapper.c66
-rw-r--r--MdePkg/Library/UefiMemoryLib/ScanMem64Wrapper.c67
-rw-r--r--MdePkg/Library/UefiMemoryLib/ScanMem8Wrapper.c99
-rw-r--r--MdePkg/Library/UefiMemoryLib/SetMem16Wrapper.c64
-rw-r--r--MdePkg/Library/UefiMemoryLib/SetMem32Wrapper.c64
-rw-r--r--MdePkg/Library/UefiMemoryLib/SetMem64Wrapper.c64
-rw-r--r--MdePkg/Library/UefiMemoryLib/SetMemWrapper.c91
-rw-r--r--MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf60
-rw-r--r--MdePkg/Library/UefiMemoryLib/UefiMemoryLib.uni22
-rw-r--r--MdePkg/Library/UefiMemoryLib/ZeroMemWrapper.c56
-rw-r--r--MdePkg/Library/UefiPalLib/UefiPalLib.c127
-rw-r--r--MdePkg/Library/UefiPalLib/UefiPalLib.inf49
-rw-r--r--MdePkg/Library/UefiPalLib/UefiPalLib.uni22
-rw-r--r--MdePkg/Library/UefiPciLibPciRootBridgeIo/PciLib.c1436
-rw-r--r--MdePkg/Library/UefiPciLibPciRootBridgeIo/UefiPciLibPciRootBridgeIo.inf57
-rw-r--r--MdePkg/Library/UefiPciLibPciRootBridgeIo/UefiPciLibPciRootBridgeIo.uni25
-rw-r--r--MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/PciSegmentLib.c1487
-rw-r--r--MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/PciSegmentLib.h59
-rw-r--r--MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/UefiPciSegmentLibPciRootBridgeIo.inf60
-rw-r--r--MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/UefiPciSegmentLibPciRootBridgeIo.uni25
-rw-r--r--MdePkg/Library/UefiRuntimeLib/RuntimeLib.c843
-rw-r--r--MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf51
-rw-r--r--MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.uni23
-rw-r--r--MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.c49
-rw-r--r--MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf41
-rw-r--r--MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.uni21
-rw-r--r--MdePkg/Library/UefiSalLib/UefiSalLib.c139
-rw-r--r--MdePkg/Library/UefiSalLib/UefiSalLib.inf47
-rw-r--r--MdePkg/Library/UefiSalLib/UefiSalLib.uni22
-rw-r--r--MdePkg/Library/UefiScsiLib/UefiScsiLib.c2067
-rw-r--r--MdePkg/Library/UefiScsiLib/UefiScsiLib.inf47
-rw-r--r--MdePkg/Library/UefiScsiLib/UefiScsiLib.uni22
-rw-r--r--MdePkg/Library/UefiUsbLib/Hid.c488
-rw-r--r--MdePkg/Library/UefiUsbLib/UefiUsbLib.inf48
-rw-r--r--MdePkg/Library/UefiUsbLib/UefiUsbLib.uni22
-rw-r--r--MdePkg/Library/UefiUsbLib/UefiUsbLibInternal.h29
-rw-r--r--MdePkg/Library/UefiUsbLib/UsbDxeLib.c672
-rw-r--r--MdePkg/License.txt25
-rw-r--r--MdePkg/MdePkg.dec2140
-rw-r--r--MdePkg/MdePkg.dsc185
-rw-r--r--MdePkg/MdePkg.uni404
-rw-r--r--MdePkg/MdePkgExtra.uni20
1977 files changed, 355088 insertions, 0 deletions
diff --git a/MdePkg/Contributions.txt b/MdePkg/Contributions.txt
new file mode 100644
index 000000000000..34f09578f993
--- /dev/null
+++ b/MdePkg/Contributions.txt
@@ -0,0 +1,218 @@
+
+======================
+= Code Contributions =
+======================
+
+To make a contribution to a TianoCore project, follow these steps.
+1. Create a change description in the format specified below to
+ use in the source control commit log.
+2. Your commit message must include your "Signed-off-by" signature,
+ and "Contributed-under" message.
+3. Your "Contributed-under" message explicitly states that the
+ contribution is made under the terms of the specified
+ contribution agreement. Your "Contributed-under" message
+ must include the name of contribution agreement and version.
+ For example: Contributed-under: TianoCore Contribution Agreement 1.0
+ The "TianoCore Contribution Agreement" is included below in
+ this document.
+4. Submit your code to the TianoCore project using the process
+ that the project documents on its web page. If the process is
+ not documented, then submit the code on development email list
+ for the project.
+5. It is preferred that contributions are submitted using the same
+ copyright license as the base project. When that is not possible,
+ then contributions using the following licenses can be accepted:
+ * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
+ * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
+ * MIT: http://opensource.org/licenses/MIT
+ * Python-2.0: http://opensource.org/licenses/Python-2.0
+ * Zlib: http://opensource.org/licenses/Zlib
+
+ Contributions of code put into the public domain can also be
+ accepted.
+
+ Contributions using other licenses might be accepted, but further
+ review will be required.
+
+=====================================================
+= Change Description / Commit Message / Patch Email =
+=====================================================
+
+Your change description should use the standard format for a
+commit message, and must include your "Signed-off-by" signature
+and the "Contributed-under" message.
+
+== Sample Change Description / Commit Message =
+
+=== Start of sample patch email message ===
+
+From: Contributor Name <contributor@example.com>
+Subject: [PATCH] CodeModule: Brief-single-line-summary
+
+Full-commit-message
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Contributor Name <contributor@example.com>
+---
+
+An extra message for the patch email which will not be considered part
+of the commit message can be added here.
+
+Patch content inline or attached
+
+=== End of sample patch email message ===
+
+=== Notes for sample patch email ===
+
+* The first line of commit message is taken from the email's subject
+ line following [PATCH]. The remaining portion of the commit message
+ is the email's content until the '---' line.
+* git format-patch is one way to create this format
+
+=== Definitions for sample patch email ===
+
+* "CodeModule" is a short idenfier for the affected code. For
+ example MdePkg, or MdeModulePkg UsbBusDxe.
+* "Brief-single-line-summary" is a short summary of the change.
+* The entire first line should be less than ~70 characters.
+* "Full-commit-message" a verbose multiple line comment describing
+ the change. Each line should be less than ~70 characters.
+* "Contributed-under" explicitely states that the contribution is
+ made under the terms of the contribtion agreement. This
+ agreement is included below in this document.
+* "Signed-off-by" is the contributor's signature identifying them
+ by their real/legal name and their email address.
+
+========================================
+= TianoCore Contribution Agreement 1.0 =
+========================================
+
+INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
+PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
+TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
+REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
+CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+USE THE CONTENT.
+
+Unless otherwise indicated, all Content made available on the TianoCore
+site is provided to you under the terms and conditions of the BSD
+License ("BSD"). A copy of the BSD License is available at
+http://opensource.org/licenses/bsd-license.php
+or when applicable, in the associated License.txt file.
+
+Certain other content may be made available under other licenses as
+indicated in or with such Content. (For example, in a License.txt file.)
+
+You accept and agree to the following terms and conditions for Your
+present and future Contributions submitted to TianoCore site. Except
+for the license granted to Intel hereunder, You reserve all right,
+title, and interest in and to Your Contributions.
+
+== SECTION 1: Definitions ==
+* "You" or "Contributor" shall mean the copyright owner or legal
+ entity authorized by the copyright owner that is making a
+ Contribution hereunder. All other entities that control, are
+ controlled by, or are under common control with that entity are
+ considered to be a single Contributor. For the purposes of this
+ definition, "control" means (i) the power, direct or indirect, to
+ cause the direction or management of such entity, whether by
+ contract or otherwise, or (ii) ownership of fifty percent (50%)
+ or more of the outstanding shares, or (iii) beneficial ownership
+ of such entity.
+* "Contribution" shall mean any original work of authorship,
+ including any modifications or additions to an existing work,
+ that is intentionally submitted by You to the TinaoCore site for
+ inclusion in, or documentation of, any of the Content. For the
+ purposes of this definition, "submitted" means any form of
+ electronic, verbal, or written communication sent to the
+ TianoCore site or its representatives, including but not limited
+ to communication on electronic mailing lists, source code
+ control systems, and issue tracking systems that are managed by,
+ or on behalf of, the TianoCore site for the purpose of
+ discussing and improving the Content, but excluding
+ communication that is conspicuously marked or otherwise
+ designated in writing by You as "Not a Contribution."
+
+== SECTION 2: License for Contributions ==
+* Contributor hereby agrees that redistribution and use of the
+ Contribution in source and binary forms, with or without
+ modification, are permitted provided that the following
+ conditions are met:
+** Redistributions of source code must retain the Contributor's
+ copyright notice, this list of conditions and the following
+ disclaimer.
+** Redistributions in binary form must reproduce the Contributor's
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+* Disclaimer. None of the names of Contributor, Intel, or the names
+ of their respective contributors may be used to endorse or
+ promote products derived from this software without specific
+ prior written permission.
+* Contributor grants a license (with the right to sublicense) under
+ claims of Contributor's patents that Contributor can license that
+ are infringed by the Contribution (as delivered by Contributor) to
+ make, use, distribute, sell, offer for sale, and import the
+ Contribution and derivative works thereof solely to the minimum
+ extent necessary for licensee to exercise the granted copyright
+ license; this patent license applies solely to those portions of
+ the Contribution that are unmodified. No hardware per se is
+ licensed.
+* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
+ CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
+ CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+== SECTION 3: Representations ==
+* You represent that You are legally entitled to grant the above
+ license. If your employer(s) has rights to intellectual property
+ that You create that includes Your Contributions, You represent
+ that You have received permission to make Contributions on behalf
+ of that employer, that Your employer has waived such rights for
+ Your Contributions.
+* You represent that each of Your Contributions is Your original
+ creation (see Section 4 for submissions on behalf of others).
+ You represent that Your Contribution submissions include complete
+ details of any third-party license or other restriction
+ (including, but not limited to, related patents and trademarks)
+ of which You are personally aware and which are associated with
+ any part of Your Contributions.
+
+== SECTION 4: Third Party Contributions ==
+* Should You wish to submit work that is not Your original creation,
+ You may submit it to TianoCore site separately from any
+ Contribution, identifying the complete details of its source
+ and of any license or other restriction (including, but not
+ limited to, related patents, trademarks, and license agreements)
+ of which You are personally aware, and conspicuously marking the
+ work as "Submitted on behalf of a third-party: [named here]".
+
+== SECTION 5: Miscellaneous ==
+* Applicable Laws. Any claims arising under or relating to this
+ Agreement shall be governed by the internal substantive laws of
+ the State of Delaware or federal courts located in Delaware,
+ without regard to principles of conflict of laws.
+* Language. This Agreement is in the English language only, which
+ language shall be controlling in all respects, and all versions
+ of this Agreement in any other language shall be for accommodation
+ only and shall not be binding. All communications and notices made
+ or given pursuant to this Agreement, and all documentation and
+ support to be provided, unless otherwise noted, shall be in the
+ English language.
+
diff --git a/MdePkg/Include/AArch64/ProcessorBind.h b/MdePkg/Include/AArch64/ProcessorBind.h
new file mode 100644
index 000000000000..3fc678c756b3
--- /dev/null
+++ b/MdePkg/Include/AArch64/ProcessorBind.h
@@ -0,0 +1,154 @@
+/** @file
+ Processor or Compiler specific defines and types for AArch64.
+
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+ Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+ Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
+
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __PROCESSOR_BIND_H__
+#define __PROCESSOR_BIND_H__
+
+///
+/// Define the processor type so other code can make processor based choices
+///
+#define MDE_CPU_AARCH64
+
+//
+// Make sure we are using the correct packing rules per EFI specification
+//
+#ifndef __GNUC__
+#pragma pack()
+#endif
+
+#if _MSC_EXTENSIONS
+ //
+ // use Microsoft* C compiler dependent integer width types
+ //
+ typedef unsigned __int64 UINT64;
+ typedef __int64 INT64;
+ typedef unsigned __int32 UINT32;
+ typedef __int32 INT32;
+ typedef unsigned short UINT16;
+ typedef unsigned short CHAR16;
+ typedef short INT16;
+ typedef unsigned char BOOLEAN;
+ typedef unsigned char UINT8;
+ typedef char CHAR8;
+ typedef signed char INT8;
+#else
+ //
+ // Assume standard AARCH64 alignment.
+ //
+ typedef unsigned long long UINT64;
+ typedef long long INT64;
+ typedef unsigned int UINT32;
+ typedef int INT32;
+ typedef unsigned short UINT16;
+ typedef unsigned short CHAR16;
+ typedef short INT16;
+ typedef unsigned char BOOLEAN;
+ typedef unsigned char UINT8;
+ typedef char CHAR8;
+ typedef signed char INT8;
+#endif
+
+///
+/// Unsigned value of native width. (4 bytes on supported 32-bit processor instructions,
+/// 8 bytes on supported 64-bit processor instructions)
+///
+typedef UINT64 UINTN;
+
+///
+/// Signed value of native width. (4 bytes on supported 32-bit processor instructions,
+/// 8 bytes on supported 64-bit processor instructions)
+///
+typedef INT64 INTN;
+
+//
+// Processor specific defines
+//
+
+///
+/// A value of native width with the highest bit set.
+///
+#define MAX_BIT 0x8000000000000000ULL
+
+///
+/// A value of native width with the two highest bits set.
+///
+#define MAX_2_BITS 0xC000000000000000ULL
+
+///
+/// Maximum legal AARCH64 address
+///
+#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL
+
+///
+/// Maximum legal AArch64 INTN and UINTN values.
+///
+#define MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL)
+#define MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL)
+
+///
+/// The stack alignment required for AARCH64
+///
+#define CPU_STACK_ALIGNMENT 16
+
+///
+/// Page allocation granularity for AARCH64
+///
+#define DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000)
+#define RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x10000)
+
+//
+// Modifier to ensure that all protocol member functions and EFI intrinsics
+// use the correct C calling convention. All protocol member functions and
+// EFI intrinsics are required to modify their member functions with EFIAPI.
+//
+#define EFIAPI
+
+// When compiling with Clang, we still use GNU as for the assembler, so we still
+// need to define the GCC_ASM* macros.
+#if defined(__GNUC__) || defined(__clang__)
+ ///
+ /// For GNU assembly code, .global or .globl can declare global symbols.
+ /// Define this macro to unify the usage.
+ ///
+ #define ASM_GLOBAL .globl
+
+ #define GCC_ASM_EXPORT(func__) \
+ .global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\
+ .type ASM_PFX(func__), %function
+
+ #define GCC_ASM_IMPORT(func__) \
+ .extern _CONCATENATE (__USER_LABEL_PREFIX__, func__)
+
+#endif
+
+/**
+ Return the pointer to the first instruction of a function given a function pointer.
+ On ARM CPU architectures, these two pointer values are the same,
+ so the implementation of this macro is very simple.
+
+ @param FunctionPointer A pointer to a function.
+
+ @return The pointer to the first instruction of a function given a function pointer.
+
+**/
+#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__
+#endif
+
+#endif
diff --git a/MdePkg/Include/Arm/ProcessorBind.h b/MdePkg/Include/Arm/ProcessorBind.h
new file mode 100644
index 000000000000..ba024c072d71
--- /dev/null
+++ b/MdePkg/Include/Arm/ProcessorBind.h
@@ -0,0 +1,182 @@
+/** @file
+ Processor or Compiler specific defines and types for ARM.
+
+ Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+ Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __PROCESSOR_BIND_H__
+#define __PROCESSOR_BIND_H__
+
+///
+/// Define the processor type so other code can make processor based choices
+///
+#define MDE_CPU_ARM
+
+//
+// Make sure we are using the correct packing rules per EFI specification
+//
+#ifndef __GNUC__
+#pragma pack()
+#endif
+
+//
+// RVCT does not support the __builtin_unreachable() macro
+//
+#ifdef __ARMCC_VERSION
+#define UNREACHABLE()
+#endif
+
+#if _MSC_EXTENSIONS
+ //
+ // use Microsoft* C compiler dependent integer width types
+ //
+ typedef unsigned __int64 UINT64;
+ typedef __int64 INT64;
+ typedef unsigned __int32 UINT32;
+ typedef __int32 INT32;
+ typedef unsigned short UINT16;
+ typedef unsigned short CHAR16;
+ typedef short INT16;
+ typedef unsigned char BOOLEAN;
+ typedef unsigned char UINT8;
+ typedef char CHAR8;
+ typedef signed char INT8;
+#else
+ //
+ // Assume standard ARM alignment.
+ // Need to check portability of long long
+ //
+ typedef unsigned long long UINT64;
+ typedef long long INT64;
+ typedef unsigned int UINT32;
+ typedef int INT32;
+ typedef unsigned short UINT16;
+ typedef unsigned short CHAR16;
+ typedef short INT16;
+ typedef unsigned char BOOLEAN;
+ typedef unsigned char UINT8;
+ typedef char CHAR8;
+ typedef signed char INT8;
+#endif
+
+///
+/// Unsigned value of native width. (4 bytes on supported 32-bit processor instructions,
+/// 8 bytes on supported 64-bit processor instructions)
+///
+typedef UINT32 UINTN;
+
+///
+/// Signed value of native width. (4 bytes on supported 32-bit processor instructions,
+/// 8 bytes on supported 64-bit processor instructions)
+///
+typedef INT32 INTN;
+
+//
+// Processor specific defines
+//
+
+///
+/// A value of native width with the highest bit set.
+///
+#define MAX_BIT 0x80000000
+
+///
+/// A value of native width with the two highest bits set.
+///
+#define MAX_2_BITS 0xC0000000
+
+///
+/// Maximum legal ARM address
+///
+#define MAX_ADDRESS 0xFFFFFFFF
+
+///
+/// Maximum legal ARM INTN and UINTN values.
+///
+#define MAX_INTN ((INTN)0x7FFFFFFF)
+#define MAX_UINTN ((UINTN)0xFFFFFFFF)
+
+///
+/// The stack alignment required for ARM
+///
+#define CPU_STACK_ALIGNMENT sizeof(UINT64)
+
+///
+/// Page allocation granularity for ARM
+///
+#define DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000)
+#define RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x1000)
+
+//
+// Modifier to ensure that all protocol member functions and EFI intrinsics
+// use the correct C calling convention. All protocol member functions and
+// EFI intrinsics are required to modify their member functions with EFIAPI.
+//
+#define EFIAPI
+
+// When compiling with Clang, we still use GNU as for the assembler, so we still
+// need to define the GCC_ASM* macros.
+#if defined(__GNUC__) || defined(__clang__)
+ ///
+ /// For GNU assembly code, .global or .globl can declare global symbols.
+ /// Define this macro to unify the usage.
+ ///
+ #define ASM_GLOBAL .globl
+
+ #if !defined(__APPLE__)
+ ///
+ /// ARM EABI defines that the linker should not manipulate call relocations
+ /// (do bl/blx conversion) unless the target symbol has function type.
+ /// CodeSourcery 2010.09 started requiring the .type to function properly
+ ///
+ #define INTERWORK_FUNC(func__) .type ASM_PFX(func__), %function
+
+ #define GCC_ASM_EXPORT(func__) \
+ .global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\
+ .type ASM_PFX(func__), %function
+
+ #define GCC_ASM_IMPORT(func__) \
+ .extern _CONCATENATE (__USER_LABEL_PREFIX__, func__)
+
+ #else
+ //
+ // .type not supported by Apple Xcode tools
+ //
+ #define INTERWORK_FUNC(func__)
+
+ #define GCC_ASM_EXPORT(func__) \
+ .globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \
+
+ #define GCC_ASM_IMPORT(name)
+
+ #endif
+#endif
+
+/**
+ Return the pointer to the first instruction of a function given a function pointer.
+ On ARM CPU architectures, these two pointer values are the same,
+ so the implementation of this macro is very simple.
+
+ @param FunctionPointer A pointer to a function.
+
+ @return The pointer to the first instruction of a function given a function pointer.
+
+**/
+#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__
+#endif
+
+#endif
+
+
diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
new file mode 100644
index 000000000000..70cb9992a6fd
--- /dev/null
+++ b/MdePkg/Include/Base.h
@@ -0,0 +1,1270 @@
+/** @file
+ Root include file for Mde Package Base type modules
+
+ This is the include file for any module of type base. Base modules only use
+ types defined via this include file and can be ported easily to any
+ environment. There are a set of base libraries in the Mde Package that can
+ be used to implement base modules.
+
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+
+#ifndef __BASE_H__
+#define __BASE_H__
+
+//
+// Include processor specific binding
+//
+#include <ProcessorBind.h>
+
+#if defined(_MSC_EXTENSIONS)
+//
+// Disable warning when last field of data structure is a zero sized array.
+//
+#pragma warning ( disable : 4200 )
+#endif
+
+/**
+ Verifies the storage size of a given data type.
+
+ This macro generates a divide by zero error or a zero size array declaration in
+ the preprocessor if the size is incorrect. These are declared as "extern" so
+ the space for these arrays will not be in the modules.
+
+ @param TYPE The date type to determine the size of.
+ @param Size The expected size for the TYPE.
+
+**/
+#define VERIFY_SIZE_OF(TYPE, Size) extern UINT8 _VerifySizeof##TYPE[(sizeof(TYPE) == (Size)) / (sizeof(TYPE) == (Size))]
+
+//
+// Verify that ProcessorBind.h produced UEFI Data Types that are compliant with
+// Section 2.3.1 of the UEFI 2.3 Specification.
+//
+VERIFY_SIZE_OF (BOOLEAN, 1);
+VERIFY_SIZE_OF (INT8, 1);
+VERIFY_SIZE_OF (UINT8, 1);
+VERIFY_SIZE_OF (INT16, 2);
+VERIFY_SIZE_OF (UINT16, 2);
+VERIFY_SIZE_OF (INT32, 4);
+VERIFY_SIZE_OF (UINT32, 4);
+VERIFY_SIZE_OF (INT64, 8);
+VERIFY_SIZE_OF (UINT64, 8);
+VERIFY_SIZE_OF (CHAR8, 1);
+VERIFY_SIZE_OF (CHAR16, 2);
+
+//
+// The following three enum types are used to verify that the compiler
+// configuration for enum types is compliant with Section 2.3.1 of the
+// UEFI 2.3 Specification. These enum types and enum values are not
+// intended to be used. A prefix of '__' is used avoid conflicts with
+// other types.
+//
+typedef enum {
+ __VerifyUint8EnumValue = 0xff
+} __VERIFY_UINT8_ENUM_SIZE;
+
+typedef enum {
+ __VerifyUint16EnumValue = 0xffff
+} __VERIFY_UINT16_ENUM_SIZE;
+
+typedef enum {
+ __VerifyUint32EnumValue = 0xffffffff
+} __VERIFY_UINT32_ENUM_SIZE;
+
+VERIFY_SIZE_OF (__VERIFY_UINT8_ENUM_SIZE, 4);
+VERIFY_SIZE_OF (__VERIFY_UINT16_ENUM_SIZE, 4);
+VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
+
+//
+// The Microsoft* C compiler can removed references to unreferenced data items
+// if the /OPT:REF linker option is used. We defined a macro as this is a
+// a non standard extension
+//
+#if defined(_MSC_EXTENSIONS) && !defined (MDE_CPU_EBC)
+ ///
+ /// Remove global variable from the linked image if there are no references to
+ /// it after all compiler and linker optimizations have been performed.
+ ///
+ ///
+ #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)
+#else
+ ///
+ /// Remove the global variable from the linked image if there are no references
+ /// to it after all compiler and linker optimizations have been performed.
+ ///
+ ///
+ #define GLOBAL_REMOVE_IF_UNREFERENCED
+#endif
+
+//
+// Should be used in combination with NORETURN to avoid 'noreturn' returns
+// warnings.
+//
+#ifndef UNREACHABLE
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
+ ///
+ /// Signal compilers and analyzers that this call is not reachable. It is
+ /// up to the compiler to remove any code past that point.
+ /// Not implemented by GCC 4.4 or earlier.
+ ///
+ #define UNREACHABLE() __builtin_unreachable ()
+ #elif defined (__has_feature)
+ #if __has_builtin (__builtin_unreachable)
+ ///
+ /// Signal compilers and analyzers that this call is not reachable. It is
+ /// up to the compiler to remove any code past that point.
+ ///
+ #define UNREACHABLE() __builtin_unreachable ()
+ #endif
+ #endif
+
+ #ifndef UNREACHABLE
+ ///
+ /// Signal compilers and analyzers that this call is not reachable. It is
+ /// up to the compiler to remove any code past that point.
+ ///
+ #define UNREACHABLE()
+ #endif
+#endif
+
+//
+// Signaling compilers and analyzers that a certain function cannot return may
+// remove all following code and thus lead to better optimization and less
+// false positives.
+//
+#ifndef NORETURN
+ #if defined (__GNUC__) || defined (__clang__)
+ ///
+ /// Signal compilers and analyzers that the function cannot return.
+ /// It is up to the compiler to remove any code past a call to functions
+ /// flagged with this attribute.
+ ///
+ #define NORETURN __attribute__((noreturn))
+ #elif defined(_MSC_EXTENSIONS) && !defined(MDE_CPU_EBC)
+ ///
+ /// Signal compilers and analyzers that the function cannot return.
+ /// It is up to the compiler to remove any code past a call to functions
+ /// flagged with this attribute.
+ ///
+ #define NORETURN __declspec(noreturn)
+ #else
+ ///
+ /// Signal compilers and analyzers that the function cannot return.
+ /// It is up to the compiler to remove any code past a call to functions
+ /// flagged with this attribute.
+ ///
+ #define NORETURN
+ #endif
+#endif
+
+//
+// Should be used in combination with ANALYZER_NORETURN to avoid 'noreturn'
+// returns warnings.
+//
+#ifndef ANALYZER_UNREACHABLE
+ #ifdef __clang_analyzer__
+ #if __has_builtin (__builtin_unreachable)
+ ///
+ /// Signal the analyzer that this call is not reachable.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_UNREACHABLE() __builtin_unreachable ()
+ #endif
+ #endif
+
+ #ifndef ANALYZER_UNREACHABLE
+ ///
+ /// Signal the analyzer that this call is not reachable.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_UNREACHABLE()
+ #endif
+#endif
+
+//
+// Static Analyzers may issue errors about potential NULL-dereferences when
+// dereferencing a pointer, that has been checked before, outside of a
+// NULL-check. This may lead to false positives, such as when using ASSERT()
+// for verification.
+//
+#ifndef ANALYZER_NORETURN
+ #ifdef __has_feature
+ #if __has_feature (attribute_analyzer_noreturn)
+ ///
+ /// Signal analyzers that the function cannot return.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_NORETURN __attribute__((analyzer_noreturn))
+ #endif
+ #endif
+
+ #ifndef ANALYZER_NORETURN
+ ///
+ /// Signal the analyzer that the function cannot return.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_NORETURN
+ #endif
+#endif
+
+//
+// For symbol name in assembly code, an extra "_" is sometimes necessary
+//
+
+///
+/// Private worker functions for ASM_PFX()
+///
+#define _CONCATENATE(a, b) __CONCATENATE(a, b)
+#define __CONCATENATE(a, b) a ## b
+
+///
+/// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix
+/// on symbols in assembly language.
+///
+#define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
+#if __APPLE__
+ //
+ // Apple extension that is used by the linker to optimize code size
+ // with assembly functions. Put at the end of your .S files
+ //
+ #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED .subsections_via_symbols
+#else
+ #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED
+#endif
+
+#ifdef __CC_ARM
+ //
+ // Older RVCT ARM compilers don't fully support #pragma pack and require __packed
+ // as a prefix for the structure.
+ //
+ #define PACKED __packed
+#else
+ #define PACKED
+#endif
+
+///
+/// 128 bit buffer containing a unique identifier value.
+/// Unless otherwise specified, aligned on a 64 bit boundary.
+///
+typedef struct {
+ UINT32 Data1;
+ UINT16 Data2;
+ UINT16 Data3;
+ UINT8 Data4[8];
+} GUID;
+
+///
+/// 4-byte buffer. An IPv4 internet protocol address.
+///
+typedef struct {
+ UINT8 Addr[4];
+} IPv4_ADDRESS;
+
+///
+/// 16-byte buffer. An IPv6 internet protocol address.
+///
+typedef struct {
+ UINT8 Addr[16];
+} IPv6_ADDRESS;
+
+//
+// 8-bytes unsigned value that represents a physical system address.
+//
+typedef UINT64 PHYSICAL_ADDRESS;
+
+///
+/// LIST_ENTRY structure definition.
+///
+typedef struct _LIST_ENTRY LIST_ENTRY;
+
+///
+/// _LIST_ENTRY structure definition.
+///
+struct _LIST_ENTRY {
+ LIST_ENTRY *ForwardLink;
+ LIST_ENTRY *BackLink;
+};
+
+//
+// Modifiers to abstract standard types to aid in debug of problems
+//
+
+///
+/// Datum is read-only.
+///
+#define CONST const
+
+///
+/// Datum is scoped to the current file or function.
+///
+#define STATIC static
+
+///
+/// Undeclared type.
+///
+#define VOID void
+
+//
+// Modifiers for Data Types used to self document code.
+// This concept is borrowed for UEFI specification.
+//
+
+///
+/// Datum is passed to the function.
+///
+#define IN
+
+///
+/// Datum is returned from the function.
+///
+#define OUT
+
+///
+/// Passing the datum to the function is optional, and a NULL
+/// is passed if the value is not supplied.
+///
+#define OPTIONAL
+
+//
+// UEFI specification claims 1 and 0. We are concerned about the
+// compiler portability so we did it this way.
+//
+
+///
+/// Boolean true value. UEFI Specification defines this value to be 1,
+/// but this form is more portable.
+///
+#define TRUE ((BOOLEAN)(1==1))
+
+///
+/// Boolean false value. UEFI Specification defines this value to be 0,
+/// but this form is more portable.
+///
+#define FALSE ((BOOLEAN)(0==1))
+
+///
+/// NULL pointer (VOID *)
+///
+#define NULL ((VOID *) 0)
+
+//
+// Null character
+//
+#define CHAR_NULL 0x0000
+
+///
+/// Maximum values for common UEFI Data Types
+///
+#define MAX_INT8 ((INT8)0x7F)
+#define MAX_UINT8 ((UINT8)0xFF)
+#define MAX_INT16 ((INT16)0x7FFF)
+#define MAX_UINT16 ((UINT16)0xFFFF)
+#define MAX_INT32 ((INT32)0x7FFFFFFF)
+#define MAX_UINT32 ((UINT32)0xFFFFFFFF)
+#define MAX_INT64 ((INT64)0x7FFFFFFFFFFFFFFFULL)
+#define MAX_UINT64 ((UINT64)0xFFFFFFFFFFFFFFFFULL)
+
+#define BIT0 0x00000001
+#define BIT1 0x00000002
+#define BIT2 0x00000004
+#define BIT3 0x00000008
+#define BIT4 0x00000010
+#define BIT5 0x00000020
+#define BIT6 0x00000040
+#define BIT7 0x00000080
+#define BIT8 0x00000100
+#define BIT9 0x00000200
+#define BIT10 0x00000400
+#define BIT11 0x00000800
+#define BIT12 0x00001000
+#define BIT13 0x00002000
+#define BIT14 0x00004000
+#define BIT15 0x00008000
+#define BIT16 0x00010000
+#define BIT17 0x00020000
+#define BIT18 0x00040000
+#define BIT19 0x00080000
+#define BIT20 0x00100000
+#define BIT21 0x00200000
+#define BIT22 0x00400000
+#define BIT23 0x00800000
+#define BIT24 0x01000000
+#define BIT25 0x02000000
+#define BIT26 0x04000000
+#define BIT27 0x08000000
+#define BIT28 0x10000000
+#define BIT29 0x20000000
+#define BIT30 0x40000000
+#define BIT31 0x80000000
+#define BIT32 0x0000000100000000ULL
+#define BIT33 0x0000000200000000ULL
+#define BIT34 0x0000000400000000ULL
+#define BIT35 0x0000000800000000ULL
+#define BIT36 0x0000001000000000ULL
+#define BIT37 0x0000002000000000ULL
+#define BIT38 0x0000004000000000ULL
+#define BIT39 0x0000008000000000ULL
+#define BIT40 0x0000010000000000ULL
+#define BIT41 0x0000020000000000ULL
+#define BIT42 0x0000040000000000ULL
+#define BIT43 0x0000080000000000ULL
+#define BIT44 0x0000100000000000ULL
+#define BIT45 0x0000200000000000ULL
+#define BIT46 0x0000400000000000ULL
+#define BIT47 0x0000800000000000ULL
+#define BIT48 0x0001000000000000ULL
+#define BIT49 0x0002000000000000ULL
+#define BIT50 0x0004000000000000ULL
+#define BIT51 0x0008000000000000ULL
+#define BIT52 0x0010000000000000ULL
+#define BIT53 0x0020000000000000ULL
+#define BIT54 0x0040000000000000ULL
+#define BIT55 0x0080000000000000ULL
+#define BIT56 0x0100000000000000ULL
+#define BIT57 0x0200000000000000ULL
+#define BIT58 0x0400000000000000ULL
+#define BIT59 0x0800000000000000ULL
+#define BIT60 0x1000000000000000ULL
+#define BIT61 0x2000000000000000ULL
+#define BIT62 0x4000000000000000ULL
+#define BIT63 0x8000000000000000ULL
+
+#define SIZE_1KB 0x00000400
+#define SIZE_2KB 0x00000800
+#define SIZE_4KB 0x00001000
+#define SIZE_8KB 0x00002000
+#define SIZE_16KB 0x00004000
+#define SIZE_32KB 0x00008000
+#define SIZE_64KB 0x00010000
+#define SIZE_128KB 0x00020000
+#define SIZE_256KB 0x00040000
+#define SIZE_512KB 0x00080000
+#define SIZE_1MB 0x00100000
+#define SIZE_2MB 0x00200000
+#define SIZE_4MB 0x00400000
+#define SIZE_8MB 0x00800000
+#define SIZE_16MB 0x01000000
+#define SIZE_32MB 0x02000000
+#define SIZE_64MB 0x04000000
+#define SIZE_128MB 0x08000000
+#define SIZE_256MB 0x10000000
+#define SIZE_512MB 0x20000000
+#define SIZE_1GB 0x40000000
+#define SIZE_2GB 0x80000000
+#define SIZE_4GB 0x0000000100000000ULL
+#define SIZE_8GB 0x0000000200000000ULL
+#define SIZE_16GB 0x0000000400000000ULL
+#define SIZE_32GB 0x0000000800000000ULL
+#define SIZE_64GB 0x0000001000000000ULL
+#define SIZE_128GB 0x0000002000000000ULL
+#define SIZE_256GB 0x0000004000000000ULL
+#define SIZE_512GB 0x0000008000000000ULL
+#define SIZE_1TB 0x0000010000000000ULL
+#define SIZE_2TB 0x0000020000000000ULL
+#define SIZE_4TB 0x0000040000000000ULL
+#define SIZE_8TB 0x0000080000000000ULL
+#define SIZE_16TB 0x0000100000000000ULL
+#define SIZE_32TB 0x0000200000000000ULL
+#define SIZE_64TB 0x0000400000000000ULL
+#define SIZE_128TB 0x0000800000000000ULL
+#define SIZE_256TB 0x0001000000000000ULL
+#define SIZE_512TB 0x0002000000000000ULL
+#define SIZE_1PB 0x0004000000000000ULL
+#define SIZE_2PB 0x0008000000000000ULL
+#define SIZE_4PB 0x0010000000000000ULL
+#define SIZE_8PB 0x0020000000000000ULL
+#define SIZE_16PB 0x0040000000000000ULL
+#define SIZE_32PB 0x0080000000000000ULL
+#define SIZE_64PB 0x0100000000000000ULL
+#define SIZE_128PB 0x0200000000000000ULL
+#define SIZE_256PB 0x0400000000000000ULL
+#define SIZE_512PB 0x0800000000000000ULL
+#define SIZE_1EB 0x1000000000000000ULL
+#define SIZE_2EB 0x2000000000000000ULL
+#define SIZE_4EB 0x4000000000000000ULL
+#define SIZE_8EB 0x8000000000000000ULL
+
+#define BASE_1KB 0x00000400
+#define BASE_2KB 0x00000800
+#define BASE_4KB 0x00001000
+#define BASE_8KB 0x00002000
+#define BASE_16KB 0x00004000
+#define BASE_32KB 0x00008000
+#define BASE_64KB 0x00010000
+#define BASE_128KB 0x00020000
+#define BASE_256KB 0x00040000
+#define BASE_512KB 0x00080000
+#define BASE_1MB 0x00100000
+#define BASE_2MB 0x00200000
+#define BASE_4MB 0x00400000
+#define BASE_8MB 0x00800000
+#define BASE_16MB 0x01000000
+#define BASE_32MB 0x02000000
+#define BASE_64MB 0x04000000
+#define BASE_128MB 0x08000000
+#define BASE_256MB 0x10000000
+#define BASE_512MB 0x20000000
+#define BASE_1GB 0x40000000
+#define BASE_2GB 0x80000000
+#define BASE_4GB 0x0000000100000000ULL
+#define BASE_8GB 0x0000000200000000ULL
+#define BASE_16GB 0x0000000400000000ULL
+#define BASE_32GB 0x0000000800000000ULL
+#define BASE_64GB 0x0000001000000000ULL
+#define BASE_128GB 0x0000002000000000ULL
+#define BASE_256GB 0x0000004000000000ULL
+#define BASE_512GB 0x0000008000000000ULL
+#define BASE_1TB 0x0000010000000000ULL
+#define BASE_2TB 0x0000020000000000ULL
+#define BASE_4TB 0x0000040000000000ULL
+#define BASE_8TB 0x0000080000000000ULL
+#define BASE_16TB 0x0000100000000000ULL
+#define BASE_32TB 0x0000200000000000ULL
+#define BASE_64TB 0x0000400000000000ULL
+#define BASE_128TB 0x0000800000000000ULL
+#define BASE_256TB 0x0001000000000000ULL
+#define BASE_512TB 0x0002000000000000ULL
+#define BASE_1PB 0x0004000000000000ULL
+#define BASE_2PB 0x0008000000000000ULL
+#define BASE_4PB 0x0010000000000000ULL
+#define BASE_8PB 0x0020000000000000ULL
+#define BASE_16PB 0x0040000000000000ULL
+#define BASE_32PB 0x0080000000000000ULL
+#define BASE_64PB 0x0100000000000000ULL
+#define BASE_128PB 0x0200000000000000ULL
+#define BASE_256PB 0x0400000000000000ULL
+#define BASE_512PB 0x0800000000000000ULL
+#define BASE_1EB 0x1000000000000000ULL
+#define BASE_2EB 0x2000000000000000ULL
+#define BASE_4EB 0x4000000000000000ULL
+#define BASE_8EB 0x8000000000000000ULL
+
+//
+// Support for variable length argument lists using the ANSI standard.
+//
+// Since we are using the ANSI standard we used the standard naming and
+// did not follow the coding convention
+//
+// VA_LIST - typedef for argument list.
+// VA_START (VA_LIST Marker, argument before the ...) - Init Marker for use.
+// VA_END (VA_LIST Marker) - Clear Marker
+// VA_ARG (VA_LIST Marker, var arg size) - Use Marker to get an argument from
+// the ... list. You must know the size and pass it in this macro.
+// VA_COPY (VA_LIST Dest, VA_LIST Start) - Initialize Dest as a copy of Start.
+//
+// example:
+//
+// UINTN
+// ExampleVarArg (
+// IN UINTN NumberOfArgs,
+// ...
+// )
+// {
+// VA_LIST Marker;
+// UINTN Index;
+// UINTN Result;
+//
+// //
+// // Initialize the Marker
+// //
+// VA_START (Marker, NumberOfArgs);
+// for (Index = 0, Result = 0; Index < NumberOfArgs; Index++) {
+// //
+// // The ... list is a series of UINTN values, so average them up.
+// //
+// Result += VA_ARG (Marker, UINTN);
+// }
+//
+// VA_END (Marker);
+// return Result
+// }
+//
+
+/**
+ Return the size of argument that has been aligned to sizeof (UINTN).
+
+ @param n The parameter size to be aligned.
+
+ @return The aligned size.
+**/
+#define _INT_SIZE_OF(n) ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1))
+
+#if defined(__CC_ARM)
+//
+// RVCT ARM variable argument list support.
+//
+
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+#ifdef __APCS_ADSABI
+ typedef int *va_list[1];
+ #define VA_LIST va_list
+#else
+ typedef struct __va_list { void *__ap; } va_list;
+ #define VA_LIST va_list
+#endif
+
+#define VA_START(Marker, Parameter) __va_start(Marker, Parameter)
+
+#define VA_ARG(Marker, TYPE) __va_arg(Marker, TYPE)
+
+#define VA_END(Marker) ((void)0)
+
+// For some ARM RVCT compilers, __va_copy is not defined
+#ifndef __va_copy
+ #define __va_copy(dest, src) ((void)((dest) = (src)))
+#endif
+
+#define VA_COPY(Dest, Start) __va_copy (Dest, Start)
+
+#elif defined(__GNUC__)
+
+#if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS)
+//
+// X64 only. Use MS ABI version of GCC built-in macros for variable argument lists.
+//
+///
+/// Both GCC and LLVM 3.8 for X64 support new variable argument intrinsics for Microsoft ABI
+///
+
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+typedef __builtin_ms_va_list VA_LIST;
+
+#define VA_START(Marker, Parameter) __builtin_ms_va_start (Marker, Parameter)
+
+#define VA_ARG(Marker, TYPE) ((sizeof (TYPE) < sizeof (UINTN)) ? (TYPE)(__builtin_va_arg (Marker, UINTN)) : (TYPE)(__builtin_va_arg (Marker, TYPE)))
+
+#define VA_END(Marker) __builtin_ms_va_end (Marker)
+
+#define VA_COPY(Dest, Start) __builtin_ms_va_copy (Dest, Start)
+
+#else
+//
+// Use GCC built-in macros for variable argument lists.
+//
+
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+typedef __builtin_va_list VA_LIST;
+
+#define VA_START(Marker, Parameter) __builtin_va_start (Marker, Parameter)
+
+#define VA_ARG(Marker, TYPE) ((sizeof (TYPE) < sizeof (UINTN)) ? (TYPE)(__builtin_va_arg (Marker, UINTN)) : (TYPE)(__builtin_va_arg (Marker, TYPE)))
+
+#define VA_END(Marker) __builtin_va_end (Marker)
+
+#define VA_COPY(Dest, Start) __builtin_va_copy (Dest, Start)
+
+#endif
+
+#else
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+typedef CHAR8 *VA_LIST;
+
+/**
+ Retrieves a pointer to the beginning of a variable argument list, based on
+ the name of the parameter that immediately precedes the variable argument list.
+
+ This function initializes Marker to point to the beginning of the variable
+ argument list that immediately follows Parameter. The method for computing the
+ pointer to the next argument in the argument list is CPU-specific following the
+ EFIAPI ABI.
+
+ @param Marker The VA_LIST used to traverse the list of arguments.
+ @param Parameter The name of the parameter that immediately precedes
+ the variable argument list.
+
+ @return A pointer to the beginning of a variable argument list.
+
+**/
+#define VA_START(Marker, Parameter) (Marker = (VA_LIST) ((UINTN) & (Parameter) + _INT_SIZE_OF (Parameter)))
+
+/**
+ Returns an argument of a specified type from a variable argument list and updates
+ the pointer to the variable argument list to point to the next argument.
+
+ This function returns an argument of the type specified by TYPE from the beginning
+ of the variable argument list specified by Marker. Marker is then updated to point
+ to the next argument in the variable argument list. The method for computing the
+ pointer to the next argument in the argument list is CPU-specific following the EFIAPI ABI.
+
+ @param Marker VA_LIST used to traverse the list of arguments.
+ @param TYPE The type of argument to retrieve from the beginning
+ of the variable argument list.
+
+ @return An argument of the type specified by TYPE.
+
+**/
+#define VA_ARG(Marker, TYPE) (*(TYPE *) ((Marker += _INT_SIZE_OF (TYPE)) - _INT_SIZE_OF (TYPE)))
+
+/**
+ Terminates the use of a variable argument list.
+
+ This function initializes Marker so it can no longer be used with VA_ARG().
+ After this macro is used, the only way to access the variable argument list is
+ by using VA_START() again.
+
+ @param Marker VA_LIST used to traverse the list of arguments.
+
+**/
+#define VA_END(Marker) (Marker = (VA_LIST) 0)
+
+/**
+ Initializes a VA_LIST as a copy of an existing VA_LIST.
+
+ This macro initializes Dest as a copy of Start, as if the VA_START macro had been applied to Dest
+ followed by the same sequence of uses of the VA_ARG macro as had previously been used to reach
+ the present state of Start.
+
+ @param Dest VA_LIST used to traverse the list of arguments.
+ @param Start VA_LIST used to traverse the list of arguments.
+
+**/
+#define VA_COPY(Dest, Start) ((void)((Dest) = (Start)))
+
+#endif
+
+///
+/// Pointer to the start of a variable argument list stored in a memory buffer. Same as UINT8 *.
+///
+typedef UINTN *BASE_LIST;
+
+/**
+ Returns the size of a data type in sizeof(UINTN) units rounded up to the nearest UINTN boundary.
+
+ @param TYPE The date type to determine the size of.
+
+ @return The size of TYPE in sizeof (UINTN) units rounded up to the nearest UINTN boundary.
+**/
+#define _BASE_INT_SIZE_OF(TYPE) ((sizeof (TYPE) + sizeof (UINTN) - 1) / sizeof (UINTN))
+
+/**
+ Returns an argument of a specified type from a variable argument list and updates
+ the pointer to the variable argument list to point to the next argument.
+
+ This function returns an argument of the type specified by TYPE from the beginning
+ of the variable argument list specified by Marker. Marker is then updated to point
+ to the next argument in the variable argument list. The method for computing the
+ pointer to the next argument in the argument list is CPU specific following the EFIAPI ABI.
+
+ @param Marker The pointer to the beginning of a variable argument list.
+ @param TYPE The type of argument to retrieve from the beginning
+ of the variable argument list.
+
+ @return An argument of the type specified by TYPE.
+
+**/
+#define BASE_ARG(Marker, TYPE) (*(TYPE *) ((Marker += _BASE_INT_SIZE_OF (TYPE)) - _BASE_INT_SIZE_OF (TYPE)))
+
+/**
+ The macro that returns the byte offset of a field in a data structure.
+
+ This function returns the offset, in bytes, of field specified by Field from the
+ beginning of the data structure specified by TYPE. If TYPE does not contain Field,
+ the module will not compile.
+
+ @param TYPE The name of the data structure that contains the field specified by Field.
+ @param Field The name of the field in the data structure.
+
+ @return Offset, in bytes, of field.
+
+**/
+#ifdef __GNUC__
+#if __GNUC__ >= 4
+#define OFFSET_OF(TYPE, Field) ((UINTN) __builtin_offsetof(TYPE, Field))
+#endif
+#endif
+
+#ifndef OFFSET_OF
+#define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field))
+#endif
+
+/**
+ Macro that returns a pointer to the data structure that contains a specified field of
+ that data structure. This is a lightweight method to hide information by placing a
+ public data structure inside a larger private data structure and using a pointer to
+ the public data structure to retrieve a pointer to the private data structure.
+
+ This function computes the offset, in bytes, of field specified by Field from the beginning
+ of the data structure specified by TYPE. This offset is subtracted from Record, and is
+ used to return a pointer to a data structure of the type specified by TYPE. If the data type
+ specified by TYPE does not contain the field specified by Field, then the module will not compile.
+
+ @param Record Pointer to the field specified by Field within a data structure of type TYPE.
+ @param TYPE The name of the data structure type to return. This data structure must
+ contain the field specified by Field.
+ @param Field The name of the field in the data structure specified by TYPE to which Record points.
+
+ @return A pointer to the structure from one of it's elements.
+
+**/
+#define BASE_CR(Record, TYPE, Field) ((TYPE *) ((CHAR8 *) (Record) - (CHAR8 *) &(((TYPE *) 0)->Field)))
+
+/**
+ Rounds a value up to the next boundary using a specified alignment.
+
+ This function rounds Value up to the next boundary using the specified Alignment.
+ This aligned value is returned.
+
+ @param Value The value to round up.
+ @param Alignment The alignment boundary used to return the aligned value.
+
+ @return A value up to the next boundary.
+
+**/
+#define ALIGN_VALUE(Value, Alignment) ((Value) + (((Alignment) - (Value)) & ((Alignment) - 1)))
+
+/**
+ Adjust a pointer by adding the minimum offset required for it to be aligned on
+ a specified alignment boundary.
+
+ This function rounds the pointer specified by Pointer to the next alignment boundary
+ specified by Alignment. The pointer to the aligned address is returned.
+
+ @param Pointer The pointer to round up.
+ @param Alignment The alignment boundary to use to return an aligned pointer.
+
+ @return Pointer to the aligned address.
+
+**/
+#define ALIGN_POINTER(Pointer, Alignment) ((VOID *) (ALIGN_VALUE ((UINTN)(Pointer), (Alignment))))
+
+/**
+ Rounds a value up to the next natural boundary for the current CPU.
+ This is 4-bytes for 32-bit CPUs and 8-bytes for 64-bit CPUs.
+
+ This function rounds the value specified by Value up to the next natural boundary for the
+ current CPU. This rounded value is returned.
+
+ @param Value The value to round up.
+
+ @return Rounded value specified by Value.
+
+**/
+#define ALIGN_VARIABLE(Value) ALIGN_VALUE ((Value), sizeof (UINTN))
+
+
+/**
+ Return the maximum of two operands.
+
+ This macro returns the maximum of two operand specified by a and b.
+ Both a and b must be the same numerical types, signed or unsigned.
+
+ @param a The first operand with any numerical type.
+ @param b The second operand. Can be any numerical type as long as is
+ the same type as a.
+
+ @return Maximum of two operands.
+
+**/
+#define MAX(a, b) \
+ (((a) > (b)) ? (a) : (b))
+
+/**
+ Return the minimum of two operands.
+
+ This macro returns the minimal of two operand specified by a and b.
+ Both a and b must be the same numerical types, signed or unsigned.
+
+ @param a The first operand with any numerical type.
+ @param b The second operand. It should be the same any numerical type with a.
+
+ @return Minimum of two operands.
+
+**/
+#define MIN(a, b) \
+ (((a) < (b)) ? (a) : (b))
+
+/**
+ Return the absolute value of a signed operand.
+
+ This macro returns the absolute value of the signed operand specified by a.
+
+ @param a The signed operand.
+
+ @return The absolute value of the signed operand.
+
+**/
+#define ABS(a) \
+ (((a) < 0) ? (-(a)) : (a))
+
+//
+// Status codes common to all execution phases
+//
+typedef UINTN RETURN_STATUS;
+
+/**
+ Produces a RETURN_STATUS code with the highest bit set.
+
+ @param StatusCode The status code value to convert into a warning code.
+ StatusCode must be in the range 0x00000000..0x7FFFFFFF.
+
+ @return The value specified by StatusCode with the highest bit set.
+
+**/
+#define ENCODE_ERROR(StatusCode) ((RETURN_STATUS)(MAX_BIT | (StatusCode)))
+
+/**
+ Produces a RETURN_STATUS code with the highest bit clear.
+
+ @param StatusCode The status code value to convert into a warning code.
+ StatusCode must be in the range 0x00000000..0x7FFFFFFF.
+
+ @return The value specified by StatusCode with the highest bit clear.
+
+**/
+#define ENCODE_WARNING(StatusCode) ((RETURN_STATUS)(StatusCode))
+
+/**
+ Returns TRUE if a specified RETURN_STATUS code is an error code.
+
+ This function returns TRUE if StatusCode has the high bit set. Otherwise, FALSE is returned.
+
+ @param StatusCode The status code value to evaluate.
+
+ @retval TRUE The high bit of StatusCode is set.
+ @retval FALSE The high bit of StatusCode is clear.
+
+**/
+#define RETURN_ERROR(StatusCode) (((INTN)(RETURN_STATUS)(StatusCode)) < 0)
+
+///
+/// The operation completed successfully.
+///
+#define RETURN_SUCCESS 0
+
+///
+/// The image failed to load.
+///
+#define RETURN_LOAD_ERROR ENCODE_ERROR (1)
+
+///
+/// The parameter was incorrect.
+///
+#define RETURN_INVALID_PARAMETER ENCODE_ERROR (2)
+
+///
+/// The operation is not supported.
+///
+#define RETURN_UNSUPPORTED ENCODE_ERROR (3)
+
+///
+/// The buffer was not the proper size for the request.
+///
+#define RETURN_BAD_BUFFER_SIZE ENCODE_ERROR (4)
+
+///
+/// The buffer was not large enough to hold the requested data.
+/// The required buffer size is returned in the appropriate
+/// parameter when this error occurs.
+///
+#define RETURN_BUFFER_TOO_SMALL ENCODE_ERROR (5)
+
+///
+/// There is no data pending upon return.
+///
+#define RETURN_NOT_READY ENCODE_ERROR (6)
+
+///
+/// The physical device reported an error while attempting the
+/// operation.
+///
+#define RETURN_DEVICE_ERROR ENCODE_ERROR (7)
+
+///
+/// The device can not be written to.
+///
+#define RETURN_WRITE_PROTECTED ENCODE_ERROR (8)
+
+///
+/// The resource has run out.
+///
+#define RETURN_OUT_OF_RESOURCES ENCODE_ERROR (9)
+
+///
+/// An inconsistency was detected on the file system causing the
+/// operation to fail.
+///
+#define RETURN_VOLUME_CORRUPTED ENCODE_ERROR (10)
+
+///
+/// There is no more space on the file system.
+///
+#define RETURN_VOLUME_FULL ENCODE_ERROR (11)
+
+///
+/// The device does not contain any medium to perform the
+/// operation.
+///
+#define RETURN_NO_MEDIA ENCODE_ERROR (12)
+
+///
+/// The medium in the device has changed since the last
+/// access.
+///
+#define RETURN_MEDIA_CHANGED ENCODE_ERROR (13)
+
+///
+/// The item was not found.
+///
+#define RETURN_NOT_FOUND ENCODE_ERROR (14)
+
+///
+/// Access was denied.
+///
+#define RETURN_ACCESS_DENIED ENCODE_ERROR (15)
+
+///
+/// The server was not found or did not respond to the request.
+///
+#define RETURN_NO_RESPONSE ENCODE_ERROR (16)
+
+///
+/// A mapping to the device does not exist.
+///
+#define RETURN_NO_MAPPING ENCODE_ERROR (17)
+
+///
+/// A timeout time expired.
+///
+#define RETURN_TIMEOUT ENCODE_ERROR (18)
+
+///
+/// The protocol has not been started.
+///
+#define RETURN_NOT_STARTED ENCODE_ERROR (19)
+
+///
+/// The protocol has already been started.
+///
+#define RETURN_ALREADY_STARTED ENCODE_ERROR (20)
+
+///
+/// The operation was aborted.
+///
+#define RETURN_ABORTED ENCODE_ERROR (21)
+
+///
+/// An ICMP error occurred during the network operation.
+///
+#define RETURN_ICMP_ERROR ENCODE_ERROR (22)
+
+///
+/// A TFTP error occurred during the network operation.
+///
+#define RETURN_TFTP_ERROR ENCODE_ERROR (23)
+
+///
+/// A protocol error occurred during the network operation.
+///
+#define RETURN_PROTOCOL_ERROR ENCODE_ERROR (24)
+
+///
+/// A function encountered an internal version that was
+/// incompatible with a version requested by the caller.
+///
+#define RETURN_INCOMPATIBLE_VERSION ENCODE_ERROR (25)
+
+///
+/// The function was not performed due to a security violation.
+///
+#define RETURN_SECURITY_VIOLATION ENCODE_ERROR (26)
+
+///
+/// A CRC error was detected.
+///
+#define RETURN_CRC_ERROR ENCODE_ERROR (27)
+
+///
+/// The beginning or end of media was reached.
+///
+#define RETURN_END_OF_MEDIA ENCODE_ERROR (28)
+
+///
+/// The end of the file was reached.
+///
+#define RETURN_END_OF_FILE ENCODE_ERROR (31)
+
+///
+/// The language specified was invalid.
+///
+#define RETURN_INVALID_LANGUAGE ENCODE_ERROR (32)
+
+///
+/// The security status of the data is unknown or compromised
+/// and the data must be updated or replaced to restore a valid
+/// security status.
+///
+#define RETURN_COMPROMISED_DATA ENCODE_ERROR (33)
+
+///
+/// A HTTP error occurred during the network operation.
+///
+#define RETURN_HTTP_ERROR ENCODE_ERROR (35)
+
+///
+/// The string contained one or more characters that
+/// the device could not render and were skipped.
+///
+#define RETURN_WARN_UNKNOWN_GLYPH ENCODE_WARNING (1)
+
+///
+/// The handle was closed, but the file was not deleted.
+///
+#define RETURN_WARN_DELETE_FAILURE ENCODE_WARNING (2)
+
+///
+/// The handle was closed, but the data to the file was not
+/// flushed properly.
+///
+#define RETURN_WARN_WRITE_FAILURE ENCODE_WARNING (3)
+
+///
+/// The resulting buffer was too small, and the data was
+/// truncated to the buffer size.
+///
+#define RETURN_WARN_BUFFER_TOO_SMALL ENCODE_WARNING (4)
+
+///
+/// The data has not been updated within the timeframe set by
+/// local policy for this type of data.
+///
+#define RETURN_WARN_STALE_DATA ENCODE_WARNING (5)
+
+///
+/// The resulting buffer contains UEFI-compliant file system.
+///
+#define RETURN_WARN_FILE_SYSTEM ENCODE_WARNING (6)
+
+
+/**
+ Returns a 16-bit signature built from 2 ASCII characters.
+
+ This macro returns a 16-bit value built from the two ASCII characters specified
+ by A and B.
+
+ @param A The first ASCII character.
+ @param B The second ASCII character.
+
+ @return A 16-bit value built from the two ASCII characters specified by A and B.
+
+**/
+#define SIGNATURE_16(A, B) ((A) | (B << 8))
+
+/**
+ Returns a 32-bit signature built from 4 ASCII characters.
+
+ This macro returns a 32-bit value built from the four ASCII characters specified
+ by A, B, C, and D.
+
+ @param A The first ASCII character.
+ @param B The second ASCII character.
+ @param C The third ASCII character.
+ @param D The fourth ASCII character.
+
+ @return A 32-bit value built from the two ASCII characters specified by A, B,
+ C and D.
+
+**/
+#define SIGNATURE_32(A, B, C, D) (SIGNATURE_16 (A, B) | (SIGNATURE_16 (C, D) << 16))
+
+/**
+ Returns a 64-bit signature built from 8 ASCII characters.
+
+ This macro returns a 64-bit value built from the eight ASCII characters specified
+ by A, B, C, D, E, F, G,and H.
+
+ @param A The first ASCII character.
+ @param B The second ASCII character.
+ @param C The third ASCII character.
+ @param D The fourth ASCII character.
+ @param E The fifth ASCII character.
+ @param F The sixth ASCII character.
+ @param G The seventh ASCII character.
+ @param H The eighth ASCII character.
+
+ @return A 64-bit value built from the two ASCII characters specified by A, B,
+ C, D, E, F, G and H.
+
+**/
+#define SIGNATURE_64(A, B, C, D, E, F, G, H) \
+ (SIGNATURE_32 (A, B, C, D) | ((UINT64) (SIGNATURE_32 (E, F, G, H)) << 32))
+
+#if defined(_MSC_EXTENSIONS) && !defined (__INTEL_COMPILER) && !defined (MDE_CPU_EBC)
+ #pragma intrinsic(_ReturnAddress)
+ /**
+ Get the return address of the calling function.
+
+ Based on intrinsic function _ReturnAddress that provides the address of
+ the instruction in the calling function that will be executed after
+ control returns to the caller.
+
+ @param L Return Level.
+
+ @return The return address of the calling function or 0 if L != 0.
+
+ **/
+ #define RETURN_ADDRESS(L) ((L == 0) ? _ReturnAddress() : (VOID *) 0)
+#elif defined(__GNUC__)
+ void * __builtin_return_address (unsigned int level);
+ /**
+ Get the return address of the calling function.
+
+ Based on built-in Function __builtin_return_address that returns
+ the return address of the current function, or of one of its callers.
+
+ @param L Return Level.
+
+ @return The return address of the calling function.
+
+ **/
+ #define RETURN_ADDRESS(L) __builtin_return_address (L)
+#else
+ /**
+ Get the return address of the calling function.
+
+ @param L Return Level.
+
+ @return 0 as compilers don't support this feature.
+
+ **/
+ #define RETURN_ADDRESS(L) ((VOID *) 0)
+#endif
+
+/**
+ Return the number of elements in an array.
+
+ @param Array An object of array type. Array is only used as an argument to
+ the sizeof operator, therefore Array is never evaluated. The
+ caller is responsible for ensuring that Array's type is not
+ incomplete; that is, Array must have known constant size.
+
+ @return The number of elements in Array. The result has type UINTN.
+
+**/
+#define ARRAY_SIZE(Array) (sizeof (Array) / sizeof ((Array)[0]))
+
+#endif
+
diff --git a/MdePkg/Include/Ebc/ProcessorBind.h b/MdePkg/Include/Ebc/ProcessorBind.h
new file mode 100644
index 000000000000..ca46b80561ab
--- /dev/null
+++ b/MdePkg/Include/Ebc/ProcessorBind.h
@@ -0,0 +1,152 @@
+/** @file
+ Processor or compiler specific defines and types for EBC.
+
+ We currently only have one EBC compiler so there may be some Intel compiler
+ specific functions in this file.
+
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __PROCESSOR_BIND_H__
+#define __PROCESSOR_BIND_H__
+
+///
+/// Define the processor type so other code can make processor based choices
+///
+#define MDE_CPU_EBC
+
+//
+// Native integer types
+//
+
+///
+/// 1-byte signed value
+///
+typedef signed char INT8;
+///
+/// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other
+/// values are undefined.
+///
+typedef unsigned char BOOLEAN;
+///
+/// 1-byte unsigned value.
+///
+typedef unsigned char UINT8;
+///
+/// 1-byte Character.
+///
+typedef char CHAR8;
+///
+/// 2-byte signed value.
+///
+typedef short INT16;
+///
+/// 2-byte unsigned value.
+///
+typedef unsigned short UINT16;
+///
+/// 2-byte Character. Unless otherwise specified all strings are stored in the
+/// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
+///
+typedef unsigned short CHAR16;
+///
+/// 4-byte signed value.
+///
+typedef int INT32;
+///
+/// 4-byte unsigned value.
+///
+typedef unsigned int UINT32;
+///
+/// 8-byte signed value.
+///
+typedef __int64 INT64;
+///
+/// 8-byte unsigned value.
+///
+typedef unsigned __int64 UINT64;
+
+///
+/// Signed value of native width. (4 bytes on supported 32-bit processor instructions,
+/// 8 bytes on supported 64-bit processor instructions)
+/// "long" type scales to the processor native size with EBC compiler
+///
+typedef long INTN;
+///
+/// The unsigned value of native width. (4 bytes on supported 32-bit processor instructions;
+/// 8 bytes on supported 64-bit processor instructions)
+/// "long" type scales to the processor native size with the EBC compiler.
+///
+typedef unsigned long UINTN;
+
+///
+/// A value of native width with the highest bit set.
+/// Scalable macro to set the most significant bit in a natural number.
+///
+#define MAX_BIT (1ULL << (sizeof (INTN) * 8 - 1))
+///
+/// A value of native width with the two highest bits set.
+/// Scalable macro to set the most 2 significant bits in a natural number.
+///
+#define MAX_2_BITS (3ULL << (sizeof (INTN) * 8 - 2))
+
+///
+/// Maximum legal EBC address
+///
+#define MAX_ADDRESS ((UINTN) ~0)
+
+///
+/// Maximum legal EBC INTN and UINTN values.
+///
+#define MAX_UINTN ((UINTN) ~0)
+#define MAX_INTN ((INTN)~MAX_BIT)
+
+///