From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0AF302117D29E for ; Wed, 13 Jun 2018 17:55:07 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Jun 2018 17:55:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,220,1526367600"; d="scan'208";a="62992205" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga004.fm.intel.com with ESMTP; 13 Jun 2018 17:55:07 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 13 Jun 2018 17:55:06 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 13 Jun 2018 17:55:04 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.223]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.87]) with mapi id 14.03.0319.002; Thu, 14 Jun 2018 08:55:03 +0800 From: "Zeng, Star" To: "Chen, Chen A" , "edk2-devel@lists.01.org" CC: "Dong, Eric" , "Kinney, Michael D" , "Zeng, Star" Thread-Topic: [PATCH 20/37] MdeModulePkg: Removing ipf which is no longer supported from edk2. Thread-Index: AQHUAsjnsFVxbdRFwE6J1hSzKuECfKRd76+A Date: Thu, 14 Jun 2018 00:55:01 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103BB57B67@shsmsx102.ccr.corp.intel.com> References: <20180613034437.8260-1-chen.a.chen@intel.com> In-Reply-To: <20180613034437.8260-1-chen.a.chen@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 20/37] MdeModulePkg: Removing ipf which is no longer supported from edk2. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2018 00:55:08 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Some comments. 1. Please remove line below in MdeModulePkg.dsc, that is IPF specific. PalLib|MdePkg/Library/BasePalLibNull/BasePalLibNull.inf 2. Please do not remove 'Components.ARM' in MdeModulePkg.dsc. Thanks, Star -----Original Message----- From: Chen, Chen A=20 Sent: Wednesday, June 13, 2018 11:45 AM To: edk2-devel@lists.01.org Cc: Chen, Chen A ; Zeng, Star ;= Dong, Eric ; Kinney, Michael D Subject: [PATCH 20/37] MdeModulePkg: Removing ipf which is no longer suppor= ted from edk2. Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Star Zeng Cc: Eric Dong Cc: Michael D Kinney Signed-off-by: chenc2 Contributed-under: TianoCore Contribution Agreement 1.1 --- .../BootManagerMenuApp/BootManagerMenuApp.inf | 2 +- MdeModulePkg/Application/HelloWorld/HelloWorld.inf | 2 +- .../MemoryProfileInfo/MemoryProfileInfo.inf | 2 +- MdeModulePkg/Application/UiApp/UiApp.inf | 2 +- .../Application/VariableInfo/VariableInfo.inf | 2 +- .../Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf | 2 +- MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf | 2 +- MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf | 2 +- MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf | 2 +- MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf | 2 +- MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf | 2 +- .../Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf | 2 +- MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf | 2 +- MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf | 2 +- MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf | 2 +- MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf | 2 +- .../IncompatiblePciDeviceSupportDxe.inf | 2 +- .../Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf | 4 +- MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf | 2 +- .../Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf | 2 +- .../Pci/SataControllerDxe/SataControllerDxe.inf | 2 +- .../Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf | 2 +- .../Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf | 4 +- MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf | 4 +- MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf | 4 +- MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf | 2 +- MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf | 2 +- MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf | 2 +- MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf | 2 +- MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf | 2 +- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf | 2 +- .../Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf | 2 +- MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf | 2 +- MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf | 2 +- MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf | 2 +- .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf | 2 +- .../Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf | 2 +- MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf | 2 +- MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf | 2 +- MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf | 2 +- MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf | 2 +- .../Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf | 2 +- .../UsbMouseAbsolutePointerDxe.inf | 2 +- MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf | 2 +- MdeModulePkg/Core/Dxe/DxeMain.inf | 2 +- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 5 +- MdeModulePkg/Core/DxeIplPeim/Ipf/DxeLoadFunc.c | 85 -- MdeModulePkg/Core/Pei/PeiMain.inf | 2 +- MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf | 4 +- MdeModulePkg/Include/Guid/VariableFormat.h | 5 - .../BasePlatformHookLibNull.inf | 2 +- .../BaseResetSystemLibNull.inf | 2 +- MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf | 2 +- MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf | 2 +- .../BootMaintenanceManagerUiLib.inf | 2 +- .../Library/BootManagerUiLib/BootManagerUiLib.inf | 2 +- .../CpuExceptionHandlerLibNull.inf | 2 +- .../CustomizedDisplayLib/CustomizedDisplayLib.inf | 4 +- .../DebugAgentLibNull/DebugAgentLibNull.inf | 2 +- .../DeviceManagerUiLib/DeviceManagerUiLib.inf | 2 +- .../DisplayUpdateProgressLibGraphics.inf | 2 +- .../DisplayUpdateProgressLibText.inf | 2 +- .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | 2 +- .../DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | 2 +- .../DxeCapsuleLibNull/DxeCapsuleLibNull.inf | 2 +- .../DxeCoreMemoryAllocationLib.inf | 2 +- .../DxeCoreMemoryAllocationProfileLib.inf | 2 +- .../DxeCorePerformanceLib.inf | 2 +- .../DxeCrc32GuidedSectionExtractLib.inf | 4 +- .../DxeDebugPrintErrorLevelLib.inf | 4 +- MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf | 4 +- .../DxeFileExplorerProtocol.inf | 4 +- MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf | 6 +- MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf | 4 +- MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf | 6 +- .../DxePerformanceLib/DxePerformanceLib.inf | 4 +- .../DxePrintLibPrint2Protocol.inf | 2 +- .../DxeReportStatusCodeLib.inf | 4 +- .../DxeResetSystemLib/DxeResetSystemLib.inf | 2 +- .../DxeSecurityManagementLib.inf | 4 +- MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf | 4 +- MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf | 4 +- .../Library/FileExplorerLib/FileExplorerLib.inf | 4 +- .../FmpAuthenticationLibNull.inf | 2 +- .../LzmaCustomDecompressLib.inf | 2 +- .../OemHookStatusCodeLibNull.inf | 4 +- .../PciHostBridgeLibNull/PciHostBridgeLibNull.inf | 2 +- .../PeiCrc32GuidedSectionExtractLib.inf | 2 +- .../PeiDxeDebugLibReportStatusCode.inf | 4 +- .../PeiPerformanceLib/PeiPerformanceLib.inf | 2 +- .../PeiRecoveryLibNull/PeiRecoveryLibNull.inf | 2 +- .../PeiReportStatusCodeLib.inf | 2 +- .../PeiResetSystemLib/PeiResetSystemLib.inf | 2 +- MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf | 2 +- .../PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf | 4 +- .../PlatformHookLibSerialPortPpi.inf | 4 +- .../PlatformVarCleanupLib.inf | 2 +- .../RuntimeDxeReportStatusCodeLib.inf | 4 +- .../TpmMeasurementLibNull.inf | 4 +- .../UefiBootManagerLib/UefiBootManagerLib.inf | 2 +- MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf | 4 +- .../UefiHiiServicesLib/UefiHiiServicesLib.inf | 4 +- .../UefiMemoryAllocationProfileLib.inf | 6 +- MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf | 2 +- MdeModulePkg/Logo/Logo.inf | 2 +- MdeModulePkg/MdeModulePkg.dsc | 28 +- .../Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf | 2 +- .../Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf | 2 +- .../BootGraphicsResourceTableDxe.inf | 2 +- .../FirmwarePerformanceDxe.inf | 2 +- .../FirmwarePerformancePei.inf | 2 +- .../Acpi/S3SaveStateDxe/S3SaveStateDxe.inf | 4 +- .../Acpi/SmmS3SaveState/SmmS3SaveState.inf | 2 +- MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 2 +- .../BootManagerPolicyDxe/BootManagerPolicyDxe.inf | 2 +- MdeModulePkg/Universal/CapsulePei/CapsulePei.inf | 2 +- .../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 4 +- .../Console/ConPlatformDxe/ConPlatformDxe.inf | 4 +- .../Console/ConSplitterDxe/ConSplitterDxe.inf | 2 +- .../GraphicsConsoleDxe/GraphicsConsoleDxe.inf | 2 +- .../Universal/Console/TerminalDxe/TerminalDxe.inf | 2 +- .../Universal/DebugPortDxe/DebugPortDxe.inf | 2 +- .../Universal/DebugSupportDxe/DebugSupportDxe.inf | 10 +- .../Universal/DebugSupportDxe/Ipf/AsmFuncs.s | 1382 ----------------= ---- .../Universal/DebugSupportDxe/Ipf/Common.i | 29 - .../Universal/DebugSupportDxe/Ipf/Ds64Macros.i | 78 -- .../Universal/DebugSupportDxe/Ipf/PlDebugSupport.c | 467 ------- .../Universal/DebugSupportDxe/Ipf/PlDebugSupport.h | 324 ----- .../Universal/DevicePathDxe/DevicePathDxe.inf | 2 +- .../Universal/Disk/CdExpressPei/CdExpressPei.inf | 2 +- .../Universal/Disk/DiskIoDxe/DiskIoDxe.inf | 2 +- .../Universal/Disk/PartitionDxe/PartitionDxe.inf | 2 +- MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf | 2 +- .../UnicodeCollation/EnglishDxe/EnglishDxe.inf | 2 +- .../DisplayEngineDxe/DisplayEngineDxe.inf | 2 +- .../DriverHealthManagerDxe.inf | 2 +- .../Universal/DriverSampleDxe/DriverSampleDxe.inf | 2 +- MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 7 +- .../Universal/EbcDxe/EbcDebuggerConfig.inf | 2 +- MdeModulePkg/Universal/EbcDxe/EbcDxe.inf | 7 +- MdeModulePkg/Universal/EbcDxe/Ipf/EbcLowLevel.s | 206 --- MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c | 884 ------------- MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.h | 41 - MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf | 2 +- .../FaultTolerantWriteDxe.inf | 2 +- .../FaultTolerantWritePei.inf | 2 +- .../Universal/FileExplorerDxe/FileExplorerDxe.inf | 2 +- .../Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf | 2 +- .../HiiResourcesSampleDxe.inf | 2 +- .../LegacyRegion2Dxe/LegacyRegion2Dxe.inf | 2 +- .../Universal/LoadFileOnFv2/LoadFileOnFv2.inf | 2 +- .../GenericMemoryTestDxe/GenericMemoryTestDxe.inf | 2 +- .../NullMemoryTestDxe/NullMemoryTestDxe.inf | 2 +- MdeModulePkg/Universal/Metronome/Metronome.inf | 2 +- .../MonotonicCounterRuntimeDxe.inf | 2 +- MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf | 2 +- .../Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf | 2 +- MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf | 2 +- .../Universal/Network/IScsiDxe/IScsiDxe.inf | 4 +- MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf | 2 +- MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf | 2 +- .../Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf | 2 +- MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf | 2 +- MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf | 2 +- MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf | 2 +- .../Network/UefiPxeBcDxe/UefiPxeBcDxe.inf | 2 +- .../Network/VlanConfigDxe/VlanConfigDxe.inf | 2 +- MdeModulePkg/Universal/PCD/Dxe/Pcd.inf | 2 +- MdeModulePkg/Universal/PCD/Pei/Pcd.inf | 2 +- .../PcatSingleSegmentPciCfg2Pei.inf | 2 +- .../PlatformDriOverrideDxe.inf | 2 +- MdeModulePkg/Universal/PrintDxe/PrintDxe.inf | 2 +- .../PropertiesTableAttributesDxe.inf | 2 +- .../RegularExpressionDxe/RegularExpressionDxe.inf | 2 - .../Pei/ReportStatusCodeRouterPei.inf | 2 +- .../ReportStatusCodeRouterRuntimeDxe.inf | 2 +- .../SectionExtractionPei/SectionExtractionPei.inf | 2 +- .../Universal/SecurityStubDxe/SecurityStubDxe.inf | 2 +- .../Universal/SetupBrowserDxe/SetupBrowserDxe.inf | 2 +- MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf | 2 +- .../SmbiosMeasurementDxe/SmbiosMeasurementDxe.inf | 2 +- .../StatusCodeHandler/Pei/StatusCodeHandlerPei.inf | 2 +- .../RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf | 2 +- .../Universal/TimestampDxe/TimestampDxe.inf | 2 +- .../Universal/Variable/Pei/VariablePei.inf | 2 +- .../Universal/WatchdogTimerDxe/WatchdogTimer.inf | 4 +- 186 files changed, 213 insertions(+), 3759 deletions(-) delete mode 100644 MdeModulePkg/Core/DxeIplPeim/Ipf/DxeLoadFunc.c delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ipf/Common.i delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSuppo= rt.c delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSuppo= rt.h delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ipf/EbcLowLevel.s delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.h diff --git a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp= .inf b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf index 392a97065c..8559a42b80 100644 --- a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf +++ b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Application/HelloWorld/HelloWorld.inf b/MdeModule= Pkg/Application/HelloWorld/HelloWorld.inf index 1cfed2d85c..491069266b 100644 --- a/MdeModulePkg/Application/HelloWorld/HelloWorld.inf +++ b/MdeModulePkg/Application/HelloWorld/HelloWorld.inf @@ -35,7 +35,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.i= nf b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf index 4bb7a9df1d..57ced0927b 100644 --- a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf +++ b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Application/UiApp/UiApp.inf b/MdeModulePkg/Applic= ation/UiApp/UiApp.inf index d144462ce4..7a7983d6bf 100644 --- a/MdeModulePkg/Application/UiApp/UiApp.inf +++ b/MdeModulePkg/Application/UiApp/UiApp.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Application/VariableInfo/VariableInfo.inf b/MdeMo= dulePkg/Application/VariableInfo/VariableInfo.inf index 484ad32a4e..05de341016 100644 --- a/MdeModulePkg/Application/VariableInfo/VariableInfo.inf +++ b/MdeModulePkg/Application/VariableInfo/VariableInfo.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf b/M= deModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf index d1ce859091..4f97ee7872 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gAtaAtapiPassThruDriverBinding = =20 # COMPONENT_NAME =3D gAtaAtapiPassThruComponentName diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf b/MdeModulePkg/Bu= s/Ata/AtaBusDxe/AtaBusDxe.inf index 4aab75bab7..863d4aa8c2 100644 --- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf +++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gAtaBusDriverBinding # COMPONENT_NAME =3D gAtaBusComponentName diff --git a/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf b/MdeModulePkg/Bus/I= 2c/I2cDxe/I2cBusDxe.inf index 4dbe2f5e68..23c7f2326a 100644 --- a/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf +++ b/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf b/MdeModulePkg/Bus/I2c/= I2cDxe/I2cDxe.inf index 5cd53b2fc4..36c79028a9 100644 --- a/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf +++ b/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf b/MdeModulePkg/Bus/= I2c/I2cDxe/I2cHostDxe.inf index 2fb1085c6d..2fd8e7e316 100644 --- a/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf +++ b/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf b/MdeModulePkg/Bu= s/Isa/IsaBusDxe/IsaBusDxe.inf index 1d9e22ec4c..e64ccc31ce 100644 --- a/MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf +++ b/MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gIsaBusDriverBinding # COMPONENT_NAME =3D gIsaBusComponentName diff --git a/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf b/MdeMo= dulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf index a0172eabf8..b12410d8ff 100644 --- a/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf +++ b/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf @@ -27,7 +27,7 @@ ENTRY_POINT =3D InitializePs2Keyboard =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # DRIVER_BINDING =3D gKeyboardControllerDriver; # COMPONENT_NAME =3D gPs2KeyboardComponentName; # COMPONENT_NAME2 =3D gPs2KeyboardComponentName2; diff --git a/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf b/MdeModulePk= g/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf index 2c7688a051..7f8a82a51a 100644 --- a/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf +++ b/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf @@ -26,7 +26,7 @@ ENTRY_POINT =3D InitializePs2Mouse =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # DRIVER_BINDING =3D gPS2MouseDriver; # COMPONENT_NAME =3D gPs2MouseComponentName; # COMPONENT_NAME2 =3D gPs2MouseComponentName2; diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf b/MdeModulePkg/Bus/Pc= i/EhciDxe/EhciDxe.inf index 238923e828..819bc5a75d 100644 --- a/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf +++ b/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D gEhciDriverBinding = =20 # COMPONENT_NAME =3D gEhciComponentName diff --git a/MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf b/MdeModulePkg/Bus/Pc= i/EhciPei/EhciPei.inf index 813ccc9450..cc29427890 100644 --- a/MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf +++ b/MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf b/MdeModulePkg/Bu= s/Pci/IdeBusPei/IdeBusPei.inf index 8bcef7bc6a..3096ffb077 100644 --- a/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf +++ b/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/Incompati= blePciDeviceSupportDxe.inf b/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupp= ortDxe/IncompatiblePciDeviceSupportDxe.inf index a83edaec7b..7db7e6a7dd 100644 --- a/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciD= eviceSupportDxe.inf +++ b/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciD= eviceSupportDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf b/MdeModu= lePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf index 4918696104..e8defcdfb5 100644 --- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf +++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gNvmExpressDriverBinding # COMPONENT_NAME =3D gNvmExpressComponentName @@ -78,4 +78,4 @@ # =20 [UserExtensions.TianoCore."ExtraFiles"] - NvmExpressDxeExtra.uni \ No newline at end of file + NvmExpressDxeExtra.uni diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf b/MdeModulePkg/Bu= s/Pci/PciBusDxe/PciBusDxe.inf index 97608bfcf2..1b3b61f664 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D gPciBusDriverBinding # COMPONENT_NAME =3D gPciBusComponentName diff --git a/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf b/Mde= ModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf index 03fddfe75e..b27933ac1f 100644 --- a/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf +++ b/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gSerialControllerDriver # COMPONENT_NAME =3D gPciSioSerialComponentName diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf b= /MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf index 03f9fa0d1d..88eacb1dd9 100644 --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D gSataControllerDriverBinding = =20 # COMPONENT_NAME =3D gSataControllerComponentName diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf b/MdeModu= lePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf index 154ce45d82..ff5720558c 100644 --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gSdMmcPciHcDxeDriverBinding # COMPONENT_NAME =3D gSdMmcPciHcDxeComponentName diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf b/MdeModu= lePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf index bc6ea60d6b..129c1dabbf 100644 --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -53,4 +53,4 @@ gEfiPeiMasterBootModePpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid =20 [UserExtensions.TianoCore."ExtraFiles"] - SdMmcPciHcPeiExtra.uni \ No newline at end of file + SdMmcPciHcPeiExtra.uni diff --git a/MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf b/MdeModulePk= g/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf index c1ce9ea851..bf74c5d436 100644 --- a/MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf +++ b/MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUfsHcDriverBinding # COMPONENT_NAME =3D gUfsHcComponentName @@ -53,4 +53,4 @@ gEdkiiUfsHostControllerProtocolGuid ## BY_START =20 [UserExtensions.TianoCore."ExtraFiles"] - UfsPciHcDxeExtra.uni \ No newline at end of file + UfsPciHcDxeExtra.uni diff --git a/MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf b/MdeModulePk= g/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf index b16935628c..4d1ebf61bc 100644 --- a/MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf +++ b/MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -53,4 +53,4 @@ gEfiPeiMasterBootModePpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid =20 [UserExtensions.TianoCore."ExtraFiles"] - UfsPciHcPeiExtra.uni \ No newline at end of file + UfsPciHcPeiExtra.uni diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf b/MdeModulePkg/Bus/Pc= i/UhciDxe/UhciDxe.inf index 9c5ff7b6fc..e393b8aaba 100644 --- a/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf +++ b/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D gUhciDriverBinding = =20 # COMPONENT_NAME =3D gUhciComponentName diff --git a/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf b/MdeModulePkg/Bus/Pc= i/UhciPei/UhciPei.inf index 95ddea2162..1a188fe687 100644 --- a/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf +++ b/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf b/MdeModulePkg/Bus/Pc= i/XhciDxe/XhciDxe.inf index 614938ac89..27630cd645 100644 --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D gXhciDriverBinding # COMPONENT_NAME =3D gXhciComponentName diff --git a/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf b/MdeModulePkg/Bus/Pc= i/XhciPei/XhciPei.inf index f307ea7646..c594891be6 100644 --- a/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf +++ b/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf b/MdeModulePkg= /Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf index 18ffd88d89..c523cdc005 100644 --- a/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf +++ b/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gSCSIBusDriverBinding = =20 # COMPONENT_NAME =3D gScsiBusComponentName diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf b/MdeModuleP= kg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf index 3fbc589236..8f41f5bd77 100644 --- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf +++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gScsiDiskDriverBinding # COMPONENT_NAME =3D gScsiDiskComponentName diff --git a/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf b/MdeMod= ulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf index b4127b791d..c3c9bcdda6 100644 --- a/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf +++ b/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf b/MdeModulePkg/Bus/Sd/= EmmcDxe/EmmcDxe.inf index 3f27bdbcaf..2f21b56a83 100644 --- a/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf +++ b/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gEmmcDxeDriverBinding # COMPONENT_NAME =3D gEmmcDxeComponentName diff --git a/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf b/MdeModuleP= kg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf index 1530f1efdb..dcf0ac6f65 100644 --- a/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf +++ b/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf b/MdeModulePkg/Bus/Sd/SdDx= e/SdDxe.inf index a763314275..92b0ebc25d 100644 --- a/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf +++ b/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gSdDxeDriverBinding # COMPONENT_NAME =3D gSdDxeComponentName diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf b/MdeModu= lePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf index 28daf67ffc..66ccf54209 100644 --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf b/MdeMo= dulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf index 467c533ceb..e3d6483c92 100644 --- a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf +++ b/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUfsPassThruDriverBinding = =20 # COMPONENT_NAME =3D gUfsPassThruComponentName = =20 diff --git a/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf b/MdeModulePkg/Bu= s/Usb/UsbBotPei/UsbBotPei.inf index 977bef5c8b..4494934dbe 100644 --- a/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf +++ b/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf b/MdeModulePkg/Bu= s/Usb/UsbBusDxe/UsbBusDxe.inf index b7b30cc937..1fcf25553d 100644 --- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf +++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D mUsbBusDriverBinding = =20 # COMPONENT_NAME =3D mUsbBusComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf b/MdeModulePkg/Bu= s/Usb/UsbBusPei/UsbBusPei.inf index 734619a2fa..1dcbbb7442 100644 --- a/MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf +++ b/MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf b/MdeModulePkg/Bus/= Usb/UsbKbDxe/UsbKbDxe.inf index 7939a1857d..ff63af6be4 100644 --- a/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf +++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf @@ -37,7 +37,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING =3D gUsbKeyboardDriverBinding = =20 # COMPONENT_NAME =3D gUsbKeyboardComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf b= /MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf index 26d15c7679..8f0195b3b5 100644 --- a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +++ b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf @@ -38,7 +38,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUSBMassDriverBinding = =20 # COMPONENT_NAME =3D gUsbMassStorageComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolu= tePointerDxe.inf b/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouse= AbsolutePointerDxe.inf index af10382d52..80a1242ed4 100644 --- a/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePoint= erDxe.inf +++ b/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePoint= erDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUsbMouseAbsolutePointerDriverBindin= g =20 # COMPONENT_NAME =3D gUsbMouseAbsolutePointerComponentNam= e diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf b/MdeModulePk= g/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf index 13d8859f98..bb5aff325b 100644 --- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf +++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUsbMouseDriverBinding = =20 # COMPONENT_NAME =3D gUsbMouseComponentName diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeM= ain.inf index d2e7360ed4..40ccc85e10 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain.inf +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/Dx= eIplPeim/DxeIpl.inf index 7deeb8f270..192e11aedb 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf @@ -31,7 +31,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) = AARCH64 # =20 [Sources] @@ -49,9 +49,6 @@ X64/VirtualMemory.c X64/DxeLoadFunc.c =20 -[Sources.IPF] - Ipf/DxeLoadFunc.c - [Sources.EBC] Ebc/DxeLoadFunc.c =20 diff --git a/MdeModulePkg/Core/DxeIplPeim/Ipf/DxeLoadFunc.c b/MdeModulePkg/= Core/DxeIplPeim/Ipf/DxeLoadFunc.c deleted file mode 100644 index 7443648017..0000000000 --- a/MdeModulePkg/Core/DxeIplPeim/Ipf/DxeLoadFunc.c +++ /dev/null @@ -1,85 +0,0 @@ -/** @file - Ipf-specific functionality for DxeLoad. - -Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-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 IMPLI= ED. - -**/ - -#include "DxeIpl.h" - - - -/** - Transfers control to DxeCore. - - This function performs a CPU architecture specific operations to execut= e - the entry point of DxeCore with the parameters of HobList. - It also installs EFI_END_OF_PEI_PPI to signal the end of PEI phase. - - @param DxeCoreEntryPoint The entry point of DxeCore. - @param HobList The start of HobList passed to DxeCore= . - -**/ -VOID -HandOffToDxeCore ( - IN EFI_PHYSICAL_ADDRESS DxeCoreEntryPoint, - IN EFI_PEI_HOB_POINTERS HobList - ) -{ - VOID *BaseOfStack; - VOID *TopOfStack; - VOID *BspStore; - EFI_STATUS Status; - - // - // Allocate 128KB for the Stack - // - BaseOfStack =3D AllocatePages (EFI_SIZE_TO_PAGES (STACK_SIZE)); - ASSERT (BaseOfStack !=3D NULL); - - // - // Allocate 16KB for the BspStore - // - BspStore =3D AllocatePages (EFI_SIZE_TO_PAGES (BSP_STORE_SIZE)); - ASSERT (BspStore !=3D NULL); - // - // Build BspStoreHob - // - BuildBspStoreHob ((EFI_PHYSICAL_ADDRESS) (UINTN) BspStore, BSP_STORE_SIZ= E, EfiBootServicesData); - - // - // Compute the top of the stack we were allocated. Pre-allocate a UINTN - // for safety. - // - TopOfStack =3D (VOID *) ((UINTN) BaseOfStack + EFI_SIZE_TO_PAGES (STACK_= SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT); - TopOfStack =3D ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT); - - // - // End of PEI phase signal - // - Status =3D PeiServicesInstallPpi (&gEndOfPeiSignalPpi); - ASSERT_EFI_ERROR (Status); - - // - // Update the contents of BSP stack HOB to reflect the real stack info p= assed to DxeCore. - // - UpdateStackHob ((EFI_PHYSICAL_ADDRESS)(UINTN) BaseOfStack, STACK_SIZE); - - // - // Transfer the control to the entry point of DxeCore. - // - SwitchStack ( - (SWITCH_STACK_ENTRY_POINT)(UINTN)DxeCoreEntryPoint, - HobList.Raw, - NULL, - TopOfStack, - BspStore - ); -} diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf b/MdeModulePkg/Core/Pei/PeiM= ain.inf index 7d9cdaa2f0..0309112992 100644 --- a/MdeModulePkg/Core/Pei/PeiMain.inf +++ b/MdeModulePkg/Core/Pei/PeiMain.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf b/MdeModulePkg/Cor= e/RuntimeDxe/RuntimeDxe.inf index 035aa9a596..3af9521e47 100644 --- a/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf +++ b/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf @@ -31,7 +31,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -62,4 +62,4 @@ TRUE =20 [UserExtensions.TianoCore."ExtraFiles"] - RuntimeDxeExtra.uni \ No newline at end of file + RuntimeDxeExtra.uni diff --git a/MdeModulePkg/Include/Guid/VariableFormat.h b/MdeModulePkg/Incl= ude/Guid/VariableFormat.h index b0c2616c4d..0bc33436dd 100644 --- a/MdeModulePkg/Include/Guid/VariableFormat.h +++ b/MdeModulePkg/Include/Guid/VariableFormat.h @@ -28,13 +28,8 @@ extern EFI_GUID gEfiAuthenticatedVariableGuid; /// /// Alignment of variable name and data, according to the architecture: /// * For IA-32 and Intel(R) 64 architectures: 1. -/// * For IA-64 architecture: 8. /// -#if defined (MDE_CPU_IPF) -#define ALIGNMENT 8 -#else #define ALIGNMENT 1 -#endif =20 // // GET_PAD_SIZE calculates the miminal pad bytes needed to make the curren= t pad size satisfy the alignment requirement. diff --git a/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookL= ibNull.inf b/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookL= ibNull.inf index 6d5195576f..1b6bcff697 100644 --- a/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.= inf +++ b/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.= inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLib= Null.inf b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNu= ll.inf index 96e0ebb212..be5257e879 100644 --- a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.in= f +++ b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.in= f @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf b/MdeModulePk= g/Library/BaseSortLib/BaseSortLib.inf index 4b493f4eb6..ffd83d4e5c 100644 --- a/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf +++ b/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf @@ -23,7 +23,7 @@ LIBRARY_CLASS =3D SortLib|DXE_DRIVER DXE_RUNTIME_DRIVER= UEFI_APPLICATION UEFI_DRIVER =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf b/MdeModulePk= g/Library/BootLogoLib/BootLogoLib.inf index 47969cc05a..566c0954c6 100644 --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenan= ceManagerUiLib.inf b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootM= aintenanceManagerUiLib.inf index def923b977..271d02fdac 100644 --- a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManag= erUiLib.inf +++ b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManag= erUiLib.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf b/M= deModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf index 7983b07949..62fe49c88f 100644 --- a/MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf +++ b/MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHa= ndlerLibNull.inf b/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExcep= tionHandlerLibNull.inf index c79c5a76ee..a2544e84b3 100644 --- a/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLi= bNull.inf +++ b/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLi= bNull.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib= .inf b/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf index 23528948a3..8c1dc6e56f 100644 --- a/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf +++ b/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -62,4 +62,4 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextColor = ## CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextHighlightColor = ## CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldBackgroundHighlightColor = ## CONSUMES - gEfiMdeModulePkgTokenSpaceGuid.PcdFrontPageFormSetGuid = ## CONSUMES \ No newline at end of file + gEfiMdeModulePkgTokenSpaceGuid.PcdFrontPageFormSetGuid = ## CONSUMES diff --git a/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf b= /MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf index ce1eab2623..0fb986d119 100644 --- a/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf +++ b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf= b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf index 1dc665b940..6c35414db1 100644 --- a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf +++ b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayU= pdateProgressLibGraphics.inf b/MdeModulePkg/Library/DisplayUpdateProgressLi= bGraphics/DisplayUpdateProgressLibGraphics.inf index ada6076770..324ab7dab9 100644 --- a/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdatePr= ogressLibGraphics.inf +++ b/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdatePr= ogressLibGraphics.inf @@ -37,7 +37,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdat= eProgressLibText.inf b/MdeModulePkg/Library/DisplayUpdateProgressLibText/Di= splayUpdateProgressLibText.inf index c3134439e4..24d22ea094 100644 --- a/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgre= ssLibText.inf +++ b/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgre= ssLibText.inf @@ -37,7 +37,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf b/MdeM= odulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf index 8367264f76..14629c64fa 100644 --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf= b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf index 342df9e99c..0f8c633d6e 100644 --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf b= /MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf index b836607aae..60071d772e 100644 --- a/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf +++ b/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryA= llocationLib.inf b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreM= emoryAllocationLib.inf index caba8cd4a4..c53e45be32 100644 --- a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocati= onLib.inf +++ b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocati= onLib.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryA= llocationProfileLib.inf b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/D= xeCoreMemoryAllocationProfileLib.inf index a2b5f8c102..5b847a8132 100644 --- a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocati= onProfileLib.inf +++ b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocati= onProfileLib.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceL= ib.inf b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.i= nf index e752a93d83..a083c6957a 100644 --- a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf +++ b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf @@ -35,7 +35,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32G= uidedSectionExtractLib.inf b/MdeModulePkg/Library/DxeCrc32GuidedSectionExtr= actLib/DxeCrc32GuidedSectionExtractLib.inf index d244897ab6..2983d897a4 100644 --- a/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSe= ctionExtractLib.inf +++ b/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSe= ctionExtractLib.inf @@ -25,14 +25,14 @@ FILE_GUID =3D 387A2490-81FC-4E7C-8E0A-3E58C30FCD0B MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D NULL|DXE_CORE DXE_DRIVER DXE_RUNTIME_= DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D NULL|DXE_CORE DXE_DRIVER DXE_RUNTIME_= DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 CONSTRUCTOR =3D DxeCrc32GuidedSectionExtractLibConstr= uctor =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintE= rrorLevelLib.inf b/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebug= PrintErrorLevelLib.inf index b471af7a88..52188a1d94 100644 --- a/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLev= elLib.inf +++ b/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLev= elLib.inf @@ -22,12 +22,12 @@ FILE_GUID =3D 1D564EC9-9373-49a4-9E3F-E4D7B9974C84 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D DebugPrintErrorLevelLib|DXE_CORE DXE_= DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER UEFI_APPLICATION UEFI_DRIVER=20 + LIBRARY_CLASS =3D DebugPrintErrorLevelLib|DXE_CORE DXE_= DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR =3D DxeDebugPrintErrorLevelLibConstructor DESTRUCTOR =3D DxeDebugPrintErrorLevelLibDestructor =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf b/MdeModulePkg/Li= brary/DxeDpcLib/DxeDpcLib.inf index d541acd5a9..a82b60b36c 100644 --- a/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf +++ b/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf @@ -19,13 +19,13 @@ FILE_GUID =3D 38897D86-FF36-4472-AE64-1DB9AE715C81 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D DpcLib|DXE_CORE DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D DpcLib|DXE_CORE DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR =3D DpcLibConstructor =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerPr= otocol.inf b/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerPr= otocol.inf index 5725a9b4ab..1e7e3b42f3 100644 --- a/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerProtocol.= inf +++ b/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerProtocol.= inf @@ -20,7 +20,7 @@ FILE_GUID =3D 6806C45F-13C4-4274-B8A3-055EF641A060 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D FileExplorerLib|DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D FileExplorerLib|DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR =3D FileExplorerConstructor =20 [Sources] @@ -38,4 +38,4 @@ gEfiFileExplorerProtocolGuid ## CONSUMES =20 [Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DX= E_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER] - gEfiFileExplorerProtocolGuid \ No newline at end of file + gEfiFileExplorerProtocolGuid diff --git a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf b/MdeModulePkg/= Library/DxeHttpLib/DxeHttpLib.inf index 92b9b91239..d44a1ec8d0 100644 --- a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf +++ b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf @@ -21,12 +21,12 @@ FILE_GUID =3D ABBAB4CD-EA88-45b9-8234-C8A7450531FC MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D HttpLib|DXE_CORE DXE_DRIVER DXE_RUNTI= ME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D HttpLib|DXE_CORE DXE_DRIVER DXE_RUNTI= ME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -45,4 +45,4 @@ NetLib =20 [Protocols] - gEfiHttpUtilitiesProtocolGuid ## SOMETIMES_CONSUMES \ No newline at end of file + gEfiHttpUtilitiesProtocolGuid ## SOMETIMES_CONSUMES diff --git a/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf b/MdeModulePkg/= Library/DxeIpIoLib/DxeIpIoLib.inf index 086c74d1f1..f2c4d66bd2 100644 --- a/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf +++ b/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf @@ -20,12 +20,12 @@ FILE_GUID =3D A302F877-8625-425c-B1EC-7487B62C4FDA MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D IpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTI= ME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D IpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTI= ME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf b/MdeModulePkg/Li= brary/DxeNetLib/DxeNetLib.inf index ad0727c42f..33c4d9b71c 100644 --- a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf +++ b/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf @@ -21,12 +21,12 @@ FILE_GUID =3D db6dcef3-9f4e-4340-9351-fc35aa8a5888 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D NetLib|DXE_CORE DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D NetLib|DXE_CORE DXE_DRIVER DXE_RUNTIM= E_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -64,4 +64,4 @@ gEfiIp4Config2ProtocolGuid ## SOMETIMES_CONSUMES gEfiComponentNameProtocolGuid ## SOMETIMES_CONSUMES gEfiComponentName2ProtocolGuid ## SOMETIMES_CONSUMES - gEfiAdapterInformationProtocolGuid ## SOMETIMES_CONSUMES \ No newline at end of file + gEfiAdapterInformationProtocolGuid ## SOMETIMES_CONSUMES diff --git a/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf b= /MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf index edc63c6f0b..0c8113c98a 100644 --- a/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf +++ b/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf @@ -24,12 +24,12 @@ FILE_GUID =3D 8B8B4CCC-65FC-41a5-8067-308B8E42CCF2 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D PerformanceLib|DXE_DRIVER DXE_RUNTIME= _DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D PerformanceLib|DXE_DRIVER DXE_RUNTIME= _DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrin= t2Protocol.inf b/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLib= Print2Protocol.inf index 1cda2dc5cf..a5b230b2d3 100644 --- a/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Proto= col.inf +++ b/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Proto= col.inf @@ -20,7 +20,7 @@ FILE_GUID =3D 55D460DB-8FEA-415a-B95D-70145AE0675C MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D PrintLib|DXE_DRIVER DXE_RUNTIME_DRIVE= R DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D PrintLib|DXE_DRIVER DXE_RUNTIME_DRIVE= R DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR =3D PrintLibConstructor =20 [Sources] diff --git a/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCod= eLib.inf b/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeL= ib.inf index 962cf8b05b..a15a01ffb4 100644 --- a/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.in= f +++ b/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.in= f @@ -22,12 +22,12 @@ FILE_GUID =3D EBF144C8-70F5-4e09-ADE2-F41F5C59AFDA MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D ReportStatusCodeLib|DXE_CORE DXE_DRIV= ER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_D= RIVER SMM_CORE + LIBRARY_CLASS =3D ReportStatusCodeLib|DXE_CORE DXE_DRIV= ER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf b= /MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf index 5cd52d8859..20521f806e 100644 --- a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf +++ b/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManag= ementLib.inf b/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityMan= agementLib.inf index 0f8a13b99d..7a4af4461d 100644 --- a/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLi= b.inf +++ b/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLi= b.inf @@ -22,12 +22,12 @@ FILE_GUID =3D 7F61122C-19DF-47c3-BA0D-6C1149E30FA1 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D SecurityManagementLib|DXE_CORE DXE_DR= IVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI= _DRIVER=20 + LIBRARY_CLASS =3D SecurityManagementLib|DXE_CORE DXE_DR= IVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf b/MdeModulePk= g/Library/DxeTcpIoLib/DxeTcpIoLib.inf index 1b29dcec48..18e0df8f58 100644 --- a/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf +++ b/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf @@ -20,12 +20,12 @@ FILE_GUID =3D D4608509-1AB0-4cc7-827A-AB8E1E7BD3E6 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D TcpIoLib|DXE_CORE DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D TcpIoLib|DXE_CORE DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf b/MdeModulePk= g/Library/DxeUdpIoLib/DxeUdpIoLib.inf index ce6e996a51..8edba6146e 100644 --- a/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf +++ b/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf @@ -20,12 +20,12 @@ FILE_GUID =3D 7E615AA1-41EE-49d4-B7E9-1D7A60AA5C8D MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D UdpIoLib|DXE_CORE DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D UdpIoLib|DXE_CORE DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf b/Mde= ModulePkg/Library/FileExplorerLib/FileExplorerLib.inf index 75071d9541..a8ad97b77f 100644 --- a/MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf +++ b/MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -60,4 +60,4 @@ gEfiDevicePathToTextProtocolGuid ## PRODUCES =20 [Depex.common.DXE_DRIVER] - gEfiFormBrowser2ProtocolGuid AND gEfiHiiDatabaseProtocolGuid \ No newline at end of file + gEfiFormBrowser2ProtocolGuid AND gEfiHiiDatabaseProtocolGuid diff --git a/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticatio= nLibNull.inf b/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticat= ionLibNull.inf index f9b87ca53a..1c9402f400 100644 --- a/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNul= l.inf +++ b/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNul= l.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompr= essLib.inf b/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompr= essLib.inf index 127c7ded86..da5ae5abfb 100644 --- a/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.= inf +++ b/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.= inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCod= eLibNull.inf b/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusC= odeLibNull.inf index 32ed1a41bf..b746232558 100644 --- a/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNul= l.inf +++ b/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNul= l.inf @@ -25,11 +25,11 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] OemHookStatusCodeLibNull.c =20 [Packages] - MdePkg/MdePkg.dec \ No newline at end of file + MdePkg/MdePkg.dec diff --git a/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull= .inf b/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf index 8df14924ad..7d669e6387 100644 --- a/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf +++ b/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf @@ -27,7 +27,7 @@ # The following information is for reference only and not required by the = build # tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32G= uidedSectionExtractLib.inf b/MdeModulePkg/Library/PeiCrc32GuidedSectionExtr= actLib/PeiCrc32GuidedSectionExtractLib.inf index 45fd141f01..ff4234f0da 100644 --- a/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32GuidedSe= ctionExtractLib.inf +++ b/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32GuidedSe= ctionExtractLib.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebu= gLibReportStatusCode.inf b/MdeModulePkg/Library/PeiDxeDebugLibReportStatusC= ode/PeiDxeDebugLibReportStatusCode.inf index 55446672d7..855b586505 100644 --- a/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibRep= ortStatusCode.inf +++ b/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibRep= ortStatusCode.inf @@ -21,12 +21,12 @@ FILE_GUID =3D bda39d3a-451b-4350-8266-81ab10fa0523 MODULE_TYPE =3D PEIM VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D DebugLib|DXE_CORE DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_AP= PLICATION UEFI_DRIVER + LIBRARY_CLASS =3D DebugLib|DXE_CORE DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATION UEFI_= DRIVER =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf b= /MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf index ce49db1c8d..8e3f4c2a9b 100644 --- a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf +++ b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf= b/MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf index 6c565acc40..492bc6e0ce 100644 --- a/MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf +++ b/MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCod= eLib.inf b/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeL= ib.inf index f66ce80cd5..39b303cf9c 100644 --- a/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.in= f +++ b/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.in= f @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf b= /MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf index b1b9388c63..4ddb68cd83 100644 --- a/MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf +++ b/MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf b/MdeModule= Pkg/Library/PeiS3LibNull/PeiS3LibNull.inf index f582054870..15817a87c5 100644 --- a/MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf +++ b/MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.i= nf b/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf index 0feff36612..1e7ea280a9 100644 --- a/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf +++ b/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf @@ -20,7 +20,7 @@ FILE_GUID =3D 57F9967B-26CD-4262-837A-55B8AA158254 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D S3BootScriptLib|DXE_CORE DXE_DRIVER D= XE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATIO= N + LIBRARY_CLASS =3D S3BootScriptLib|DXE_CORE DXE_DRIVER D= XE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER UEFI_APPLICATION =20 =20 CONSTRUCTOR =3D S3BootScriptLibInitialize @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHook= LibSerialPortPpi.inf b/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/Pl= atformHookLibSerialPortPpi.inf index d577506b26..82db784e92 100644 --- a/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSeri= alPortPpi.inf +++ b/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSeri= alPortPpi.inf @@ -18,13 +18,13 @@ FILE_GUID =3D 621734D8-8B5E-4c01-B330-9F89A1081710 MODULE_TYPE =3D PEIM VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D PlatformHookLib|DXE_CORE DXE_DRIVER D= XE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE = UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D PlatformHookLib|DXE_CORE DXE_DRIVER D= XE_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATIO= N UEFI_DRIVER MODULE_UNI_FILE =3D PlatformHookLibSerialPortPpi.uni =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupL= ib.inf b/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.i= nf index 6e7fcb6a5c..dce4a96837 100644 --- a/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.inf +++ b/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.inf @@ -21,7 +21,7 @@ FILE_GUID =3D 9C9623EB-4EF3-44e0-A931-F3A340D1A0F9 MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D PlatformVarCleanupLib|DXE_DRIVER DXE_R= UNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D PlatformVarCleanupLib|DXE_DRIVER DXE_R= UNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR =3D PlatformVarCleanupLibConstructor DESTRUCTOR =3D PlatformVarCleanupLibDestructor =20 diff --git a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeR= eportStatusCodeLib.inf b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib= /RuntimeDxeReportStatusCodeLib.inf index 49d9933b58..bd4493d98b 100644 --- a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportSt= atusCodeLib.inf +++ b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportSt= atusCodeLib.inf @@ -20,13 +20,13 @@ FILE_GUID =3D 07D25BBB-F832-41bb-BBA0-612E9F033067 MODULE_TYPE =3D DXE_RUNTIME_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D ReportStatusCodeLib|DXE_RUNTIME_DRIVE= R DXE_SAL_DRIVER + LIBRARY_CLASS =3D ReportStatusCodeLib|DXE_RUNTIME_DRIVE= R CONSTRUCTOR =3D ReportStatusCodeLibConstructor DESTRUCTOR =3D ReportStatusCodeLibDestructor # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNu= ll.inf b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.i= nf index fef783a4f9..157744caff 100644 --- a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf +++ b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf @@ -17,13 +17,13 @@ FILE_GUID =3D 6DFD6E9F-9278-48D8-8F45-B6CFF2C2B69C MODULE_TYPE =3D UEFI_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D TpmMeasurementLib|DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D TpmMeasurementLib|DXE_DRIVER DXE_RUNT= IME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER MODULE_UNI_FILE =3D TpmMeasurementLibNull.uni =20 # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF +# VALID_ARCHITECTURES =3D IA32 X64 # =20 [Sources] diff --git a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf= b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf index 8d5b89ea29..f7402351fc 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf +++ b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf b/MdeModulePkg/= Library/UefiHiiLib/UefiHiiLib.inf index 7ee68428a1..6f4715e255 100644 --- a/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf +++ b/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf @@ -21,10 +21,10 @@ FILE_GUID =3D 3143687A-7C80-404e-B5FE-2D88980E1B1C MODULE_TYPE =3D UEFI_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER = DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER = DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf= b/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf index a009e9a715..4971fcf672 100644 --- a/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf +++ b/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf @@ -20,12 +20,12 @@ FILE_GUID =3D 894DC1B6-07A3-4a9d-8CDD-333580B3D4B1 MODULE_TYPE =3D UEFI_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D UefiHiiServicesLib|DXE_DRIVER DXE_RUN= TIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER=20 + LIBRARY_CLASS =3D UefiHiiServicesLib|DXE_DRIVER DXE_RUN= TIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER =20 CONSTRUCTOR =3D UefiHiiServicesLibConstructor =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemory= AllocationProfileLib.inf b/MdeModulePkg/Library/UefiMemoryAllocationProfile= Lib/UefiMemoryAllocationProfileLib.inf index 21b544cc10..50a6afc2a1 100644 --- a/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemoryAllocat= ionProfileLib.inf +++ b/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemoryAllocat= ionProfileLib.inf @@ -27,12 +27,12 @@ FILE_GUID =3D 9E8A380A-231E-41E4-AD40-5E706196B853 MODULE_TYPE =3D UEFI_DRIVER VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D MemoryAllocationLib|DXE_DRIVER DXE_RU= NTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - LIBRARY_CLASS =3D MemoryProfileLib|DXE_DRIVER DXE_RUNTI= ME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D MemoryAllocationLib|DXE_DRIVER DXE_RU= NTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS =3D MemoryProfileLib|DXE_DRIVER DXE_RUNTI= ME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR =3D MemoryProfileLibConstructor =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf b/MdeModulePk= g/Library/UefiSortLib/UefiSortLib.inf index 4c3d5e0545..00f75ce547 100644 --- a/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf +++ b/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf @@ -23,7 +23,7 @@ LIBRARY_CLASS =3D SortLib|UEFI_APPLICATION UEFI_DRIVER = UEFI_DRIVER DXE_RUNTIME_DRIVER DXE_DRIVER =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources.common] diff --git a/MdeModulePkg/Logo/Logo.inf b/MdeModulePkg/Logo/Logo.inf index e2e61c82c5..e69a6d58c5 100644 --- a/MdeModulePkg/Logo/Logo.inf +++ b/MdeModulePkg/Logo/Logo.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # =20 [Binaries] diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 18928f96d8..fbfeae5dc2 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -20,7 +20,7 @@ PLATFORM_VERSION =3D 0.98 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/MdeModule - SUPPORTED_ARCHITECTURES =3D IA32|IPF|X64|EBC|ARM|AARCH64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 @@ -202,28 +202,6 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x0 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|28 =20 -[PcdsFixedAtBuild.IPF] - gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000 - -##########################################################################= ######################### -# -# Components Section - list of the modules and components that will be pro= cessed by compilation -# tools and the EDK II tools to generate PE32/PE32+/C= off image files. -# -# Note: The EDK II DSC file is not used to specify how compiled binary ima= ges get placed -# into firmware volume images. This section is just a list of module= s to compile from -# source into UEFI-compliant binaries. -# It is the FDF file that contains information on combining binary f= iles into firmware -# volume images, whose concept is beyond UEFI and is described in PI= specification. -# Binary modules do not need to be listed in this section, as they s= hould be -# specified in the FDF file. For example: Shell binary (Shell_Full.e= fi), FAT binary (Fat.efi), -# Logo (Logo.bmp), and etc. -# There may also be modules listed in this section that are not requ= ired in the FDF file, -# When a module listed here is excluded from FDF file, then UEFI-com= pliant binary will be -# generated for it, but the binary will not be put into any firmware= volume. -# -##########################################################################= ######################### - [Components] MdeModulePkg/Application/HelloWorld/HelloWorld.inf MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf @@ -444,14 +422,14 @@ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf =20 -[Components.IA32, Components.X64, Components.IPF, Components.AARCH64] +[Components.IA32, Components.X64, Components.AARCH64] MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf MdeModulePkg/Universal/EbcDxe/EbcDxe.inf MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf =20 -[Components.IA32, Components.X64, Components.IPF, Components.ARM, Componen= ts.AARCH64] +[Components.IA32, Components.X64, Components.AARCH64] MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf MdeModulePkg/Core/Dxe/DxeMain.inf { diff --git a/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.in= f b/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf index 34b1600171..0de8489719 100644 --- a/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf b/Md= eModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf index ffb8d08f98..dcf7e40ca1 100644 --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootG= raphicsResourceTableDxe.inf b/MdeModulePkg/Universal/Acpi/BootGraphicsResou= rceTableDxe/BootGraphicsResourceTableDxe.inf index bc1c10e981..24e1633b1f 100644 --- a/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphics= ResourceTableDxe.inf +++ b/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphics= ResourceTableDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/Fi= rmwarePerformanceDxe.inf b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceD= ataTableDxe/FirmwarePerformanceDxe.inf index 3d2dd6eb73..dc8ec2d3f1 100644 --- a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwareP= erformanceDxe.inf +++ b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwareP= erformanceDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/Fi= rmwarePerformancePei.inf b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceD= ataTablePei/FirmwarePerformancePei.inf index a6ce5e6494..4166533aaf 100644 --- a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwareP= erformancePei.inf +++ b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwareP= erformancePei.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf = b/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf index 05e98f40cd..007593455f 100644 --- a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf +++ b/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] @@ -74,4 +74,4 @@ TRUE =20 [UserExtensions.TianoCore."ExtraFiles"] - S3SaveStateDxeExtra.uni \ No newline at end of file + S3SaveStateDxeExtra.uni diff --git a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf = b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf index f1f264ec43..1e7cdb740d 100644 --- a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf +++ b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf b/MdeModulePkg/Univer= sal/BdsDxe/BdsDxe.inf index b8c5aa9795..ea6384559c 100644 --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyD= xe.inf b/MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyDxe.i= nf index 488f421341..5c2efc102c 100644 --- a/MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyDxe.inf +++ b/MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyDxe.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/CapsulePei/CapsulePei.inf b/MdeModulePk= g/Universal/CapsulePei/CapsulePei.inf index c54bc21a95..a1936312e5 100644 --- a/MdeModulePkg/Universal/CapsulePei/CapsulePei.inf +++ b/MdeModulePkg/Universal/CapsulePei/CapsulePei.inf @@ -33,7 +33,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf= b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf index 9ab04ce1b3..33c60a8c65 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf @@ -27,13 +27,13 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] CapsuleService.c =20 -[Sources.Ia32, Sources.IPF, Sources.EBC, Sources.ARM, Sources.AARCH64] +[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64] SaveLongModeContext.c =20 [Sources.X64] diff --git a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.i= nf b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf index 1d404dfc6f..2f51db8d3f 100644 --- a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf +++ b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gConPlatformTextInDriverBinding # COMPONENT_NAME =3D gConPlatformComponentName @@ -96,4 +96,4 @@ gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES =20 [UserExtensions.TianoCore."ExtraFiles"] - ConPlatformDxeExtra.uni \ No newline at end of file + ConPlatformDxeExtra.uni diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.i= nf b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf index ff10a50b50..10ce585cb0 100644 --- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf +++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gConSplitterConInDriverBinding # COMPONENT_NAME =3D gConSplitterConInComponentName diff --git a/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsCons= oleDxe.inf b/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsCons= oleDxe.inf index ccf44979d5..f43b205db5 100644 --- a/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.= inf +++ b/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.= inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gGraphicsConsoleDriverBinding # COMPONENT_NAME =3D gGraphicsConsoleComponentName diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/M= deModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf index 0780296798..dbbfb3f844 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gTerminalDriverBinding # COMPONENT_NAME =3D gTerminalComponentName diff --git a/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf b/MdeModu= lePkg/Universal/DebugPortDxe/DebugPortDxe.inf index b727cda3cf..1298d04b52 100644 --- a/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf +++ b/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gDebugPortDriverBinding # COMPONENT_NAME =3D gDebugPortComponentName diff --git a/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf b/M= deModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf index 0d37f5fb64..c81404baf1 100644 --- a/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf +++ b/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF +# VALID_ARCHITECTURES =3D IA32 X64 # =20 [Sources] @@ -50,14 +50,6 @@ X64/PlDebugSupportX64.c X64/AsmFuncs.nasm =20 -[Sources.IPF] - Ipf/PlDebugSupport.h - Ipf/PlDebugSupport.c - Ipf/Ds64Macros.i - Ipf/Common.i - Ipf/AsmFuncs.s - - [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s b/MdeMod= ulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s deleted file mode 100644 index db75fc088e..0000000000 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s +++ /dev/null @@ -1,1382 +0,0 @@ -/// @file -/// Low level IPF routines used by the debug support driver -/// -/// Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-/// 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 I= MPLIED. -/// -/// - - -#include "Common.i" -#include "Ds64Macros.i" - -ASM_GLOBAL PatchSaveBuffer -ASM_GLOBAL IpfContextBuf -ASM_GLOBAL CommonHandler -ASM_GLOBAL ExternalInterruptCount - - -///////////////////////////////////////////// -// -// Name: -// InstructionCacheFlush -// -// Description: -// Flushes instruction cache for specified number of bytes -// - ASM_GLOBAL InstructionCacheFlush - .proc InstructionCacheFlush - .align 32 -InstructionCacheFlush:: - { .mii - alloc r3=3D2, 0, 0, 0 - cmp4.leu p0,p6=3D32, r33;; - (p6) mov r33=3D32;; - } - { .mii - nop.m 0 - zxt4 r29=3Dr33;; - dep.z r30=3Dr29, 0, 5;; - } - { .mii - cmp4.eq p0,p7=3Dr0, r30 - shr.u r28=3Dr29, 5;; - (p7) adds r28=3D1, r28;; - } - { .mii - nop.m 0 - shl r27=3Dr28, 5;; - zxt4 r26=3Dr27;; - } - { .mfb - add r31=3Dr26, r32 - nop.f 0 - nop.b 0 - } -LoopBack: // $L143: - { .mii - fc r32 - adds r32=3D32, r32;; - cmp.ltu p14,p15=3Dr32, r31 - } - { .mfb - nop.m 0 - nop.f 0 - //(p14) br.cond.dptk.few $L143#;; - (p14) br.cond.dptk.few LoopBack;; - } - { .mmi - sync.i;; - srlz.i - nop.i 0;; - } - { .mfb - nop.m 0 - nop.f 0 - br.ret.sptk.few b0;; - } - .endp InstructionCacheFlush - - -///////////////////////////////////////////// -// -// Name: -// ChainHandler -// -// Description: -// Chains an interrupt handler -// -// The purpose of this function is to enable chaining of the external= interrupt. -// Since there's no clean SAL abstraction for doing this, we must do = it -// surreptitiously. -// -// The reserved IVT entry at offset 0x3400 is coopted for use by this= handler. -// According to Itanium architecture, it is reserved. Strictly speak= ing, this is -// not safe, as we're cheating and violating the Itanium architecture= . However, -// as long as we're the only ones cheating, we should be OK. Without= hooks in -// the SAL to enable IVT management, there aren't many good options. -// -// The strategy is to replace the first bundle of the external interr= upt handler -// with our own that will branch into a piece of code we've supplied = and located -// in the reserved IVT entry. Only the first bundle of the external = interrupt -// IVT entry is modified. -// -// The original bundle is moved and relocated to space -// allocated within the reserved IVT entry. The next bundle followin= g is -// is generated to go a hard coded branch back to the second bundle o= f the -// external interrupt IVT entry just in case the first bundle had no = branch. -// -// Our new code will execute our handler, and then fall through to th= e -// original bundle after restoring all context appropriately. -// -// The following is a representation of what the IVT memory map looks= like with -// our chained handler installed: -// -// -// -// -// -// This IVT entry is Failsafe bundle -// reserved by the -// Itanium architecture Original bundle 0 -// and is used for -// for locating our -// handler and the -// original bundle Patch code... -// zero of the ext -// interrupt handler -// -// RSVD (3400) Unused -// -// -// -// -// -// -// -// -// -// -// -// -// EXT_INT (3000) Bundle 0 Bundle zero - This o= ne is -// modified, all other bundles -// in the EXT_INT en= try are -// untouched. -// -// -// Arguments: -// -// Returns: -// -// Notes: -// -// - ASM_GLOBAL ChainHandler - .proc ChainHandler -ChainHandler: - - NESTED_SETUP( 0,2+3,3,0 ) - - mov r8=3D1 // r8 =3D success - mov r2=3Dcr.iva;; -// -// NOTE: There's a potential hazard here in that we're simply stealing a b= unch of -// bundles (memory) from the IVT and assuming there's no catastrophic side= effect. -// -// First, save IVT area we're taking over with the patch so we can restore= it later -// - addl out0=3DPATCH_ENTRY_OFFSET, r2 // out0 =3D source bu= ffer - movl out1=3DPatchSaveBuffer // out1 =3D destinati= on buffer - mov out2=3D0x40;; // out2 =3D number of= bundles to copy... save entire IDT entry - br.call.sptk.few b0 =3D CopyBundles - -// Next, copy the patch code into the IVT - movl out0=3DPatchCode // out0 =3D source bu= ffer of patch code - addl out1=3DPATCH_OFFSET, r2 // out1 =3D destinati= on buffer - in IVT - mov out2=3DPATCH_CODE_SIZE;; =20 - shr out2=3Dout2, 4;; // out2 =3D number of= bundles to copy - br.call.sptk.few b0 =3D CopyBundles - - -// copy original bundle 0 from the external interrupt handler to the -// appropriate place in the reserved IVT interrupt slot - addl out0=3DEXT_INT_ENTRY_OFFSET, r2 // out0 =3D source bu= ffer - addl out1=3DRELOCATED_EXT_INT, r2 // out1 =3D destinati= on buffer - in reserved IVT - mov out2=3D1;; // out2 =3D copy 1 bu= ndle - br.call.sptk.few b0 =3D CopyBundles - -// Now relocate it there because it very likely had a branch instruction t= hat -// that must now be fixed up. - addl out0=3DRELOCATED_EXT_INT, r2 // out0 =3D new runti= me address of bundle - in reserved IVT - addl out1=3DEXT_INT_ENTRY_OFFSET, r2;;// out1 =3D IP addres= s of previous location - mov out2=3Dout0;; // out2 =3D IP addres= s of new location - br.call.sptk.few b0 =3D RelocateBundle - -// Now copy into the failsafe branch into the next bundle just in case -// the original ext int bundle 0 bundle did not contain a branch instructi= on - movl out0=3DFailsafeBranch // out0 =3D source bu= ffer - addl out1=3DFAILSAFE_BRANCH_OFFSET, r2 // out1 =3D destina= tion buffer - in reserved IVT - mov out2=3D1;; // out2 =3D copy 1 bu= ndle - br.call.sptk.few b0 =3D CopyBundles - -// Last, copy in our replacement for the external interrupt IVT entry bund= le 0 - movl out0=3DPatchCodeNewBun0 // out0 =3D source bu= ffer - our replacement bundle 0 - addl out1=3DEXT_INT_ENTRY_OFFSET, r2 // out1 =3D destinati= on buffer - bundle 0 of External interrupt entry - mov out2=3D1;; // out2 =3D copy 1 bu= ndle - br.call.sptk.few b0 =3D CopyBundles - -ChainHandlerDone: - NESTED_RETURN - - .endp ChainHandler - - -///////////////////////////////////////////// -// -// Name: -// UnchainHandler -// -// Description: -// Unchains an interrupt handler -// -// Arguments: -// -// Returns: -// -// Notes: -// -// - ASM_GLOBAL UnchainHandler - .proc UnchainHandler - -UnchainHandler: - - NESTED_SETUP( 0,2+3,3,0 ) - - mov r8=3D1 // r8 =3D success - mov r2=3Dcr.iva;; // r2 =3D interrupt vect= or address - -// First copy original Ext Int bundle 0 back to it's proper home... - addl out0=3DRELOCATED_EXT_INT, r2 // out0 =3D source - = in reserved IVT - addl out1=3DEXT_INT_ENTRY_OFFSET, r2 // out1 =3D destinati= on buffer - first bundle of Ext Int entry - mov out2=3D1;; // out2 =3D copy 1 bu= ndle - br.call.sptk.few b0 =3D CopyBundles - -// Now, relocate it again... - addl out0=3DEXT_INT_ENTRY_OFFSET, r2 // out1 =3D New runti= me address - addl out1=3DRELOCATED_EXT_INT, r2;; // out0 =3D IP addres= s of previous location - mov out2=3Dout0;; // out2 =3D IP addres= s of new location - br.call.sptk.few b0 =3D RelocateBundle - -// Last, restore the patch area - movl out0=3DPatchSaveBuffer // out0 =3D source bu= ffer - addl out1=3DPATCH_ENTRY_OFFSET, r2 // out1 =3D destinati= on buffer - mov out2=3D0x40;; // out2 =3D number of= bundles to copy... save entire IDT entry - br.call.sptk.few b0 =3D CopyBundles - -UnchainHandlerDone: - NESTED_RETURN - - .endp UnchainHandler - - -///////////////////////////////////////////// -// -// Name: -// CopyBundles -// -// Description: -// Copies instruction bundles - flushes icache as necessary -// -// Arguments: -// in0 - Bundle source -// in1 - Bundle destination -// in2 - Bundle count -// -// Returns: -// -// Notes: -// This procedure is a leaf routine -// - .proc CopyBundles - -CopyBundles: - - NESTED_SETUP(3,2+1,0,0) - - shl in2=3Din2, 1;; // in2 =3D count of 8 by= te blocks to copy - -CopyBundlesLoop: - - cmp.eq p14, p15 =3D 0, in2;; // Check if done -(p14) br.sptk.few CopyBundlesDone;; - - ld8 loc2=3D[in0], 0x8;; // loc2 =3D source bytes - st8 [in1]=3Dloc2;; // [in1] =3D destination= bytes - fc in1;; // Flush instruction cache - sync.i;; // Ensure local and remote= data/inst caches in sync - srlz.i;; // Ensure sync has been ob= served - add in1=3D0x8, in1;; // in1 =3D next destinat= ion - add in2=3D-1, in2;; // in2 =3D decrement 8 b= ytes blocks to copy - br.sptk.few CopyBundlesLoop;; - -CopyBundlesDone: - NESTED_RETURN - - .endp CopyBundles - - -///////////////////////////////////////////// -// -// Name: -// RelocateBundle -// -// Description: -// Relocates an instruction bundle by updating any ip-relative branch= instructions. -// -// Arguments: -// in0 - Runtime address of bundle -// in1 - IP address of previous location of bundle -// in2 - IP address of new location of bundle -// -// Returns: -// in0 - 1 if successful or 0 if unsuccessful -// -// Notes: -// This routine examines all slots in the given bundle that are desti= ned for the -// branch execution unit. If any of these slots contain an IP-relati= ve branch -// namely instructions B1, B2, B3, or B6, the slot is fixed-up with a= new relative -// address. Errors can occur if a branch cannot be reached. -// - .proc RelocateBundle - -RelocateBundle: - - NESTED_SETUP(3,2+4,3,0) - - mov loc2=3DSLOT0 // loc2 =3D slot index - mov loc5=3Din0;; // loc5 =3D runtime addr= ess of bundle - mov in0=3D1;; // in0 =3D success - -RelocateBundleNextSlot: - - cmp.ge p14, p15 =3D SLOT2, loc2;; // Check if maximum slot -(p15) br.sptk.few RelocateBundleDone - - mov out0=3Dloc5;; // out0 =3D runtime addr= ess of bundle - br.call.sptk.few b0 =3D GetTemplate - mov loc3=3Dout0;; // loc3 =3D instruction = template - mov out0=3Dloc5 // out0 =3D runtime addr= ess of bundle - mov out1=3Dloc2;; // out1 =3D instruction = slot number - br.call.sptk.few b0 =3D GetSlot - mov loc4=3Dout0;; // loc4 =3D instruction = encoding - mov out0=3Dloc4 // out0 =3D instuction e= ncoding - mov out1=3Dloc2 // out1 =3D instruction = slot number - mov out2=3Dloc3;; // out2 =3D instruction = template - br.call.sptk.few b0 =3D IsSlotBranch - cmp.eq p14, p15 =3D 1, out0;; // Check if branch slot -(p15) add loc2=3D1,loc2 // Increment slot -(p15) br.sptk.few RelocateBundleNextSlot - mov out0=3Dloc4 // out0 =3D instuction e= ncoding - mov out1=3Din1 // out1 =3D IP address o= f previous location - mov out2=3Din2;; // out2 =3D IP address o= f new location - br.call.sptk.few b0 =3D RelocateSlot - cmp.eq p14, p15 =3D 1, out1;; // Check if relocated sl= ot -(p15) mov in0=3D0 // in0 =3D failure -(p15) br.sptk.few RelocateBundleDone - mov out2=3Dout0;; // out2 =3D instruction = encoding - mov out0=3Dloc5 // out0 =3D runtime addr= ess of bundle - mov out1=3Dloc2;; // out1 =3D instruction = slot number - br.call.sptk.few b0 =3D SetSlot - add loc2=3D1,loc2;; // Increment slot - br.sptk.few RelocateBundleNextSlot - -RelocateBundleDone: - NESTED_RETURN - - .endp RelocateBundle - - -///////////////////////////////////////////// -// -// Name: -// RelocateSlot -// -// Description: -// Relocates an instruction bundle by updating any ip-relative branch= instructions. -// -// Arguments: -// in0 - Instruction encoding (41-bits, right justified) -// in1 - IP address of previous location of bundle -// in2 - IP address of new location of bundle -// -// Returns: -// in0 - Instruction encoding (41-bits, right justified) -// in1 - 1 if successful otherwise 0 -// -// Notes: -// This procedure is a leaf routine -// - .proc RelocateSlot - -RelocateSlot: - NESTED_SETUP(3,2+5,0,0) - extr.u loc2=3Din0, 37, 4;; // loc2 =3D instruction = opcode - cmp.eq p14, p15 =3D 4, loc2;; // IP-relative branch (B= 1) or - // IP-relative counted bra= nch (B2) -(p15) cmp.eq p14, p15 =3D 5, loc2;; // IP-relative call (B3) -(p15) cmp.eq p14, p15 =3D 7, loc2;; // IP-relative predict (= B6) -(p15) mov in1=3D1 // Instruction did not n= eed to be reencoded -(p15) br.sptk.few RelocateSlotDone - tbit.nz p14, p15 =3D in0, 36;; // put relative offset s= ign bit in p14 - extr.u loc2=3Din0, 13, 20;; // loc2 =3D relative off= set in instruction -(p14) movl loc3=3D0xfffffffffff00000;; // extend sign -(p14) or loc2=3Dloc2, loc3;; - shl loc2=3Dloc2,4;; // convert to byte offse= t instead of bundle offset - add loc3=3Dloc2, in1;; // loc3 =3D physical add= ress of branch target -(p14) sub loc2=3Dr0,loc2;; // flip sign in loc2 if = offset is negative - sub loc4=3Dloc3,in2;; // loc4 =3D relative off= set from new ip to branch target - cmp.lt p15, p14 =3D 0, loc4;; // get new sign bit -(p14) sub loc5=3Dr0,loc4 // get absolute value of= offset -(p15) mov loc5=3Dloc4;; - movl loc6=3D0x0FFFFFF;; // maximum offset in byt= es for ip-rel branch - cmp.gt p14, p15 =3D loc5, loc6;; // check to see we're no= t out of range for an ip-relative branch -(p14) br.sptk.few RelocateSlotError - cmp.lt p15, p14 =3D 0, loc4;; // store sign in p14 aga= in -(p14) dep in0=3D-1,in0,36,1 // store sign bit in in= struction -(p15) dep in0=3D0,in0,36,1 - shr loc4=3Dloc4, 4;; // convert back to bundl= e offset - dep in0=3Dloc4,in0,13,16;; // put first 16 bits of = new offset into instruction - shr loc4=3Dloc4,16;; - dep in0=3Dloc4,in0,13+16,4 // put last 4 bits of ne= w offset into instruction - mov in1=3D1;; // in1 =3D success - br.sptk.few RelocateSlotDone;; - -RelocateSlotError: - mov in1=3D0;; // in1 =3D failure - -RelocateSlotDone: - NESTED_RETURN - - .endp RelocateSlot - - -///////////////////////////////////////////// -// -// Name: -// IsSlotBranch -// -// Description: -// Determines if the given instruction is a branch instruction. -// -// Arguments: -// in0 - Instruction encoding (41-bits, right justified) -// in1 - Instruction slot number -// in2 - Bundle template -// -// Returns: -// in0 - 1 if branch or 0 if not branch -// -// Notes: -// This procedure is a leaf routine -// -// IsSlotBranch recognizes all branch instructions by looking at the = provided template. -// The instruction encoding is only passed to this routine for future= expansion. -// - .proc IsSlotBranch - -IsSlotBranch: - - NESTED_SETUP (3,2+0,0,0) - - mov in0=3D1;; // in0 =3D 1 which destr= oys the instruction - andcm in2=3Din2,in0;; // in2 =3D even template= to reduce compares - mov in0=3D0;; // in0 =3D not a branch - cmp.eq p14, p15 =3D 0x16, in2;; // Template 0x16 is BBB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 =3D SLOT0, in1;; // Slot 0 has no other p= ossiblities -(p14) br.sptk.few IsSlotBranchDone - cmp.eq p14, p15 =3D 0x12, in2;; // Template 0x12 is MBB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 =3D SLOT1, in1;; // Slot 1 has no other p= ossiblities -(p14) br.sptk.few IsSlotBranchDone - cmp.eq p14, p15 =3D 0x10, in2;; // Template 0x10 is MIB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 =3D 0x18, in2;; // Template 0x18 is MMB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 =3D 0x1C, in2;; // Template 0x1C is MFB -(p14) br.sptk.few IsSlotBranchTrue - br.sptk.few IsSlotBranchDone - -IsSlotBranchTrue: - mov in0=3D1;; // in0 =3D branch - -IsSlotBranchDone: - NESTED_RETURN - - .endp IsSlotBranch - - -///////////////////////////////////////////// -// -// Name: -// GetTemplate -// -// Description: -// Retrieves the instruction template for an instruction bundle -// -// Arguments: -// in0 - Runtime address of bundle -// -// Returns: -// in0 - Instruction template (5-bits, right-justified) -// -// Notes: -// This procedure is a leaf routine -// - .proc GetTemplate - -GetTemplate: - - NESTED_SETUP (1,2+2,0,0) - - ld8 loc2=3D[in0], 0x8 // loc2 =3D first 8 bytes of= branch bundle - movl loc3=3DMASK_0_4;; // loc3 =3D template mask - and loc2=3Dloc2,loc3;; // loc2 =3D template, right = justified - mov in0=3Dloc2;; // in0 =3D template, right j= ustified - - NESTED_RETURN - - .endp GetTemplate - - -///////////////////////////////////////////// -// -// Name: -// GetSlot -// -// Description: -// Gets the instruction encoding for an instruction slot and bundle -// -// Arguments: -// in0 - Runtime address of bundle -// in1 - Instruction slot (either 0, 1, or 2) -// -// Returns: -// in0 - Instruction encoding (41-bits, right justified) -// -// Notes: -// This procedure is a leaf routine -// -// Slot0 - [in0 + 0x8] Bits 45-5 -// Slot1 - [in0 + 0x8] Bits 63-46 and [in0] Bits 22-0 -// Slot2 - [in0] Bits 63-23 -// - .proc GetSlot - -GetSlot: - NESTED_SETUP (2,2+3,0,0) - - ld8 loc2=3D[in0], 0x8;; // loc2 =3D first 8 bytes of= branch bundle - ld8 loc3=3D[in0];; // loc3 =3D second 8 bytes o= f branch bundle - cmp.eq p14, p15 =3D 2, in1;; // check if slot 2 specified - (p14) br.cond.sptk.few GetSlot2;; // get slot 2 - cmp.eq p14, p15 =3D 1, in1;; // check if slot 1 specified - (p14) br.cond.sptk.few GetSlot1;; // get slot 1 - -GetSlot0: - extr.u in0=3Dloc2, 5, 45 // in0 =3D extracted slot 0 - br.sptk.few GetSlotDone;; - -GetSlot1: - extr.u in0=3Dloc2, 46, 18 // in0 =3D bits 63-46 of loc= 2 right-justified - extr.u loc4=3Dloc3, 0, 23;; // loc4 =3D bits 22-0 of loc= 3 right-justified - dep in0=3Dloc4, in0, 18, 15;; - shr.u loc4=3Dloc4,15;; - dep in0=3Dloc4, in0, 33, 8;; // in0 =3D extracted slot 1 - br.sptk.few GetSlotDone;; - -GetSlot2: - extr.u in0=3Dloc3, 23, 41;; // in0 =3D extracted slot 2 - -GetSlotDone: - NESTED_RETURN - - .endp GetSlot - - -///////////////////////////////////////////// -// -// Name: -// SetSlot -// -// Description: -// Sets the instruction encoding for an instruction slot and bundle -// -// Arguments: -// in0 - Runtime address of bundle -// in1 - Instruction slot (either 0, 1, or 2) -// in2 - Instruction encoding (41-bits, right justified) -// -// Returns: -// -// Notes: -// This procedure is a leaf routine -// - .proc SetSlot - -SetSlot: - NESTED_SETUP (3,2+3,0,0) - - ld8 loc2=3D[in0], 0x8;; // loc2 =3D first 8 bytes of= bundle - ld8 loc3=3D[in0];; // loc3 =3D second 8 bytes o= f bundle - cmp.eq p14, p15 =3D 2, in1;; // check if slot 2 specified - (p14) br.cond.sptk.few SetSlot2;; // set slot 2 - cmp.eq p14, p15 =3D 1, in1;; // check if slot 1 specified - (p14) br.cond.sptk.few SetSlot1;; // set slot 1 - -SetSlot0: - dep loc2=3D0, loc2, 5, 41;; // remove old instruction fr= om slot 0 - shl loc4=3Din2, 5;; // loc4 =3D new instruction = ready to be inserted - or loc2=3Dloc2, loc4;; // loc2 =3D updated first 8 = bytes of bundle - add loc4=3D0x8,in0;; // loc4 =3D address to store= first 8 bytes of bundle - st8 [loc4]=3Dloc2 // [loc4] =3D updated bundle - br.sptk.few SetSlotDone;; - ;; - -SetSlot1: - dep loc2=3D0, loc2, 46, 18 // remove old instruction fr= om slot 1 - dep loc3=3D0, loc3, 0, 23;; - shl loc4=3Din2, 46;; // loc4 =3D partial instruct= ion ready to be inserted - or loc2=3Dloc2, loc4;; // loc2 =3D updated first 8 = bytes of bundle - add loc4=3D0x8,in0;; // loc4 =3D address to store= first 8 bytes of bundle - st8 [loc4]=3Dloc2;; // [loc4] =3D updated bundle - shr.u loc4=3Din2, 18;; // loc4 =3D partial instruct= ion ready to be inserted - or loc3=3Dloc3, loc4;; // loc3 =3D updated second 8= bytes of bundle - st8 [in0]=3Dloc3;; // [in0] =3D updated bundle - br.sptk.few SetSlotDone;; - -SetSlot2: - dep loc3=3D0, loc3, 23, 41;; // remove old instruction fr= om slot 2 - shl loc4=3Din2, 23;; // loc4 =3D instruction read= y to be inserted - or loc3=3Dloc3, loc4;; // loc3 =3D updated second 8= bytes of bundle - st8 [in0]=3Dloc3;; // [in0] =3D updated bundle - -SetSlotDone: - - NESTED_RETURN - .endp SetSlot - - -///////////////////////////////////////////// -// -// Name: -// GetIva -// -// Description: -// C callable function to obtain the current value of IVA -// -// Returns: -// Current value if IVA - - ASM_GLOBAL GetIva - .proc GetIva -GetIva: - mov r8=3Dcr2;; - br.ret.sptk.many b0 - - .endp GetIva - - -///////////////////////////////////////////// -// -// Name: -// ProgramInterruptFlags -// -// Description: -// C callable function to enable/disable interrupts -// -// Returns: -// Previous state of psr.ic -// - ASM_GLOBAL ProgramInterruptFlags - .proc ProgramInterruptFlags -ProgramInterruptFlags: - alloc loc0=3D1,2,0,0;; - mov loc0=3Dpsr - mov loc1=3D0x6000;; - and r8=3Dloc0, loc1 // obtain current psr.ic and= psr.i state - and in0=3Din0, loc1 // insure no extra bits set = in input - andcm loc0=3Dloc0,loc1;; // clear original psr.i and = psr.ic - or loc0=3Dloc0,in0;; // OR in new psr.ic value - mov psr.l=3Dloc0;; // write new psr - srlz.d - br.ret.sptk.many b0 // return - - .endp ProgramInterruptFlags - - -///////////////////////////////////////////// -// -// Name: -// SpillContext -// -// Description: -// Saves system context to context record. -// -// Arguments: -// in0 =3D 512 byte aligned context record address -// in1 =3D original B0 -// in2 =3D original ar.bsp -// in3 =3D original ar.bspstore -// in4 =3D original ar.rnat -// in5 =3D original ar.pfs -// -// Notes: -// loc0 - scratch -// loc1 - scratch -// loc2 - temporary application unat storage -// loc3 - temporary exception handler unat storage - - .proc SpillContext - -SpillContext: - alloc loc0=3D6,4,0,0;; // alloc 6 input, 4 locals, = 0 outs - mov loc2=3Dar.unat;; // save application context = unat (spilled later) - mov ar.unat=3Dr0;; // set UNAT=3D0 - st8.spill [in0]=3Dr0,8;; - st8.spill [in0]=3Dr1,8;; // save R1 - R31 - st8.spill [in0]=3Dr2,8;; - st8.spill [in0]=3Dr3,8;; - st8.spill [in0]=3Dr4,8;; - st8.spill [in0]=3Dr5,8;; - st8.spill [in0]=3Dr6,8;; - st8.spill [in0]=3Dr7,8;; - st8.spill [in0]=3Dr8,8;; - st8.spill [in0]=3Dr9,8;; - st8.spill [in0]=3Dr10,8;; - st8.spill [in0]=3Dr11,8;; - st8.spill [in0]=3Dr12,8;; - st8.spill [in0]=3Dr13,8;; - st8.spill [in0]=3Dr14,8;; - st8.spill [in0]=3Dr15,8;; - st8.spill [in0]=3Dr16,8;; - st8.spill [in0]=3Dr17,8;; - st8.spill [in0]=3Dr18,8;; - st8.spill [in0]=3Dr19,8;; - st8.spill [in0]=3Dr20,8;; - st8.spill [in0]=3Dr21,8;; - st8.spill [in0]=3Dr22,8;; - st8.spill [in0]=3Dr23,8;; - st8.spill [in0]=3Dr24,8;; - st8.spill [in0]=3Dr25,8;; - st8.spill [in0]=3Dr26,8;; - st8.spill [in0]=3Dr27,8;; - st8.spill [in0]=3Dr28,8;; - st8.spill [in0]=3Dr29,8;; - st8.spill [in0]=3Dr30,8;; - st8.spill [in0]=3Dr31,8;; - mov loc3=3Dar.unat;; // save debugger context una= t (spilled later) - stf.spill [in0]=3Df2,16;; // save f2 - f31 - stf.spill [in0]=3Df3,16;; - stf.spill [in0]=3Df4,16;; - stf.spill [in0]=3Df5,16;; - stf.spill [in0]=3Df6,16;; - stf.spill [in0]=3Df7,16;; - stf.spill [in0]=3Df8,16;; - stf.spill [in0]=3Df9,16;; - stf.spill [in0]=3Df10,16;; - stf.spill [in0]=3Df11,16;; - stf.spill [in0]=3Df12,16;; - stf.spill [in0]=3Df13,16;; - stf.spill [in0]=3Df14,16;; - stf.spill [in0]=3Df15,16;; - stf.spill [in0]=3Df16,16;; - stf.spill [in0]=3Df17,16;; - stf.spill [in0]=3Df18,16;; - stf.spill [in0]=3Df19,16;; - stf.spill [in0]=3Df20,16;; - stf.spill [in0]=3Df21,16;; - stf.spill [in0]=3Df22,16;; - stf.spill [in0]=3Df23,16;; - stf.spill [in0]=3Df24,16;; - stf.spill [in0]=3Df25,16;; - stf.spill [in0]=3Df26,16;; - stf.spill [in0]=3Df27,16;; - stf.spill [in0]=3Df28,16;; - stf.spill [in0]=3Df29,16;; - stf.spill [in0]=3Df30,16;; - stf.spill [in0]=3Df31,16;; - mov loc0=3Dpr;; // save predicates - st8.spill [in0]=3Dloc0,8;; - st8.spill [in0]=3Din1,8;; // save b0 - b7... in1 alrea= dy equals saved b0 - mov loc0=3Db1;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Db2;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Db3;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Db4;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Db5;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Db6;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Db7;; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.rsc;; // save ar.rsc - st8.spill [in0]=3Dloc0,8;; - st8.spill [in0]=3Din2,8;; // save ar.bsp (in2) - st8.spill [in0]=3Din3,8;; // save ar.bspstore (in3) - st8.spill [in0]=3Din4,8;; // save ar.rnat (in4) - mov loc0=3Dar.fcr;; // save ar.fcr (ar21 - IA32 = floating-point control register) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.eflag;; // save ar.eflag (ar24) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.csd;; // save ar.csd (ar25 - ia32 = CS descriptor) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.ssd;; // save ar.ssd (ar26 - ia32 = ss descriptor) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.cflg;; // save ar.cflg (ar27 - ia32= cr0 and cr4) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.fsr;; // save ar.fsr (ar28 - ia32 = floating-point status register) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.fir;; // save ar.fir (ar29 - ia32 = floating-point instruction register) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.fdr;; // save ar.fdr (ar30 - ia32 = floating-point data register) - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.ccv;; // save ar.ccv - st8.spill [in0]=3Dloc0,8;; - st8.spill [in0]=3Dloc2,8;; // save ar.unat (saved to lo= c2 earlier) - mov loc0=3Dar.fpsr;; // save floating point statu= s register - st8.spill [in0]=3Dloc0,8;; - st8.spill [in0]=3Din5,8;; // save ar.pfs - mov loc0=3Dar.lc;; // save ar.lc - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dar.ec;; // save ar.ec - st8.spill [in0]=3Dloc0,8;; - - // save control registers - mov loc0=3Dcr.dcr;; // save dcr - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.itm;; // save itm - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.iva;; // save iva - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.pta;; // save pta - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.ipsr;; // save ipsr - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.isr;; // save isr - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.iip;; // save iip - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.ifa;; // save ifa - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.itir;; // save itir - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.iipa;; // save iipa - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.ifs;; // save ifs - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.iim;; // save iim - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dcr.iha;; // save iha - st8.spill [in0]=3Dloc0,8;; - - // save debug registers - mov loc0=3Ddbr[r0];; // save dbr0 - dbr7 - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D1;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D2;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D3;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D4;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D5;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D6;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D7;; - mov loc0=3Ddbr[loc1];; - st8.spill [in0]=3Dloc0,8;; - mov loc0=3Dibr[r0];; // save ibr0 - ibr7 - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D1;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D2;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D3;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D4;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D5;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D6;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - movl loc1=3D7;; - mov loc0=3Dibr[loc1];; - st8.spill [in0]=3Dloc0,8;; - st8.spill [in0]=3Dloc3;; - - br.ret.sptk.few b0 - - .endp SpillContext - - -///////////////////////////////////////////// -// -// Name: -// FillContext -// -// Description: -// Restores register context from context record. -// -// Arguments: -// in0 =3D address of last element 512 byte aligned context recor= d address -// in1 =3D modified B0 -// in2 =3D modified ar.bsp -// in3 =3D modified ar.bspstore -// in4 =3D modified ar.rnat -// in5 =3D modified ar.pfs -// -// Notes: -// loc0 - scratch -// loc1 - scratch -// loc2 - temporary application unat storage -// loc3 - temporary exception handler unat storage - - .proc FillContext -FillContext: - alloc loc0=3D6,4,0,0;; // alloc 6 inputs, 4 locals,= 0 outs - ld8.fill loc3=3D[in0],-8;; // int_nat (nat bits for R1-= 31) - movl loc1=3D7;; // ibr7 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - movl loc1=3D6;; // ibr6 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - movl loc1=3D5;; // ibr5 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - movl loc1=3D4;; // ibr4 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - movl loc1=3D3;; // ibr3 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - movl loc1=3D2;; // ibr2 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - movl loc1=3D1;; // ibr1 - ld8.fill loc0=3D[in0],-8;; - mov ibr[loc1]=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ibr0 - mov ibr[r0]=3Dloc0;; - movl loc1=3D7;; // dbr7 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - movl loc1=3D6;; // dbr6 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - movl loc1=3D5;; // dbr5 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - movl loc1=3D4;; // dbr4 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - movl loc1=3D3;; // dbr3 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - movl loc1=3D2;; // dbr2 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - movl loc1=3D1;; // dbr1 - ld8.fill loc0=3D[in0],-8;; - mov dbr[loc1]=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // dbr0 - mov dbr[r0]=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // iha - mov cr.iha=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // iim - mov cr.iim=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ifs - mov cr.ifs=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // iipa - mov cr.iipa=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // itir - mov cr.itir=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ifa - mov cr.ifa=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // iip - mov cr.iip=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // isr - mov cr.isr=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ipsr - mov cr.ipsr=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // pta - mov cr.pta=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // iva - mov cr.iva=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // itm - mov cr.itm=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // dcr - mov cr.dcr=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ec - mov ar.ec=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // lc - mov ar.lc=3Dloc0;; - ld8.fill in5=3D[in0],-8;; // ar.pfs - ld8.fill loc0=3D[in0],-8;; // ar.fpsr - mov ar.fpsr=3Dloc0;; - ld8.fill loc2=3D[in0],-8;; // ar.unat - restored later.= .. - ld8.fill loc0=3D[in0],-8;; // ar.ccv - mov ar.ccv=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.fdr - mov ar.fdr=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.fir - mov ar.fir=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.fsr - mov ar.fsr=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.cflg - mov ar.cflg=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.ssd - mov ar.ssd=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.csd - mov ar.csd=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.eflag - mov ar.eflag=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // ar.fcr - mov ar.fcr=3Dloc0;; - ld8.fill in4=3D[in0],-8;; // ar.rnat - ld8.fill in3=3D[in0],-8;; // bspstore - ld8.fill in2=3D[in0],-8;; // bsp - ld8.fill loc0=3D[in0],-8;; // ar.rsc - mov ar.rsc=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; // B7 - B0 - mov b7=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; - mov b6=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; - mov b5=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; - mov b4=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; - mov b3=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; - mov b2=3Dloc0;; - ld8.fill loc0=3D[in0],-8;; - mov b1=3Dloc0;; - ld8.fill in1=3D[in0],-8;; // b0 is temporarily stored = in in1 - ld8.fill loc0=3D[in0],-16;; // predicates - mov pr=3Dloc0;; - ldf.fill f31=3D[in0],-16;; - ldf.fill f30=3D[in0],-16;; - ldf.fill f29=3D[in0],-16;; - ldf.fill f28=3D[in0],-16;; - ldf.fill f27=3D[in0],-16;; - ldf.fill f26=3D[in0],-16;; - ldf.fill f25=3D[in0],-16;; - ldf.fill f24=3D[in0],-16;; - ldf.fill f23=3D[in0],-16;; - ldf.fill f22=3D[in0],-16;; - ldf.fill f21=3D[in0],-16;; - ldf.fill f20=3D[in0],-16;; - ldf.fill f19=3D[in0],-16;; - ldf.fill f18=3D[in0],-16;; - ldf.fill f17=3D[in0],-16;; - ldf.fill f16=3D[in0],-16;; - ldf.fill f15=3D[in0],-16;; - ldf.fill f14=3D[in0],-16;; - ldf.fill f13=3D[in0],-16;; - ldf.fill f12=3D[in0],-16;; - ldf.fill f11=3D[in0],-16;; - ldf.fill f10=3D[in0],-16;; - ldf.fill f9=3D[in0],-16;; - ldf.fill f8=3D[in0],-16;; - ldf.fill f7=3D[in0],-16;; - ldf.fill f6=3D[in0],-16;; - ldf.fill f5=3D[in0],-16;; - ldf.fill f4=3D[in0],-16;; - ldf.fill f3=3D[in0],-16;; - ldf.fill f2=3D[in0],-8;; - mov ar.unat=3Dloc3;; // restore unat (int_nat) be= fore fill of general registers - ld8.fill r31=3D[in0],-8;; - ld8.fill r30=3D[in0],-8;; - ld8.fill r29=3D[in0],-8;; - ld8.fill r28=3D[in0],-8;; - ld8.fill r27=3D[in0],-8;; - ld8.fill r26=3D[in0],-8;; - ld8.fill r25=3D[in0],-8;; - ld8.fill r24=3D[in0],-8;; - ld8.fill r23=3D[in0],-8;; - ld8.fill r22=3D[in0],-8;; - ld8.fill r21=3D[in0],-8;; - ld8.fill r20=3D[in0],-8;; - ld8.fill r19=3D[in0],-8;; - ld8.fill r18=3D[in0],-8;; - ld8.fill r17=3D[in0],-8;; - ld8.fill r16=3D[in0],-8;; - ld8.fill r15=3D[in0],-8;; - ld8.fill r14=3D[in0],-8;; - ld8.fill r13=3D[in0],-8;; - ld8.fill r12=3D[in0],-8;; - ld8.fill r11=3D[in0],-8;; - ld8.fill r10=3D[in0],-8;; - ld8.fill r9=3D[in0],-8;; - ld8.fill r8=3D[in0],-8;; - ld8.fill r7=3D[in0],-8;; - ld8.fill r6=3D[in0],-8;; - ld8.fill r5=3D[in0],-8;; - ld8.fill r4=3D[in0],-8;; - ld8.fill r3=3D[in0],-8;; - ld8.fill r2=3D[in0],-8;; - ld8.fill r1=3D[in0],-8;; - mov ar.unat=3Dloc2;; // restore application conte= xt unat - - br.ret.sptk.many b0 - - .endp FillContext - - -///////////////////////////////////////////// -// -// Name: -// HookHandler -// -// Description: -// Common branch target from hooked IVT entries. Runs in interrupt c= ontext. -// Responsible for saving and restoring context and calling common C -// handler. Banked registers running on bank 0 at entry. -// -// Arguments: -// All arguments are passed in banked registers: -// B0_REG =3D Original B0 -// SCRATCH_REG1 =3D IVT entry index -// -// Returns: -// Returns via rfi -// -// Notes: -// loc0 - scratch -// loc1 - scratch -// loc2 - vector number / mask -// loc3 - 16 byte aligned context record address -// loc4 - temporary storage of last address in context record - -HookHandler: - flushrs;; // Synch RSE with backing = store - mov SCRATCH_REG2=3Dar.bsp // save interrupted cont= ext bsp - mov SCRATCH_REG3=3Dar.bspstore // save interrupted cont= ext bspstore - mov SCRATCH_REG4=3Dar.rnat // save interrupted cont= ext rnat - mov SCRATCH_REG6=3Dcr.ifs;; // save IFS in case we n= eed to chain... - cover;; // creates new frame, move= s old - // CFM to IFS. - alloc SCRATCH_REG5=3D0,5,6,0 // alloc 5 locals, 6 out= s - ;; - // save banked registers to locals - mov out1=3DB0_REG // out1 =3D Original B0 - mov out2=3DSCRATCH_REG2 // out2 =3D original ar.= bsp - mov out3=3DSCRATCH_REG3 // out3 =3D original ar.= bspstore - mov out4=3DSCRATCH_REG4 // out4 =3D original ar.= rnat - mov out5=3DSCRATCH_REG5 // out5 =3D original ar.= pfs - mov loc2=3DSCRATCH_REG1;; // loc2 =3D vector numbe= r + chain flag - bsw.1;; // switch banked registers= to bank 1 - srlz.d // explicit serialize requ= ired - // now fill in context rec= ord structure - movl loc3=3DIpfContextBuf // Insure context record= is aligned - add loc0=3D-0x200,r0;; // mask the lower 9 bits= (align on 512 byte boundary) - and loc3=3Dloc3,loc0;; - add loc3=3D0x200,loc3;; // move to next 512 byte= boundary - // loc3 now contains the 5= 12 byte aligned context record - // spill register context = into context record - mov out0=3Dloc3;; // Context record base i= n out0 - // original B0 in out1 alr= eady - // original ar.bsp in out2= already - // original ar.bspstore in= out3 already - br.call.sptk.few b0=3DSpillContext;; // spill context - mov loc4=3Dout0 // save modified address - - // At this point, the context has been saved to the context record and= we're - // ready to call the C part of the handler... - - movl loc0=3DCommonHandler;; // obtain address of pla= bel - ld8 loc1=3D[loc0];; // get entry point of Co= mmonHandler - mov b6=3Dloc1;; // put it in a branch re= gister - adds loc1=3D 8, loc0;; // index to GP in plabel - ld8 r1=3D[loc1];; // set up gp for C call - mov loc1=3D0xfffff;; // mask off so only vect= or bits are present - and out0=3Dloc2,loc1;; // pass vector number (e= xception type) - mov out1=3Dloc3;; // pass context record a= ddress - br.call.sptk.few b0=3Db6;; // call C handler - - // We've returned from the C call, so restore the context and either r= fi - // back to interrupted thread, or chain into the SAL if this was an ex= ternal interrupt - mov out0=3Dloc4;; // pass address of last = element in context record - br.call.sptk.few b0=3DFillContext;; // Fill context - mov b0=3Dout1 // fill in b0 - mov ar.rnat=3Dout4 - mov ar.pfs=3Dout5 - - // Loadrs is necessary because the debugger may have changed some values= in - // the backing store. The processor, however may not be aware that the - // stacked registers need to be reloaded from the backing store. Theref= ore, - // we explicitly cause the RSE to refresh the stacked register's content= s - // from the backing store. - mov loc0=3Dar.rsc // get RSC value - mov loc1=3Dar.rsc // save it so we can res= tore it - movl loc3=3D0xffffffffc000ffff;; // create mask for clear= ing RSC.loadrs - and loc0=3Dloc0,loc3;; // create value for RSC = with RSC.loadrs=3D=3D0 - mov ar.rsc=3Dloc0;; // modify RSC - loadrs;; // invalidate register sta= ck - mov ar.rsc=3Dloc1;; // restore original RSC - - bsw.0;; // switch banked registers= back to bank 0 - srlz.d;; // explicit serialize requ= ired - mov PR_REG=3Dpr // save predicates - to = be restored after chaining decision - mov B0_REG=3Db0 // save b0 - required by= chain code - mov loc2=3DEXCPT_EXTERNAL_INTERRUPT;; - cmp.eq p7,p0=3DSCRATCH_REG1,loc2;; // check to see if this = is the timer tick - (p7) br.cond.dpnt.few DO_CHAIN;; - -NO_CHAIN: - mov pr=3DPR_REG;; - rfi;; // we're outa here. - -DO_CHAIN: - mov pr=3DPR_REG - mov SCRATCH_REG1=3Dcr.iva - mov SCRATCH_REG2=3DPATCH_RETURN_OFFSET;; - add SCRATCH_REG1=3DSCRATCH_REG1, SCRATCH_REG2;; - mov b0=3DSCRATCH_REG1;; - br.cond.sptk.few b0;; - -EndHookHandler: - - -///////////////////////////////////////////// -// -// Name: -// HookStub -// -// Description: -// HookStub will be copied from it's loaded location into the IVT whe= n -// an IVT entry is hooked. The IVT entry does an indirect jump via B= 0 to -// HookHandler, which in turn calls into the default C handler, which= calls -// the user-installed C handler. The calls return and HookHandler ex= ecutes -// an rfi. -// -// Notes: -// Saves B0 to B0_REG -// Saves IVT index to SCRATCH_REG1 (immediate value is fixed up when = code is copied -// to the IVT entry. - - ASM_GLOBAL HookStub - .proc HookStub -HookStub: - - mov B0_REG=3Db0 - movl SCRATCH_REG1=3DHookHandler;; - mov b0=3DSCRATCH_REG1;; - mov SCRATCH_REG1=3D0;;// immediate value is fixed up durin= g install of handler to be the vector number - br.cond.sptk.few b0 - - .endp HookStub - - -///////////////////////////////////////////// -// The following code is moved into IVT entry 14 (offset 3400) which is re= served -// in the Itanium architecture. The patch code is located at the end of t= he -// IVT entry. - -PatchCode: - mov SCRATCH_REG0=3Dpsr - mov SCRATCH_REG6=3Dcr.ipsr - mov PR_REG=3Dpr - mov B0_REG=3Db0;; - - // turn off any virtual translations - movl SCRATCH_REG1 =3D ~( MASK(PSR_DT,1) | MASK(PSR_RT,1));; - and SCRATCH_REG1 =3D SCRATCH_REG0, SCRATCH_REG1;; - mov psr.l =3D SCRATCH_REG1;; - srlz.d - tbit.z p14, p15 =3D SCRATCH_REG6, PSR_IS;; // Check to see if= we were - // interrupted from = IA32 - // context. If so, = bail out - // and chain to SAL = immediately - (p15) br.cond.sptk.few Stub_IVT_Passthru;; - // we only want to take 1 out of 32 external interrupts to minimiz= e the - // impact to system performance. Check our interrupt count and ba= il - // out if we're not up to 32 - movl SCRATCH_REG1=3DExternalInterruptCount;; - ld8 SCRATCH_REG2=3D[SCRATCH_REG1];; // ExternalInterru= ptCount - tbit.z p14, p15 =3D SCRATCH_REG2, 5;; // bit 5 set? - (p14) add SCRATCH_REG2=3D1, SCRATCH_REG2;; // No? Then incre= ment - // ExternalInterrupt= Count - // and Chain to SAL - // immediately - (p14) st8 [SCRATCH_REG1]=3DSCRATCH_REG2;; - (p14) br.cond.sptk.few Stub_IVT_Passthru;; - (p15) mov SCRATCH_REG2=3D0;; // Yes? Then rese= t - // ExternalInterru= ptCount - // and branch to - // HookHandler - (p15) st8 [SCRATCH_REG1]=3DSCRATCH_REG2;; - mov pr=3DPR_REG - movl SCRATCH_REG1=3DHookHandler;; // SCRATCH_REG1 = =3D entrypoint of HookHandler - mov b0=3DSCRATCH_REG1;; // b0 =3D entrypoi= nt of HookHandler - mov SCRATCH_REG1=3DEXCPT_EXTERNAL_INTERRUPT;; - br.sptk.few b0;; // branch to HookH= andler - -PatchCodeRet: - // fake-up an rfi to get RSE back to being coherent and insure psr= has - // original contents when interrupt occured, then exit to SAL - // at this point: - // cr.ifs has been modified by previous "cover" - // SCRATCH_REG6 has original cr.ifs - - mov SCRATCH_REG5=3Dcr.ipsr - mov SCRATCH_REG4=3Dcr.iip;; - mov cr.ipsr=3DSCRATCH_REG0 - mov SCRATCH_REG1=3Dip;; - add SCRATCH_REG1=3D0x30, SCRATCH_REG1;; - mov cr.iip=3DSCRATCH_REG1;; - rfi;; // rfi to next instruction - -Stub_RfiTarget: - mov cr.ifs=3DSCRATCH_REG6 - mov cr.ipsr=3DSCRATCH_REG5 - mov cr.iip=3DSCRATCH_REG4;; - -Stub_IVT_Passthru: - mov pr=3DPR_REG // pr =3D saved pred= icate registers - mov b0=3DB0_REG;; // b0 =3D saved b0 -EndPatchCode: - - -///////////////////////////////////////////// -// The following bundle is moved into IVT entry 14 (offset 0x3400) which i= s reserved -// in the Itanium architecture. This bundle will be the last bundle and w= ill -// be located at offset 0x37F0 in the IVT. - -FailsafeBranch: -{ - .mib - nop.m 0 - nop.i 0 - br.sptk.few -(FAILSAFE_BRANCH_OFFSET - EXT_INT_ENTRY_OFFSET - 0x10= ) -} - - -///////////////////////////////////////////// -// The following bundle is moved into IVT entry 13 (offset 0x3000) which i= s the -// external interrupt. It branches to the patch code. - -PatchCodeNewBun0: -{ - .mib - nop.m 0 - nop.i 0 - br.cond.sptk.few PATCH_BRANCH -} diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Common.i b/MdeModul= ePkg/Universal/DebugSupportDxe/Ipf/Common.i deleted file mode 100644 index a11f780125..0000000000 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Common.i +++ /dev/null @@ -1,29 +0,0 @@ -/// @file -/// This is set of useful macros. -/// -/// Copyright (c) 2006, Intel Corporation. All rights reserved.
-/// 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 I= MPLIED. -/// -/// Module Name: Common.i -/// -/// - - -#define NESTED_SETUP(i,l,o,r) \ - alloc loc1=3Dar##.##pfs,i,l,o,r ; \ - mov loc0=3Db0 ;; - - -#define NESTED_RETURN \ - mov b0=3Dloc0 ; \ - mov ar##.##pfs=3Dloc1 ;; \ - br##.##ret##.##dpnt b0 ;; - -#define MASK(bp,value) (value << bp) - diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i b/MdeM= odulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i deleted file mode 100644 index 8ce97f32c2..0000000000 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i +++ /dev/null @@ -1,78 +0,0 @@ -/// @file -/// This is set of macros used in calculating offsets in the IVT. -/// -/// Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-/// 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 I= MPLIED. -/// -/// - - -#define EXCPT_EXTERNAL_INTERRUPT 12 -#define MASK_0_4 0x000000000000001F // mask bits 0 through 4 -#define SLOT0 0 -#define SLOT1 1 -#define SLOT2 2 - -#define PSR_DT 17 -#define PSR_TB 26 -#define PSR_RT 27 -#define PSR_IS 34 -#define PSR_IT 36 -#define PSR_IC 13 -#define PSR_I 14 -#define PSR_SS 40 -#define PSR_BN 44 -#define PSR_RI_MASK 0x60000000000 - -#define EXCPT_EXTERNAL_INTERRUPT 12 - -#define SCRATCH_REG0 r23 -#define SCRATCH_REG1 r24 -#define SCRATCH_REG2 r25 -#define SCRATCH_REG3 r26 -#define SCRATCH_REG4 r27 -#define SCRATCH_REG5 r28 -#define SCRATCH_REG6 r29 -#define PR_REG r30 -#define B0_REG r31 - - -// EXT_INT_OFFSET is the offset of the external interrupt entry in the IVT -#define EXT_INT_ENTRY_OFFSET 0x03000 - -// PATCH_ENTRY_OFFSET is the offset into the IVT of the entry that is coop= ted (stolen) -// for use by the handler. The entire entry is restored when the handler = is -// unloaded. -#define PATCH_ENTRY_OFFSET 0x03400 - -// PATCH_CODE_SIZE is the size of patch code -#define PATCH_CODE_SIZE (EndPatchCode - PatchCode) - -// A hard coded branch back into the external interrupt IVT entry's second= bundle -// is put here, just in case the original bundle zero did not have a branc= h -// This is the last bundle in the reserved IVT entry -#define FAILSAFE_BRANCH_OFFSET (PATCH_ENTRY_OFFSET + 0x400 - 0x10) - -// the original external interrupt IVT entry bundle zero is copied and rel= ocated -// here... also in the reserved IVT entry -// This is the second-to-last bundle in the reserved IVT entry -#define RELOCATED_EXT_INT (PATCH_ENTRY_OFFSET + 0x400 - 0x20) - -// The patch is actually stored at the end of IVT:PATCH_ENTRY. The PATCH_= OFFSET -// is the offset into IVT where the patch is actually stored. It is caref= ully -// located so that when we run out of patch code, the next bundle is the -// relocated bundle 0 from the original external interrupt handler -#define PATCH_OFFSET (PATCH_ENTRY_OFFSET + 0x400 - ( EndPatchCo= de - PatchCode ) - 0x20) - -#define PATCH_RETURN_OFFSET (PATCH_ENTRY_OFFSET + 0x400 - ( EndPatchCo= de - PatchCodeRet ) - 0x20) - -// PATCH_BRANCH is used only in the new bundle that is placed at the begin= ning -// of the external interrupt IVT entry. -#define PATCH_BRANCH (PATCH_OFFSET - EXT_INT_ENTRY_OFFSET) - diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c b/= MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c deleted file mode 100644 index 44f59e8ec8..0000000000 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c +++ /dev/null @@ -1,467 +0,0 @@ -/** @file - IPF specific functions to support Debug Support protocol. - -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
-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 IMPLI= ED. - -**/ - -#include "PlDebugSupport.h" - -BOOLEAN mInHandler =3D FALSE; - -// -// number of bundles to swap in ivt -// -#define NUM_BUNDLES_IN_STUB 5 -#define NUM_IVT_ENTRIES 64 - -typedef struct { - BUNDLE OrigBundles[NUM_BUNDLES_IN_STUB]; - CALLBACK_FUNC RegisteredCallback; -} IVT_ENTRY; - -IVT_ENTRY IvtEntryTable[NUM_IVT_ENTRIES]; - -// -// IPF context record is overallocated by 512 bytes to guarantee a 512 byt= e alignment exists -// within the buffer and still have a large enough buffer to hold a whole = IPF context record. -// -UINT8 IpfContextBuf[sizeof (EFI_SYSTEM_CONTEXT_IPF) + 512]; - -// -// The PatchSaveBuffer is used to store the original bundles from the IVT = where it is patched -// with the common handler. -// -UINT8 PatchSaveBuffer[0x400]; -UINTN ExternalInterruptCount; - - -/** - IPF specific DebugSupport driver initialization. - - Must be public because it's referenced from DebugSupport.c - - @retval EFI_SUCCESS Always. - -**/ -EFI_STATUS -PlInitializeDebugSupportDriver ( - VOID - ) -{ - ZeroMem (IvtEntryTable, sizeof (IvtEntryTable)); - ExternalInterruptCount =3D 0; - return EFI_SUCCESS; -} - -/** - Unload handler that is called during UnloadImage() - deallocates pool me= mory - used by the driver. - - Must be public because it's referenced from DebugSuport.c - - @param ImageHandle The firmware allocated handle for the EFI image. - - @retval EFI_SUCCESS Always. - -**/ -EFI_STATUS -EFIAPI -PlUnloadDebugSupportDriver ( - IN EFI_HANDLE ImageHandle - ) -{ - EFI_EXCEPTION_TYPE ExceptionType; - - for (ExceptionType =3D 0; ExceptionType < NUM_IVT_ENTRIES; ExceptionType= ++) { - ManageIvtEntryTable (ExceptionType, NULL, NULL); - } - - return EFI_SUCCESS; -} - -/** - C routine that is called for all registered exceptions. This is the mai= n - exception dispatcher. - - Must be public because it's referenced from AsmFuncs.s. - - @param ExceptionType Specifies which processor exception. - @param Context System Context. -**/ -VOID -CommonHandler ( - IN EFI_EXCEPTION_TYPE ExceptionType, - IN EFI_SYSTEM_CONTEXT Context - ) -{ - DEBUG_CODE_BEGIN (); - if (mInHandler) { - DEBUG ((EFI_D_INFO, "ERROR: Re-entered debugger!\n" - " ExceptionType =3D=3D %X\n" - " Context =3D=3D %X\n" - " Context.SystemContextIpf->CrIi= p =3D=3D %LX\n" - " Context.SystemContextIpf->CrIp= sr =3D=3D %LX\n" - " mInHandler =3D=3D %X\n", - (INT32)ExceptionType, - Context, - Context.SystemContextIpf->CrIip, - Context.SystemContextIpf->CrIpsr, - mInHandler)); - } - DEBUG_CODE_END (); - - ASSERT (!mInHandler); - mInHandler =3D TRUE; - if (IvtEntryTable[ExceptionType].RegisteredCallback !=3D NULL) { - if (ExceptionType !=3D EXCEPT_IPF_EXTERNAL_INTERRUPT) { - IvtEntryTable[ExceptionType].RegisteredCallback (ExceptionType, Cont= ext.SystemContextIpf); - } else { - IvtEntryTable[ExceptionType].RegisteredCallback (Context.SystemConte= xtIpf); - } - } else { - ASSERT (0); - } - - mInHandler =3D FALSE; -} - -/** - Given an integer number, return the physical address of the entry point = in the IFT. - - @param HandlerIndex Index of the Handler - @param EntryPoint IFT Entrypoint - -**/ -VOID -GetHandlerEntryPoint ( - UINTN HandlerIndex, - VOID **EntryPoint - ) -{ - UINT8 *TempPtr; - - // - // get base address of IVT - // - TempPtr =3D GetIva (); - - if (HandlerIndex < 20) { - // - // first 20 provide 64 bundles per vector - // - TempPtr +=3D 0x400 * HandlerIndex; - } else { - // - // the rest provide 16 bundles per vector - // - TempPtr +=3D 0x5000 + 0x100 * (HandlerIndex - 20); - } - - *EntryPoint =3D (VOID *) TempPtr; -} - -/** - This is the worker function that uninstalls and removes all handlers. - - @param ExceptionType Specifies which processor exception. - @param NewBundles New Boundles. - @param NewCallback A pointer to the new function to be registered= . - - @retval EFI_ALEADY_STARTED Ivt already hooked. - @retval EFI_SUCCESS Successfully uninstalled. - -**/ -EFI_STATUS -ManageIvtEntryTable ( - IN EFI_EXCEPTION_TYPE ExceptionType, - IN BUNDLE NewBundles[NUM_BUNDLES_IN_STUB], - IN CALLBACK_FUNC NewCallback - ) -{ - BUNDLE *B0Ptr; - UINT64 InterruptFlags; - EFI_TPL OldTpl; - - // - // Get address of bundle 0 - // - GetHandlerEntryPoint (ExceptionType, (VOID **) &B0Ptr); - - if (IvtEntryTable[ExceptionType].RegisteredCallback !=3D NULL) { - // - // we've already installed to this vector - // - if (NewCallback !=3D NULL) { - // - // if the input handler is non-null, error - // - return EFI_ALREADY_STARTED; - } else { - // - // else remove the previously installed handler - // - OldTpl =3D gBS->RaiseTPL (TPL_HIGH_LEVEL); - InterruptFlags =3D ProgramInterruptFlags (DISABLE_INTERRUPTS); - if (ExceptionType =3D=3D EXCEPT_IPF_EXTERNAL_INTERRUPT) { - UnchainExternalInterrupt (); - } else { - UnhookEntry (ExceptionType); - } - - ProgramInterruptFlags (InterruptFlags); - gBS->RestoreTPL (OldTpl); - // - // re-init IvtEntryTable - // - ZeroMem (&IvtEntryTable[ExceptionType], sizeof (IVT_ENTRY)); - } - } else { - // - // no user handler installed on this vector - // - if (NewCallback !=3D NULL) { - OldTpl =3D gBS->RaiseTPL (TPL_HIGH_LEVEL); - InterruptFlags =3D ProgramInterruptFlags (DISABLE_INTERRUPTS); - if (ExceptionType =3D=3D EXCEPT_IPF_EXTERNAL_INTERRUPT) { - ChainExternalInterrupt (NewCallback); - } else { - HookEntry (ExceptionType, NewBundles, NewCallback); - } - - ProgramInterruptFlags (InterruptFlags); - gBS->RestoreTPL (OldTpl); - } - } - - return EFI_SUCCESS; -} - -/** - Saves original IVT contents and inserts a few new bundles which are fixe= d up - to store the ExceptionType and then call the common handler. - - @param ExceptionType Specifies which processor exception. - @param NewBundles New Boundles. - @param NewCallback A pointer to the new function to be hooked. - -**/ -VOID -HookEntry ( - IN EFI_EXCEPTION_TYPE ExceptionType, - IN BUNDLE NewBundles[4], - IN CALLBACK_FUNC NewCallback - ) -{ - BUNDLE *FixupBundle; - BUNDLE *B0Ptr; - - // - // Get address of bundle 0 - // - GetHandlerEntryPoint (ExceptionType, (VOID **) &B0Ptr); - - // - // copy original bundles from IVT to IvtEntryTable so we can restore the= m later - // - CopyMem ( - IvtEntryTable[ExceptionType].OrigBundles, - B0Ptr, - sizeof (BUNDLE) * NUM_BUNDLES_IN_STUB - ); - // - // insert new B0 - // - CopyMem (B0Ptr, NewBundles, sizeof (BUNDLE) * NUM_BUNDLES_IN_STUB); - - // - // fixup IVT entry so it stores its index and whether or not to chain... - // - FixupBundle =3D B0Ptr + 2; - FixupBundle->High |=3D ExceptionType << 36; - - InstructionCacheFlush (B0Ptr, 5); - IvtEntryTable[ExceptionType].RegisteredCallback =3D NewCallback; -} - -/** - Restores original IVT contents when unregistering a callback function. - - @param ExceptionType Specifies which processor exception. - -**/ -VOID -UnhookEntry ( - IN EFI_EXCEPTION_TYPE ExceptionType - ) -{ - BUNDLE *B0Ptr; - - // - // Get address of bundle 0 - // - GetHandlerEntryPoint (ExceptionType, (VOID **) &B0Ptr); - // - // restore original bundles in IVT - // - CopyMem ( - B0Ptr, - IvtEntryTable[ExceptionType].OrigBundles, - sizeof (BUNDLE) * NUM_BUNDLES_IN_STUB - ); - InstructionCacheFlush (B0Ptr, 5); -} - -/** - Sets up cache flush and calls assembly function to chain external interr= upt. - - Records new callback in IvtEntryTable. - - @param NewCallback A pointer to the interrupt handle. - -**/ -VOID -ChainExternalInterrupt ( - IN CALLBACK_FUNC NewCallback - ) -{ - VOID *Start; - - Start =3D (VOID *) ((UINT8 *) GetIva () + 0x400 * EXCEPT_IPF_EXTERNAL_IN= TERRUPT + 0x400); - IvtEntryTable[EXCEPT_IPF_EXTERNAL_INTERRUPT].RegisteredCallback =3D NewC= allback; - ChainHandler (); - InstructionCacheFlush (Start, 0x400); -} - -/** - Sets up cache flush and calls assembly function to restore external inte= rrupt. - Removes registered callback from IvtEntryTable. - -**/ -VOID -UnchainExternalInterrupt ( - VOID - ) -{ - VOID *Start; - - Start =3D (VOID *) ((UINT8 *) GetIva () + 0x400 * EXCEPT_IPF_EXTERNAL_IN= TERRUPT + 0x400); - UnchainHandler (); - InstructionCacheFlush (Start, 0x400); - IvtEntryTable[EXCEPT_IPF_EXTERNAL_INTERRUPT].RegisteredCallback =3D NULL= ; -} - -/** - Returns the maximum value that may be used for the ProcessorIndex parame= ter in - RegisterPeriodicCallback() and RegisterExceptionCallback(). - - Hard coded to support only 1 processor for now. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param MaxProcessorIndex Pointer to a caller-allocated UINTN in whi= ch the maximum supported - processor index is returned. Always 0 retu= rned. - - @retval EFI_SUCCESS Always returned with **MaxProcessorIndex s= et to 0. - -**/ -EFI_STATUS -EFIAPI -GetMaximumProcessorIndex ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - OUT UINTN *MaxProcessorIndex - ) -{ - *MaxProcessorIndex =3D 0; - return (EFI_SUCCESS); -} - -/** - Registers a function to be called back periodically in interrupt context= . - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param ProcessorIndex Specifies which processor the callback fun= ction applies to. - @param PeriodicCallback A pointer to a function of type PERIODIC_C= ALLBACK that is the main - periodic entry point of the debug agent. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_ALREADY_STARTED Non-NULL PeriodicCallback parameter when a= callback - function was previously registered. - @retval EFI_OUT_OF_RESOURCES System has insufficient memory resources t= o register new callback - function. -**/ -EFI_STATUS -EFIAPI -RegisterPeriodicCallback ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN EFI_PERIODIC_CALLBACK PeriodicCallback - ) -{ - return ManageIvtEntryTable (EXCEPT_IPF_EXTERNAL_INTERRUPT, NULL, Periodi= cCallback); -} - -/** - Registers a function to be called when a given processor exception occur= s. - - This code executes in boot services context. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param ProcessorIndex Specifies which processor the callback fun= ction applies to. - @param ExceptionCallback A pointer to a function of type EXCEPTION_= CALLBACK that is called - when the processor exception specified by = ExceptionType occurs. - @param ExceptionType Specifies which processor exception to hoo= k. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_ALREADY_STARTED Non-NULL PeriodicCallback parameter when a= callback - function was previously registered. - @retval EFI_OUT_OF_RESOURCES System has insufficient memory resources t= o register new callback - function. -**/ -EFI_STATUS -EFIAPI -RegisterExceptionCallback ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN EFI_EXCEPTION_CALLBACK ExceptionCallback, - IN EFI_EXCEPTION_TYPE ExceptionType - ) -{ - return ManageIvtEntryTable ( - ExceptionType, - (BUNDLE *) ((EFI_PLABEL *) HookStub)->EntryPoint, - ExceptionCallback - ); -} - -/** - Invalidates processor instruction cache for a memory range. Subsequent e= xecution in this range - causes a fresh memory fetch to retrieve code to be executed. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param ProcessorIndex Specifies which processor's instruction ca= che is to be invalidated. - @param Start Specifies the physical base of the memory = range to be invalidated. - @param Length Specifies the minimum number of bytes in t= he processor's instruction - cache to invalidate. - - @retval EFI_SUCCESS Always returned. - -**/ -EFI_STATUS -EFIAPI -InvalidateInstructionCache ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN VOID *Start, - IN UINTN Length - ) -{ - InstructionCacheFlush (Start, Length); - return EFI_SUCCESS; -} diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h b/= MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h deleted file mode 100644 index 0cf29cadfb..0000000000 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h +++ /dev/null @@ -1,324 +0,0 @@ -/** @file - IPF specific types, macros, and definitions for Debug Support Driver. - -Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
-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 IMPLI= ED. - -**/ - -#ifndef _PLDEBUG_SUPPORT_H_ -#define _PLDEBUG_SUPPORT_H_ - -#include - -#include -#include - -#include -#include -#include -#include -#include - -#define DISABLE_INTERRUPTS 0UL - -#define EFI_ISA IsaIpf - -typedef struct { - UINT64 Low; - UINT64 High; -} BUNDLE; - -typedef -VOID -(*CALLBACK_FUNC) ( - ); - -/** - IPF specific DebugSupport driver initialization. - - Must be public because it's referenced from DebugSupport.c - - @retval EFI_SUCCESS Always. - -**/ -EFI_STATUS -PlInitializeDebugSupportDriver ( - VOID - ); - -/** - Unload handler that is called during UnloadImage() - deallocates pool me= mory - used by the driver. - - Must be public because it's referenced from DebugSuport.c - - @param ImageHandle The firmware allocated handle for the EFI image. - - @retval EFI_SUCCESS Always. - -**/ -EFI_STATUS -EFIAPI -PlUnloadDebugSupportDriver ( - IN EFI_HANDLE ImageHandle - ); - -/** - C callable function to obtain the current value of IVA. - - @return Current value of IVA. - -**/ -VOID * -GetIva ( - VOID - ); - -/** - C callable function that HookStub will be copied from it's loaded locati= on into the IVT when - an IVT entry is hooked. - -**/ -VOID -HookStub ( - VOID - ); - -/** - C callable function to chain an interrupt handler. - -**/ -VOID -ChainHandler ( - VOID - ); - -/** - C callable function to unchain an interrupt handler. - -**/ -VOID -UnchainHandler ( - VOID - ); - -/** - C callable function to enable/disable interrupts. - - @param NewInterruptState New Interrupt State. - - @return Previous state of psr.ic. - -**/ -UINT64 -ProgramInterruptFlags ( - IN UINT64 NewInterruptState - ); - -/** - Flushes instruction cache for specified number of bytes. - - @param StartAddress Cache Start Address. - @param SizeInBytes Cache Size. - -**/ -VOID -InstructionCacheFlush ( - IN VOID *StartAddress, - IN UINTN SizeInBytes - ); - -/** - Returns the maximum value that may be used for the ProcessorIndex parame= ter in - RegisterPeriodicCallback() and RegisterExceptionCallback(). - - Hard coded to support only 1 processor for now. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param MaxProcessorIndex Pointer to a caller-allocated UINTN in whi= ch the maximum supported - processor index is returned. Always 0 retu= rned. - - @retval EFI_SUCCESS Always returned with **MaxProcessorIndex s= et to 0. - -**/ -EFI_STATUS -EFIAPI -GetMaximumProcessorIndex ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - OUT UINTN *MaxProcessorIndex - ); - -/** - Registers a function to be called back periodically in interrupt context= . - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param ProcessorIndex Specifies which processor the callback fun= ction applies to. - @param PeriodicCallback A pointer to a function of type PERIODIC_C= ALLBACK that is the main - periodic entry point of the debug agent. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_ALREADY_STARTED Non-NULL PeriodicCallback parameter when a= callback - function was previously registered. - @retval EFI_OUT_OF_RESOURCES System has insufficient memory resources t= o register new callback - function. -**/ -EFI_STATUS -EFIAPI -RegisterPeriodicCallback ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN EFI_PERIODIC_CALLBACK PeriodicCallback - ); - -/** - Registers a function to be called when a given processor exception occur= s. - - This code executes in boot services context. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param ProcessorIndex Specifies which processor the callback fun= ction applies to. - @param ExceptionCallback A pointer to a function of type EXCEPTION_= CALLBACK that is called - when the processor exception specified by = ExceptionType occurs. =20 - @param ExceptionType Specifies which processor exception to hoo= k. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_ALREADY_STARTED Non-NULL PeriodicCallback parameter when a= callback - function was previously registered. - @retval EFI_OUT_OF_RESOURCES System has insufficient memory resources t= o register new callback - function. -**/ -EFI_STATUS -EFIAPI -RegisterExceptionCallback ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN EFI_EXCEPTION_CALLBACK ExceptionCallback, - IN EFI_EXCEPTION_TYPE ExceptionType - ); - -/** - Invalidates processor instruction cache for a memory range. Subsequent e= xecution in this range - causes a fresh memory fetch to retrieve code to be executed. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCO= L instance. - @param ProcessorIndex Specifies which processor's instruction ca= che is to be invalidated. - @param Start Specifies the physical base of the memory = range to be invalidated. - @param Length Specifies the minimum number of bytes in t= he processor's instruction - cache to invalidate. - - @retval EFI_SUCCESS Always returned. - -**/ -EFI_STATUS -EFIAPI -InvalidateInstructionCache ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - IN UINTN ProcessorIndex, - IN VOID *Start, - IN UINTN Length - ); - -/** - C routine that is called for all registered exceptions. This is the mai= n - exception dispatcher. - - Must be public because it's referenced from AsmFuncs.s. - - @param ExceptionType Specifies which processor exception. - @param Context System Context. -**/ -VOID -CommonHandler ( - IN EFI_EXCEPTION_TYPE ExceptionType, - IN EFI_SYSTEM_CONTEXT Context - ); - -/** - This is the worker function that uninstalls and removes all handlers. - - @param ExceptionType Specifies which processor exception. - @param NewBundles New Boundles. - @param NewCallback A pointer to the new function to be registered= . - - @retval EFI_ALEADY_STARTED Ivt already hooked. - @retval EFI_SUCCESS Successfully uninstalled. - -**/ -EFI_STATUS -ManageIvtEntryTable ( - IN EFI_EXCEPTION_TYPE ExceptionType, - IN BUNDLE NewBundles[4], - IN CALLBACK_FUNC NewCallback - ); - -/** - Saves original IVT contents and inserts a few new bundles which are fixe= d up - to store the ExceptionType and then call the common handler. - - @param ExceptionType Specifies which processor exception. - @param NewBundles New Boundles. - @param NewCallback A pointer to the new function to be hooked. - -**/ -VOID -HookEntry ( - IN EFI_EXCEPTION_TYPE ExceptionType, - IN BUNDLE NewBundles[4], - IN CALLBACK_FUNC NewCallback - ); - -/** - Restores original IVT contents when unregistering a callback function. - - @param ExceptionType Specifies which processor exception. - -**/ -VOID -UnhookEntry ( - IN EFI_EXCEPTION_TYPE ExceptionType - ); - -/** - Sets up cache flush and calls assembly function to chain external interr= upt. - - Records new callback in IvtEntryTable. - - @param NewCallback A pointer to the interrupt handle. - -**/ -VOID -ChainExternalInterrupt ( - IN CALLBACK_FUNC NewCallback - ); - -/** - Sets up cache flush and calls assembly function to restore external inte= rrupt. - Removes registered callback from IvtEntryTable. - -**/ -VOID -UnchainExternalInterrupt ( - VOID - ); - -/** - Given an integer number, return the physical address of the entry point = in the IFT. - - @param HandlerIndex Index of the Handler - @param EntryPoint IFT Entrypoint - -**/ -VOID -GetHandlerEntryPoint ( - UINTN HandlerIndex, - VOID **EntryPoint - ); - -#endif diff --git a/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf b/MdeMo= dulePkg/Universal/DevicePathDxe/DevicePathDxe.inf index ba6ed6b6d8..4642ea7fda 100644 --- a/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf +++ b/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf b/Md= eModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf index facad470ef..8e3e0506e1 100644 --- a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf @@ -31,7 +31,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf b/MdeModul= ePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf index cee27d5b11..a89c0fe197 100644 --- a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf +++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf @@ -31,7 +31,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gDiskIoDriverBinding # COMPONENT_NAME =3D gDiskIoComponentName diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf b/Md= eModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf index fb2ea87a9d..301acea82d 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gPartitionDriverBinding # COMPONENT_NAME =3D gPartitionComponentName diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf b/MdeModulePkg/U= niversal/Disk/UdfDxe/UdfDxe.inf index 7fea6bd9dc..6f33847746 100644 --- a/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf +++ b/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -23,7 +23,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUdfDriverBinding # COMPONENT_NAME =3D gUdfComponentName diff --git a/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/Englis= hDxe.inf b/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishD= xe.inf index 46c834c648..07bb06325d 100644 --- a/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.in= f +++ b/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.in= f @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf b= /MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf index fa7b2ca35d..65ab746ccd 100644 --- a/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf +++ b/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthMana= gerDxe.inf b/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthMana= gerDxe.inf index 482981c143..7b7d62d7c3 100644 --- a/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.= inf +++ b/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.= inf @@ -33,7 +33,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 =20 diff --git a/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf b/M= deModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf index bfd7484518..32e8a6d8bd 100644 --- a/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf +++ b/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf b/MdeModulePkg/U= niversal/EbcDxe/EbcDebugger.inf index 4554eb485d..b40cddd3ec 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 # =20 [Sources] @@ -73,11 +73,6 @@ X64/EbcSupport.c X64/EbcLowLevel.nasm =20 -[Sources.IPF] - Ipf/EbcSupport.h - Ipf/EbcSupport.c - Ipf/EbcLowLevel.s - [Sources.AARCH64] AArch64/EbcSupport.c AArch64/EbcLowLevel.S diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf b/MdeModul= ePkg/Universal/EbcDxe/EbcDebuggerConfig.inf index 0d931a46f0..a36b7e830b 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 # =20 [Sources] diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf b/MdeModulePkg/Univer= sal/EbcDxe/EbcDxe.inf index 197a9a754f..5db0f7bcea 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf +++ b/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 # =20 [Sources] @@ -48,11 +48,6 @@ X64/EbcSupport.c X64/EbcLowLevel.nasm =20 -[Sources.IPF] - Ipf/EbcSupport.h - Ipf/EbcSupport.c - Ipf/EbcLowLevel.s - [Sources.AARCH64] AArch64/EbcSupport.c AArch64/EbcLowLevel.S diff --git a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcLowLevel.s b/MdeModulePkg= /Universal/EbcDxe/Ipf/EbcLowLevel.s deleted file mode 100644 index 4ae24dee7d..0000000000 --- a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcLowLevel.s +++ /dev/null @@ -1,206 +0,0 @@ -///** @file -// =20 -// Contains low level routines for the Virtual Machine implementation -// on an Itanium-based platform. -// -// Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
-// 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 -// =20 -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR I= MPLIED. -// =20 -//**/ - -.file "EbcLowLevel.s" - -#define PROCEDURE_ENTRY(name) .##text; \ - .##type name, @function; \ - .##proc name; \ -name:: - -#define PROCEDURE_EXIT(name) .##endp name - -// Note: use of NESTED_SETUP requires number of locals (l) >=3D 3 - -#define NESTED_SETUP(i,l,o,r) \ - alloc loc1=3Dar##.##pfs,i,l,o,r ;\ - mov loc0=3Db0 - -#define NESTED_RETURN \ - mov b0=3Dloc0 ;\ - mov ar##.##pfs=3Dloc1 ;;\ - br##.##ret##.##dpnt b0;; - -.type CopyMem, @function; - -//------------------------------------------------------------------------= ----- -//++ -// EbcAsmLLCALLEX -// -// Implements the low level EBC CALLEX instruction. Sets up the -// stack pointer, does the spill of function arguments, and -// calls the native function. On return it restores the original -// stack pointer and returns to the caller. -// -// Arguments : -// -// On Entry : -// in0 =3D Address of native code to call -// in1 =3D New stack pointer -// -// Return Value: -// -// As per static calling conventions. -// -//-- -//------------------------------------------------------------------------= --- -;// void EbcAsmLLCALLEX (UINTN FunctionAddr, UINTN EbcStackPointer) -PROCEDURE_ENTRY(EbcAsmLLCALLEX) - NESTED_SETUP (2,6,8,0) - - // NESTED_SETUP uses loc0 and loc1 for context save - - // - // Save a copy of the EBC VM stack pointer - // - mov r8 =3D in1;; - - // - // Copy stack arguments from EBC stack into registers. - // Assume worst case and copy 8. - // - ld8 out0 =3D [r8], 8;; - ld8 out1 =3D [r8], 8;; - ld8 out2 =3D [r8], 8;; - ld8 out3 =3D [r8], 8;; - ld8 out4 =3D [r8], 8;; - ld8 out5 =3D [r8], 8;; - ld8 out6 =3D [r8], 8;; - ld8 out7 =3D [r8], 8;; - - // - // Save the original stack pointer - // - mov loc2 =3D r12; - - // - // Save the gp - // - or loc3 =3D r1, r0 - - // - // Set the new aligned stack pointer. Reserve space for the required - // 16-bytes of scratch area as well. - // - add r12 =3D 48, in1 - - // - // Now call the function. Load up the function address from the descript= or - // pointed to by in0. Then get the gp from the descriptor at the followi= ng - // address in the descriptor. - // - ld8 r31 =3D [in0], 8;; - ld8 r30 =3D [in0];; - mov b1 =3D r31 - mov r1 =3D r30 - (p0) br.call.dptk.many b0 =3D b1;; - - // - // Restore the original stack pointer and gp - // - mov r12 =3D loc2 - or r1 =3D loc3, r0 - - // - // Now return - // - NESTED_RETURN - -PROCEDURE_EXIT(EbcAsmLLCALLEX) - -//------------------------------------------------------------------------= ----- -//++ -// EbcLLCALLEXNative -// -// This function is called to execute an EBC CALLEX instruction. -// This instruction requires that we thunk out to external native -// code. On return, we restore the stack pointer to its original location= . -// Destroys no working registers. For IPF, at least 8 register slots -// must be allocated on the stack frame to support any number of=20 -// arguments beiung passed to the external native function. The -// size of the stack frame is FramePtr - EbcSp. If this size is less -// than 64-bytes, the amount of stack frame allocated is rounded up -// to 64-bytes=20 -// -// Arguments On Entry : -// in0 =3D CallAddr The function address. -// in1 =3D EbcSp The new EBC stack pointer. -// in2 =3D FramePtr The frame pointer. -// -// Return Value: -// None -// -// C Function Prototype: -// VOID -// EFIAPI -// EbcLLCALLEXNative ( -// IN UINTN CallAddr, -// IN UINTN EbcSp, -// IN VOID *FramePtr -// ); -//-- -//------------------------------------------------------------------------= --- - -PROCEDURE_ENTRY(EbcLLCALLEXNative) - NESTED_SETUP (3,6,3,0) - - mov loc2 =3D in2;; // loc2 =3D in2 =3D FramePtr - mov loc3 =3D in1;; // loc3 =3D in1 =3D EbcSp - sub loc2 =3D loc2, loc3;; // loc2 =3D loc2 - loc3 =3D FramePtr -= EbcSp - mov out2 =3D loc2;; // out2 =3D loc2 =3D FramePtr - EbcSp - mov loc4 =3D 0x40;; // loc4 =3D 0x40 - cmp.leu p6 =3D out2, loc4;; // IF out2 < loc4 THEN P6=3D1 ELSE P6= =3D0; IF (FramePtr - EbcSp) < 0x40 THEN P6 =3D 1 ELSE P6=3D0 - (p6) mov loc2 =3D loc4;; // IF P6=3D=3D1 THEN loc2 =3D loc4 =3D= 0x40 - mov loc4 =3D r12;; // save sp - or loc5 =3D r1, r0 // save gp - - sub r12 =3D r12, loc2;; // sp =3D sp - loc2 =3D sp - MAX (0x40= , FramePtr - EbcSp) - - and r12 =3D -0x10, r12 // Round sp down to the nearest 16-byt= e boundary - mov out1 =3D in1;; // out1 =3D EbcSp - mov out0 =3D r12;; // out0 =3D sp - adds r12 =3D -0x8, r12 =20 - (p0) br.call.dptk.many b0 =3D CopyMem;; // CopyMem (sp, EbcSp, (Fra= mePtr - EbcSp)) - adds r12 =3D 0x8, r12 =20 - - mov out0 =3D in0;; // out0 =3D CallAddr - mov out1 =3D r12;; // out1 =3D sp - (p0) br.call.dptk.many b0 =3D EbcAsmLLCALLEX;; // EbcAsmLLCALLEX (Cal= lAddr, sp) - mov r12 =3D loc4;; // restore sp - or r1 =3D loc5, r0 // restore gp - - NESTED_RETURN -PROCEDURE_EXIT(EbcLLCALLEXNative) - - -// -// UINTN EbcLLGetEbcEntryPoint(VOID) -// -// Description: -// Simply return, so that the caller retrieves the return register -// contents (R8). That's where the thunk-to-ebc code stuffed the -// EBC entry point. -// -PROCEDURE_ENTRY(EbcLLGetEbcEntryPoint) - br.ret.sptk b0 ;; -PROCEDURE_EXIT(EbcLLGetEbcEntryPoint) - - - - - - - diff --git a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c b/MdeModulePkg/= Universal/EbcDxe/Ipf/EbcSupport.c deleted file mode 100644 index f99348f181..0000000000 --- a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c +++ /dev/null @@ -1,884 +0,0 @@ -/** @file - This module contains EBC support routines that are customized based on - the target processor. - -Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
-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 IMPLI= ED. - -**/ - -#include "EbcInt.h" -#include "EbcExecute.h" -#include "EbcSupport.h" -#include "EbcDebuggerHook.h" - -/** - Given raw bytes of Itanium based code, format them into a bundle and - write them out. - - @param MemPtr pointer to memory location to write the b= undles - to. - @param Template 5-bit template. - @param Slot0 Instruction slot 0 data for the bundle. - @param Slot1 Instruction slot 1 data for the bundle. - @param Slot2 Instruction slot 2 data for the bundle. - - @retval EFI_INVALID_PARAMETER Pointer is not aligned - @retval EFI_INVALID_PARAMETER No more than 5 bits in template - @retval EFI_INVALID_PARAMETER More than 41 bits used in code - @retval EFI_SUCCESS All data is written. - -**/ -EFI_STATUS -WriteBundle ( - IN VOID *MemPtr, - IN UINT8 Template, - IN UINT64 Slot0, - IN UINT64 Slot1, - IN UINT64 Slot2 - ); - -/** - Pushes a 64 bit unsigned value to the VM stack. - - @param VmPtr The pointer to current VM context. - @param Arg The value to be pushed. - -**/ -VOID -PushU64 ( - IN VM_CONTEXT *VmPtr, - IN UINT64 Arg - ) -{ - // - // Advance the VM stack down, and then copy the argument to the stack. - // Hope it's aligned. - // - VmPtr->Gpr[0] -=3D sizeof (UINT64); - *(UINT64 *) VmPtr->Gpr[0] =3D Arg; -} - -/** - Begin executing an EBC image. The address of the entry point is passed - in via a processor register, so we'll need to make a call to get the - value. - - This is a thunk function. Microsoft x64 compiler only provide fast_call - calling convention, so the first four arguments are passed by rcx, rdx, - r8, and r9, while other arguments are passed in stack. - - @param Arg1 The 1st argument. - @param ... The variable arguments list. - - @return The value returned by the EBC application we're going to run. - -**/ -UINT64 -EFIAPI -EbcInterpret ( - UINT64 Arg1, - ... - ) -{ - // - // Create a new VM context on the stack - // - VM_CONTEXT VmContext; - UINTN Addr; - EFI_STATUS Status; - UINTN StackIndex; - VA_LIST List; - UINT64 Arg2; - UINT64 Arg3; - UINT64 Arg4; - UINT64 Arg5; - UINT64 Arg6; - UINT64 Arg7; - UINT64 Arg8; - UINT64 Arg9; - UINT64 Arg10; - UINT64 Arg11; - UINT64 Arg12; - UINT64 Arg13; - UINT64 Arg14; - UINT64 Arg15; - UINT64 Arg16; - // - // Get the EBC entry point from the processor register. Make sure you do= n't - // call any functions before this or you could mess up the register the - // entry point is passed in. - // - Addr =3D EbcLLGetEbcEntryPoint (); - // - // Need the args off the stack. - // - VA_START (List, Arg1); - Arg2 =3D VA_ARG (List, UINT64); - Arg3 =3D VA_ARG (List, UINT64); - Arg4 =3D VA_ARG (List, UINT64); - Arg5 =3D VA_ARG (List, UINT64); - Arg6 =3D VA_ARG (List, UINT64); - Arg7 =3D VA_ARG (List, UINT64); - Arg8 =3D VA_ARG (List, UINT64); - Arg9 =3D VA_ARG (List, UINT64); - Arg10 =3D VA_ARG (List, UINT64); - Arg11 =3D VA_ARG (List, UINT64); - Arg12 =3D VA_ARG (List, UINT64); - Arg13 =3D VA_ARG (List, UINT64); - Arg14 =3D VA_ARG (List, UINT64); - Arg15 =3D VA_ARG (List, UINT64); - Arg16 =3D VA_ARG (List, UINT64); - VA_END (List); - // - // Now clear out our context - // - ZeroMem ((VOID *) &VmContext, sizeof (VM_CONTEXT)); - // - // Set the VM instruction pointer to the correct location in memory. - // - VmContext.Ip =3D (VMIP) Addr; - // - // Initialize the stack pointer for the EBC. Get the current system stac= k - // pointer and adjust it down by the max needed for the interpreter. - // - // - // NOTE: Eventually we should have the interpreter allocate memory - // for stack space which it will use during its execution. This - // would likely improve performance because the interpreter would - // no longer be required to test each memory access and adjust - // those reading from the stack gap. - // - // For IPF, the stack looks like (assuming 10 args passed) - // arg10 - // arg9 (Bottom of high stack) - // [ stack gap for interpreter execution ] - // [ magic value for detection of stack corruption ] - // arg8 (Top of low stack) - // arg7.... - // arg1 - // [ 64-bit return address ] - // [ ebc stack ] - // If the EBC accesses memory in the stack gap, then we assume that it's - // actually trying to access args9 and greater. Therefore we need to - // adjust memory accesses in this region to point above the stack gap. - // - // - // Now adjust the EBC stack pointer down to leave a gap for interpreter - // execution. Then stuff a magic value there. - // - - Status =3D GetEBCStack((EFI_HANDLE)(UINTN)-1, &VmContext.StackPool, &Sta= ckIndex); - if (EFI_ERROR(Status)) { - return Status; - } - VmContext.StackTop =3D (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE)= ; - VmContext.Gpr[0] =3D (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_= SIZE); - VmContext.HighStackBottom =3D (UINTN) VmContext.Gpr[0]; - VmContext.Gpr[0] -=3D sizeof (UINTN); - - - PushU64 (&VmContext, (UINT64) VM_STACK_KEY_VALUE); - VmContext.StackMagicPtr =3D (UINTN *) VmContext.Gpr[0]; - VmContext.LowStackTop =3D (UINTN) VmContext.Gpr[0]; - // - // Push the EBC arguments on the stack. Does not matter that they may no= t - // all be valid. - // - PushU64 (&VmContext, Arg16); - PushU64 (&VmContext, Arg15); - PushU64 (&VmContext, Arg14); - PushU64 (&VmContext, Arg13); - PushU64 (&VmContext, Arg12); - PushU64 (&VmContext, Arg11); - PushU64 (&VmContext, Arg10); - PushU64 (&VmContext, Arg9); - PushU64 (&VmContext, Arg8); - PushU64 (&VmContext, Arg7); - PushU64 (&VmContext, Arg6); - PushU64 (&VmContext, Arg5); - PushU64 (&VmContext, Arg4); - PushU64 (&VmContext, Arg3); - PushU64 (&VmContext, Arg2); - PushU64 (&VmContext, Arg1); - // - // Push a bogus return address on the EBC stack because the - // interpreter expects one there. For stack alignment purposes on IPF, - // EBC return addresses are always 16 bytes. Push a bogus value as well. - // - PushU64 (&VmContext, 0); - PushU64 (&VmContext, 0xDEADBEEFDEADBEEF); - VmContext.StackRetAddr =3D (UINT64) VmContext.Gpr[0]; - - // - // Begin executing the EBC code - // - EbcDebuggerHookEbcInterpret (&VmContext); - EbcExecute (&VmContext); - - // - // Return the value in Gpr[7] unless there was an error - // - ReturnEBCStack(StackIndex); - return (UINT64) VmContext.Gpr[7]; -} - - -/** - Begin executing an EBC image. The address of the entry point is passed - in via a processor register, so we'll need to make a call to get the - value. - - @param ImageHandle image handle for the EBC application we're exec= uting - @param SystemTable standard system table passed into an driver's e= ntry - point - - @return The value returned by the EBC application we're going to run. - -**/ -UINT64 -EFIAPI -ExecuteEbcImageEntryPoint ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - // - // Create a new VM context on the stack - // - VM_CONTEXT VmContext; - UINTN Addr; - EFI_STATUS Status; - UINTN StackIndex; - - // - // Get the EBC entry point from the processor register. Make sure you do= n't - // call any functions before this or you could mess up the register the - // entry point is passed in. - // - Addr =3D EbcLLGetEbcEntryPoint (); - - // - // Now clear out our context - // - ZeroMem ((VOID *) &VmContext, sizeof (VM_CONTEXT)); - - // - // Save the image handle so we can track the thunks created for this ima= ge - // - VmContext.ImageHandle =3D ImageHandle; - VmContext.SystemTable =3D SystemTable; - - // - // Set the VM instruction pointer to the correct location in memory. - // - VmContext.Ip =3D (VMIP) Addr; - - // - // Get the stack pointer. This is the bottom of the upper stack. - // - - Status =3D GetEBCStack(ImageHandle, &VmContext.StackPool, &StackIndex); - if (EFI_ERROR(Status)) { - return Status; - } - VmContext.StackTop =3D (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE)= ; - VmContext.Gpr[0] =3D (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_= SIZE); - VmContext.HighStackBottom =3D (UINTN) VmContext.Gpr[0]; - VmContext.Gpr[0] -=3D sizeof (UINTN); - - - // - // Allocate stack space for the interpreter. Then put a magic value - // at the bottom so we can detect stack corruption. - // - PushU64 (&VmContext, (UINT64) VM_STACK_KEY_VALUE); - VmContext.StackMagicPtr =3D (UINTN *) (UINTN) VmContext.Gpr[0]; - - // - // When we thunk to external native code, we copy the last 8 qwords from - // the EBC stack into the processor registers, and adjust the stack poin= ter - // up. If the caller is not passing 8 parameters, then we've moved the - // stack pointer up into the stack gap. If this happens, then the caller - // can mess up the stack gap contents (in particular our magic value). - // Therefore, leave another gap below the magic value. Pick 10 qwords do= wn, - // just as a starting point. - // - VmContext.Gpr[0] -=3D 10 * sizeof (UINT64); - - // - // Align the stack pointer such that after pushing the system table, - // image handle, and return address on the stack, it's aligned on a 16-b= yte - // boundary as required for IPF. - // - VmContext.Gpr[0] &=3D (INT64)~0x0f; - VmContext.LowStackTop =3D (UINTN) VmContext.Gpr[0]; - // - // Simply copy the image handle and system table onto the EBC stack. - // Greatly simplifies things by not having to spill the args - // - PushU64 (&VmContext, (UINT64) SystemTable); - PushU64 (&VmContext, (UINT64) ImageHandle); - - // - // Interpreter assumes 64-bit return address is pushed on the stack. - // IPF does not do this so pad the stack accordingly. Also, a - // "return address" is 16 bytes as required for IPF stack alignments. - // - PushU64 (&VmContext, (UINT64) 0); - PushU64 (&VmContext, (UINT64) 0x1234567887654321); - VmContext.StackRetAddr =3D (UINT64) VmContext.Gpr[0]; - - // - // Begin executing the EBC code - // - EbcDebuggerHookExecuteEbcImageEntryPoint (&VmContext); - EbcExecute (&VmContext); - - // - // Return the value in Gpr[7] unless there was an error - // - ReturnEBCStack(StackIndex); - return (UINT64) VmContext.Gpr[7]; -} - - -/** - Create thunks for an EBC image entry point, or an EBC protocol service. - - @param ImageHandle Image handle for the EBC image. If not nul= l, then - we're creating a thunk for an image entry = point. - @param EbcEntryPoint Address of the EBC code that the thunk is = to call - @param Thunk Returned thunk we create here - @param Flags Flags indicating options for creating the = thunk - - @retval EFI_SUCCESS The thunk was created successfully. - @retval EFI_INVALID_PARAMETER The parameter of EbcEntryPoint is not 16-b= it - aligned. - @retval EFI_OUT_OF_RESOURCES There is not enough memory to created the = EBC - Thunk. - @retval EFI_BUFFER_TOO_SMALL EBC_THUNK_SIZE is not larger enough. - -**/ -EFI_STATUS -EbcCreateThunks ( - IN EFI_HANDLE ImageHandle, - IN VOID *EbcEntryPoint, - OUT VOID **Thunk, - IN UINT32 Flags - ) -{ - UINT8 *Ptr; - UINT8 *ThunkBase; - UINT64 Addr; - UINT64 Code[3]; // Code in a bundle - UINT64 RegNum; // register number for MOVL - UINT64 BitI; // bits of MOVL immediate data - UINT64 BitIc; // bits of MOVL immediate data - UINT64 BitImm5c; // bits of MOVL immediate data - UINT64 BitImm9d; // bits of MOVL immediate data - UINT64 BitImm7b; // bits of MOVL immediate data - UINT64 Br; // branch register for loading and jumping - UINT64 *Data64Ptr; - UINT32 ThunkSize; - UINT32 Size; - - // - // Check alignment of pointer to EBC code, which must always be aligned - // on a 2-byte boundary. - // - if ((UINT32) (UINTN) EbcEntryPoint & 0x01) { - return EFI_INVALID_PARAMETER; - } - // - // Allocate memory for the thunk. Make the (most likely incorrect) assum= ption - // that the returned buffer is not aligned, so round up to the next - // alignment size. - // - Size =3D EBC_THUNK_SIZE + EBC_THUNK_ALIGNMENT - 1; - ThunkSize =3D Size; - Ptr =3D EbcAllocatePoolForThunk (Size); - - if (Ptr =3D=3D NULL) { - return EFI_OUT_OF_RESOURCES; - } - // - // Save the start address of the buffer. - // - ThunkBase =3D Ptr; - - // - // Make sure it's aligned for code execution. If not, then - // round up. - // - if ((UINT32) (UINTN) Ptr & (EBC_THUNK_ALIGNMENT - 1)) { - Ptr =3D (UINT8 *) (((UINTN) Ptr + (EBC_THUNK_ALIGNMENT - 1)) &~ (UINT6= 4) (EBC_THUNK_ALIGNMENT - 1)); - } - // - // Return the pointer to the thunk to the caller to user as the - // image entry point. - // - *Thunk =3D (VOID *) Ptr; - - // - // Clear out the thunk entry - // ZeroMem(Ptr, Size); - // - // For IPF, when you do a call via a function pointer, the function poin= ter - // actually points to a function descriptor which consists of a 64-bit - // address of the function, followed by a 64-bit gp for the function bei= ng - // called. See the the Software Conventions and Runtime Architecture Gui= de - // for details. - // So first off in our thunk, create a descriptor for our actual thunk c= ode. - // This means we need to create a pointer to the thunk code (which follo= ws - // the descriptor we're going to create), followed by the gp of the Vm - // interpret function we're going to eventually execute. - // - Data64Ptr =3D (UINT64 *) Ptr; - - // - // Write the function's entry point (which is our thunk code that follow= s - // this descriptor we're creating). - // - *Data64Ptr =3D (UINT64) (Data64Ptr + 2); - // - // Get the gp from the descriptor for EbcInterpret and stuff it in our t= hunk - // descriptor. - // - *(Data64Ptr + 1) =3D *(UINT64 *) ((UINT64 *) (UINTN) EbcInterpret + 1); - // - // Advance our thunk data pointer past the descriptor. Since the - // descriptor consists of 16 bytes, the pointer is still aligned for - // IPF code execution (on 16-byte boundary). - // - Ptr +=3D sizeof (UINT64) * 2; - - // - // *************************** MAGIC BUNDLE ****************************= **** - // - // Write magic code bundle for: movl r8 =3D 0xca112ebcca112ebc to help t= he VM - // to recognize it is a thunk. - // - Addr =3D (UINT64) 0xCA112EBCCA112EBC; - - // - // Now generate the code bytes. First is nop.m 0x0 - // - Code[0] =3D OPCODE_NOP; - - // - // Next is simply Addr[62:22] (41 bits) of the address - // - Code[1] =3D RShiftU64 (Addr, 22) & 0x1ffffffffff; - - // - // Extract bits from the address for insertion into the instruction - // i =3D Addr[63:63] - // - BitI =3D RShiftU64 (Addr, 63) & 0x01; - // - // ic =3D Addr[21:21] - // - BitIc =3D RShiftU64 (Addr, 21) & 0x01; - // - // imm5c =3D Addr[20:16] for 5 bits - // - BitImm5c =3D RShiftU64 (Addr, 16) & 0x1F; - // - // imm9d =3D Addr[15:7] for 9 bits - // - BitImm9d =3D RShiftU64 (Addr, 7) & 0x1FF; - // - // imm7b =3D Addr[6:0] for 7 bits - // - BitImm7b =3D Addr & 0x7F; - - // - // The EBC entry point will be put into r8, so r8 can be used here - // temporary. R8 is general register and is auto-serialized. - // - RegNum =3D 8; - - // - // Next is jumbled data, including opcode and rest of address - // - Code[2] =3D LShiftU64 (BitImm7b, 13); - Code[2] =3D Code[2] | LShiftU64 (0x00, 20); // vc - Code[2] =3D Code[2] | LShiftU64 (BitIc, 21); - Code[2] =3D Code[2] | LShiftU64 (BitImm5c, 22); - Code[2] =3D Code[2] | LShiftU64 (BitImm9d, 27); - Code[2] =3D Code[2] | LShiftU64 (BitI, 36); - Code[2] =3D Code[2] | LShiftU64 ((UINT64)MOVL_OPCODE, 37); - Code[2] =3D Code[2] | LShiftU64 ((RegNum & 0x7F), 6); - - WriteBundle ((VOID *) Ptr, 0x05, Code[0], Code[1], Code[2]); - - // - // *************************** FIRST BUNDLE ****************************= **** - // - // Write code bundle for: movl r8 =3D EBC_ENTRY_POINT so we pass - // the ebc entry point in to the interpreter function via a processor - // register. - // Note -- we could easily change this to pass in a pointer to a structu= re - // that contained, among other things, the EBC image's entry point. But - // for now pass it directly. - // - Ptr +=3D 16; - Addr =3D (UINT64) EbcEntryPoint; - - // - // Now generate the code bytes. First is nop.m 0x0 - // - Code[0] =3D OPCODE_NOP; - - // - // Next is simply Addr[62:22] (41 bits) of the address - // - Code[1] =3D RShiftU64 (Addr, 22) & 0x1ffffffffff; - - // - // Extract bits from the address for insertion into the instruction - // i =3D Addr[63:63] - // - BitI =3D RShiftU64 (Addr, 63) & 0x01; - // - // ic =3D Addr[21:21] - // - BitIc =3D RShiftU64 (Addr, 21) & 0x01; - // - // imm5c =3D Addr[20:16] for 5 bits - // - BitImm5c =3D RShiftU64 (Addr, 16) & 0x1F; - // - // imm9d =3D Addr[15:7] for 9 bits - // - BitImm9d =3D RShiftU64 (Addr, 7) & 0x1FF; - // - // imm7b =3D Addr[6:0] for 7 bits - // - BitImm7b =3D Addr & 0x7F; - - // - // Put the EBC entry point in r8, which is the location of the return va= lue - // for functions. - // - RegNum =3D 8; - - // - // Next is jumbled data, including opcode and rest of address - // - Code[2] =3D LShiftU64 (BitImm7b, 13); - Code[2] =3D Code[2] | LShiftU64 (0x00, 20); // vc - Code[2] =3D Code[2] | LShiftU64 (BitIc, 21); - Code[2] =3D Code[2] | LShiftU64 (BitImm5c, 22); - Code[2] =3D Code[2] | LShiftU64 (BitImm9d, 27); - Code[2] =3D Code[2] | LShiftU64 (BitI, 36); - Code[2] =3D Code[2] | LShiftU64 ((UINT64)MOVL_OPCODE, 37); - Code[2] =3D Code[2] | LShiftU64 ((RegNum & 0x7F), 6); - - WriteBundle ((VOID *) Ptr, 0x05, Code[0], Code[1], Code[2]); - - // - // *************************** NEXT BUNDLE *****************************= **** - // - // Write code bundle for: - // movl rx =3D offset_of(EbcInterpret|ExecuteEbcImageEntryPoint) - // - // Advance pointer to next bundle, then compute the offset from this bun= dle - // to the address of the entry point of the interpreter. - // - Ptr +=3D 16; - if ((Flags & FLAG_THUNK_ENTRY_POINT) !=3D 0) { - Addr =3D (UINT64) ExecuteEbcImageEntryPoint; - } else { - Addr =3D (UINT64) EbcInterpret; - } - // - // Indirection on Itanium-based systems - // - Addr =3D *(UINT64 *) Addr; - - // - // Now write the code to load the offset into a register - // - Code[0] =3D OPCODE_NOP; - - // - // Next is simply Addr[62:22] (41 bits) of the address - // - Code[1] =3D RShiftU64 (Addr, 22) & 0x1ffffffffff; - - // - // Extract bits from the address for insertion into the instruction - // i =3D Addr[63:63] - // - BitI =3D RShiftU64 (Addr, 63) & 0x01; - // - // ic =3D Addr[21:21] - // - BitIc =3D RShiftU64 (Addr, 21) & 0x01; - // - // imm5c =3D Addr[20:16] for 5 bits - // - BitImm5c =3D RShiftU64 (Addr, 16) & 0x1F; - // - // imm9d =3D Addr[15:7] for 9 bits - // - BitImm9d =3D RShiftU64 (Addr, 7) & 0x1FF; - // - // imm7b =3D Addr[6:0] for 7 bits - // - BitImm7b =3D Addr & 0x7F; - - // - // Put it in r31, a scratch register - // - RegNum =3D 31; - - // - // Next is jumbled data, including opcode and rest of address - // - Code[2] =3D LShiftU64(BitImm7b, 13); - Code[2] =3D Code[2] | LShiftU64 (0x00, 20); // vc - Code[2] =3D Code[2] | LShiftU64 (BitIc, 21); - Code[2] =3D Code[2] | LShiftU64 (BitImm5c, 22); - Code[2] =3D Code[2] | LShiftU64 (BitImm9d, 27); - Code[2] =3D Code[2] | LShiftU64 (BitI, 36); - Code[2] =3D Code[2] | LShiftU64 ((UINT64)MOVL_OPCODE, 37); - Code[2] =3D Code[2] | LShiftU64 ((RegNum & 0x7F), 6); - - WriteBundle ((VOID *) Ptr, 0x05, Code[0], Code[1], Code[2]); - - // - // *************************** NEXT BUNDLE *****************************= **** - // - // Load branch register with EbcInterpret() function offset from the bun= dle - // address: mov b6 =3D RegNum - // - // See volume 3 page 4-29 of the Arch. Software Developer's Manual. - // - // Advance pointer to next bundle - // - Ptr +=3D 16; - Code[0] =3D OPCODE_NOP; - Code[1] =3D OPCODE_NOP; - Code[2] =3D OPCODE_MOV_BX_RX; - - // - // Pick a branch register to use. Then fill in the bits for the branch - // register and user register (same user register as previous bundle). - // - Br =3D 6; - Code[2] |=3D LShiftU64 (Br, 6); - Code[2] |=3D LShiftU64 (RegNum, 13); - WriteBundle ((VOID *) Ptr, 0x0d, Code[0], Code[1], Code[2]); - - // - // *************************** NEXT BUNDLE *****************************= **** - // - // Now do the branch: (p0) br.cond.sptk.few b6 - // - // Advance pointer to next bundle. - // Fill in the bits for the branch register (same reg as previous bundle= ) - // - Ptr +=3D 16; - Code[0] =3D OPCODE_NOP; - Code[1] =3D OPCODE_NOP; - Code[2] =3D OPCODE_BR_COND_SPTK_FEW; - Code[2] |=3D LShiftU64 (Br, 13); - WriteBundle ((VOID *) Ptr, 0x1d, Code[0], Code[1], Code[2]); - - // - // Add the thunk to our list of allocated thunks so we can do some clean= up - // when the image is unloaded. Do this last since the Add function flush= es - // the instruction cache for us. - // - EbcAddImageThunk (ImageHandle, (VOID *) ThunkBase, ThunkSize); - - // - // Done - // - return EFI_SUCCESS; -} - - -/** - Given raw bytes of Itanium based code, format them into a bundle and - write them out. - - @param MemPtr pointer to memory location to write the b= undles - to. - @param Template 5-bit template. - @param Slot0 Instruction slot 0 data for the bundle. - @param Slot1 Instruction slot 1 data for the bundle. - @param Slot2 Instruction slot 2 data for the bundle. - - @retval EFI_INVALID_PARAMETER Pointer is not aligned - @retval EFI_INVALID_PARAMETER No more than 5 bits in template - @retval EFI_INVALID_PARAMETER More than 41 bits used in code - @retval EFI_SUCCESS All data is written. - -**/ -EFI_STATUS -WriteBundle ( - IN VOID *MemPtr, - IN UINT8 Template, - IN UINT64 Slot0, - IN UINT64 Slot1, - IN UINT64 Slot2 - ) -{ - UINT8 *BPtr; - UINT32 Index; - UINT64 Low64; - UINT64 High64; - - // - // Verify pointer is aligned - // - if ((UINT64) MemPtr & 0xF) { - return EFI_INVALID_PARAMETER; - } - // - // Verify no more than 5 bits in template - // - if ((Template &~0x1F) !=3D 0) { - return EFI_INVALID_PARAMETER; - } - // - // Verify max of 41 bits used in code - // - if (((Slot0 | Slot1 | Slot2) &~0x1ffffffffff) !=3D 0) { - return EFI_INVALID_PARAMETER; - } - - Low64 =3D LShiftU64 (Slot1, 46); - Low64 =3D Low64 | LShiftU64 (Slot0, 5) | Template; - - High64 =3D RShiftU64 (Slot1, 18); - High64 =3D High64 | LShiftU64 (Slot2, 23); - - // - // Now write it all out - // - BPtr =3D (UINT8 *) MemPtr; - for (Index =3D 0; Index < 8; Index++) { - *BPtr =3D (UINT8) Low64; - Low64 =3D RShiftU64 (Low64, 8); - BPtr++; - } - - for (Index =3D 0; Index < 8; Index++) { - *BPtr =3D (UINT8) High64; - High64 =3D RShiftU64 (High64, 8); - BPtr++; - } - - return EFI_SUCCESS; -} - - -/** - This function is called to execute an EBC CALLEX instruction. - The function check the callee's content to see whether it is common nati= ve - code or a thunk to another piece of EBC code. - If the callee is common native code, use EbcLLCAllEXASM to manipulate, - otherwise, set the VM->IP to target EBC code directly to avoid another V= M - be startup which cost time and stack space. - - @param VmPtr Pointer to a VM context. - @param FuncAddr Callee's address - @param NewStackPointer New stack pointer after the call - @param FramePtr New frame pointer after the call - @param Size The size of call instruction - -**/ -VOID -EbcLLCALLEX ( - IN VM_CONTEXT *VmPtr, - IN UINTN FuncAddr, - IN UINTN NewStackPointer, - IN VOID *FramePtr, - IN UINT8 Size - ) -{ - UINTN IsThunk; - UINTN TargetEbcAddr; - UINTN CodeOne18; - UINTN CodeOne23; - UINTN CodeTwoI; - UINTN CodeTwoIc; - UINTN CodeTwo7b; - UINTN CodeTwo5c; - UINTN CodeTwo9d; - UINTN CalleeAddr; - - IsThunk =3D 1; - TargetEbcAddr =3D 0; - - // - // FuncAddr points to the descriptor of the target instructions. - // - CalleeAddr =3D *((UINT64 *)FuncAddr); - - // - // Processor specific code to check whether the callee is a thunk to EBC= . - // - if (*((UINT64 *)CalleeAddr) !=3D 0xBCCA000100000005) { - IsThunk =3D 0; - goto Action; - } - if (*((UINT64 *)CalleeAddr + 1) !=3D 0x697623C1004A112E) { - IsThunk =3D 0; - goto Action; - } - - CodeOne18 =3D RShiftU64 (*((UINT64 *)CalleeAddr + 2), 46) & 0x3FFFF; - CodeOne23 =3D (*((UINT64 *)CalleeAddr + 3)) & 0x7FFFFF; - CodeTwoI =3D RShiftU64 (*((UINT64 *)CalleeAddr + 3), 59) & 0x1; - CodeTwoIc =3D RShiftU64 (*((UINT64 *)CalleeAddr + 3), 44) & 0x1; - CodeTwo7b =3D RShiftU64 (*((UINT64 *)CalleeAddr + 3), 36) & 0x7F; - CodeTwo5c =3D RShiftU64 (*((UINT64 *)CalleeAddr + 3), 45) & 0x1F; - CodeTwo9d =3D RShiftU64 (*((UINT64 *)CalleeAddr + 3), 50) & 0x1FF; - - TargetEbcAddr =3D CodeTwo7b; - TargetEbcAddr =3D TargetEbcAddr | LShiftU64 (CodeTwo9d, 7); - TargetEbcAddr =3D TargetEbcAddr | LShiftU64 (CodeTwo5c, 16); - TargetEbcAddr =3D TargetEbcAddr | LShiftU64 (CodeTwoIc, 21); - TargetEbcAddr =3D TargetEbcAddr | LShiftU64 (CodeOne18, 22); - TargetEbcAddr =3D TargetEbcAddr | LShiftU64 (CodeOne23, 40); - TargetEbcAddr =3D TargetEbcAddr | LShiftU64 (CodeTwoI, 63); - -Action: - if (IsThunk =3D=3D 1){ - // - // The callee is a thunk to EBC, adjust the stack pointer down 16 byte= s and - // put our return address and frame pointer on the VM stack. - // Then set the VM's IP to new EBC code. - // - VmPtr->Gpr[0] -=3D 8; - VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], (UINTN) FramePtr); - VmPtr->FramePtr =3D (VOID *) (UINTN) VmPtr->Gpr[0]; - VmPtr->Gpr[0] -=3D 8; - VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], (UINT64) (VmPtr->Ip + Size= )); - - VmPtr->Ip =3D (VMIP) (UINTN) TargetEbcAddr; - } else { - // - // The callee is not a thunk to EBC, call native code, - // and get return value. - // - VmPtr->Gpr[7] =3D EbcLLCALLEXNative (FuncAddr, NewStackPointer, FrameP= tr); - - // - // Advance the IP. - // - VmPtr->Ip +=3D Size; - } -} diff --git a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.h b/MdeModulePkg/= Universal/EbcDxe/Ipf/EbcSupport.h deleted file mode 100644 index d90ea82ad0..0000000000 --- a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.h +++ /dev/null @@ -1,41 +0,0 @@ -/** @file - Definition of EBC Support function. - -Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-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 IMPLI= ED. - -**/ - -#ifndef _IPF_EBC_SUPPORT_H_ -#define _IPF_EBC_SUPPORT_H_ - -#define VM_STACK_SIZE (1024 * 32) - -#define EBC_THUNK_SIZE 128 -#define STACK_REMAIN_SIZE (1024 * 4) - -// -// For code execution, thunks must be aligned on 16-byte boundary -// -#define EBC_THUNK_ALIGNMENT 16 - -// -// Opcodes for IPF instructions. We'll need to hand-create thunk code (stu= ffing -// bits) to insert a jump to the interpreter. -// -#define OPCODE_NOP (UINT64) 0x00008000000 -#define OPCODE_BR_COND_SPTK_FEW (UINT64) 0x00100000000 -#define OPCODE_MOV_BX_RX (UINT64) 0x00E00100000 - -// -// Opcode for MOVL instruction -// -#define MOVL_OPCODE 0x06 - -#endif diff --git a/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf b/MdeModulePkg/Univ= ersal/EsrtDxe/EsrtDxe.inf index 06b3a08e78..126ef24bfb 100644 --- a/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf +++ b/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrit= eDxe.inf b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteD= xe.inf index 5649241f71..e478958280 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.in= f +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.in= f @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWrit= ePei.inf b/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWriteP= ei.inf index 12b26604e2..a2c2b65342 100644 --- a/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.in= f +++ b/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.in= f @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf b/M= deModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf index 86d7533261..d11bef9843 100644 --- a/MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf +++ b/MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf b/Mde= ModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf index adb3603e84..a66a5fa8b5 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampl= eDxe.inf b/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleD= xe.inf index 51a598cb05..3a51e11439 100644 --- a/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleDxe.in= f +++ b/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleDxe.in= f @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf b= /MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf index 46cd490d8f..09c6e73d59 100644 --- a/MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf +++ b/MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf b/MdeMo= dulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf index a4ded94e7f..7b84e10688 100644 --- a/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf +++ b/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/Generic= MemoryTestDxe.inf b/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/= GenericMemoryTestDxe.inf index 975dc4cd3a..e932588d95 100644 --- a/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryT= estDxe.inf +++ b/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryT= estDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemory= TestDxe.inf b/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemor= yTestDxe.inf index 96770e5b8d..b63223cd97 100644 --- a/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe= .inf +++ b/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe= .inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Metronome/Metronome.inf b/MdeModulePkg/= Universal/Metronome/Metronome.inf index a688f3cc02..e5cd6608f3 100644 --- a/MdeModulePkg/Universal/Metronome/Metronome.inf +++ b/MdeModulePkg/Universal/Metronome/Metronome.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Packages] diff --git a/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCou= nterRuntimeDxe.inf b/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/Mono= tonicCounterRuntimeDxe.inf index e44e268014..77f86b7b21 100644 --- a/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRun= timeDxe.inf +++ b/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRun= timeDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf b/MdeModulePk= g/Universal/Network/ArpDxe/ArpDxe.inf index 9dff604a94..44d0ddffcf 100644 --- a/MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf +++ b/MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gArpDriverBinding = =20 # COMPONENT_NAME =3D gArpComponentName diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf b/MdeModu= lePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf index 9b6c9c1dcc..33ad02a6f6 100644 --- a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf +++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gDhcp4DriverBinding = =20 # COMPONENT_NAME =3D gDhcp4ComponentName diff --git a/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf b/MdeModulePk= g/Universal/Network/DpcDxe/DpcDxe.inf index 8a1f8baf79..86011271c3 100644 --- a/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf +++ b/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf b/MdeModu= lePkg/Universal/Network/IScsiDxe/IScsiDxe.inf index 4fd2a62af9..1f718d9b17 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gIScsiDriverBinding # COMPONENT_NAME =3D gIScsiComponentName @@ -122,4 +122,4 @@ gIScsiCHAPAuthInfoGuid =20 [UserExtensions.TianoCore."ExtraFiles"] - IScsi4DxeExtra.uni \ No newline at end of file + IScsi4DxeExtra.uni diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf b/MdeModulePk= g/Universal/Network/Ip4Dxe/Ip4Dxe.inf index 313528783d..4f5ada112e 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf @@ -31,7 +31,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gIp4DriverBinding = =20 # COMPONENT_NAME =3D gIp4ComponentName diff --git a/MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf b/MdeModulePk= g/Universal/Network/MnpDxe/MnpDxe.inf index 07e62f5ba2..e5281c0d4b 100644 --- a/MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf +++ b/MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gMnpDriverBinding # COMPONENT_NAME =3D gMnpComponentName diff --git a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf b/MdeMo= dulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf index 3d7c8c00e0..6750aa168b 100644 --- a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf +++ b/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gMtftp4DriverBinding = =20 # COMPONENT_NAME =3D gMtftp4ComponentName diff --git a/MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf b/MdeModulePk= g/Universal/Network/SnpDxe/SnpDxe.inf index 90fd8d5475..ea23c8e3ac 100644 --- a/MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf +++ b/MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D mSimpleNetworkDriverBinding = =20 # COMPONENT_NAME =3D gSimpleNetworkComponentName diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf b/MdeModule= Pkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf index ba3c377b5f..ba8ec64f87 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D mTcp4DriverBinding = =20 # COMPONENT_NAME =3D gTcp4ComponentName diff --git a/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf b/MdeModule= Pkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf index e1b4898c31..62c1da316b 100644 --- a/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf +++ b/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # # DRIVER_BINDING =3D gUdp4DriverBinding = =20 # COMPONENT_NAME =3D gUdp4ComponentName diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf b= /MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf index fe8f210467..53a32eaf65 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf @@ -32,7 +32,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF +# VALID_ARCHITECTURES =3D IA32 X64 # # DRIVER_BINDING =3D gPxeBcDriverBinding = =20 # COMPONENT_NAME =3D gPxeBcComponentName diff --git a/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf= b/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf index a36c57871e..5db5a57417 100644 --- a/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf +++ b/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf @@ -27,7 +27,7 @@ =20 =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf b/MdeModulePkg/Universa= l/PCD/Dxe/Pcd.inf index a20b645a45..d475639c0e 100644 --- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf +++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf @@ -303,7 +303,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/PCD/Pei/Pcd.inf b/MdeModulePkg/Universa= l/PCD/Pei/Pcd.inf index 3cba28944c..ca3e4c4cca 100644 --- a/MdeModulePkg/Universal/PCD/Pei/Pcd.inf +++ b/MdeModulePkg/Universal/PCD/Pei/Pcd.inf @@ -302,7 +302,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleS= egmentPciCfg2Pei.inf b/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/P= catSingleSegmentPciCfg2Pei.inf index 27bce7b7b7..fbe035560d 100644 --- a/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentP= ciCfg2Pei.inf +++ b/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentP= ciCfg2Pei.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for build on= ly) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) # =20 [Sources] diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverr= ideDxe.inf b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverr= ideDxe.inf index 4225fb92c3..97cf45d530 100644 --- a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.= inf +++ b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.= inf @@ -43,7 +43,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf b/MdeModulePkg/Un= iversal/PrintDxe/PrintDxe.inf index 19eef5a8a8..beeef73887 100644 --- a/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf +++ b/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/Properties= TableAttributesDxe.inf b/MdeModulePkg/Universal/PropertiesTableAttributesDx= e/PropertiesTableAttributesDxe.inf index 3f699f6b5a..43247a3eec 100644 --- a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAt= tributesDxe.inf +++ b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAt= tributesDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionD= xe.inf b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.i= nf index d4d9a83992..f649e7e7c4 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf +++ b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf @@ -78,8 +78,6 @@ MSFT:RELEASE_*_IA32_CC_FLAGS =3D=3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR- /GF=20 MSFT:DEBUG_*_X64_CC_FLAGS =3D=3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2s /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /X=20 MSFT:RELEASE_*_X64_CC_FLAGS =3D=3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2s /FIAutoGen.h /EHs-c- /GR- /GF /Gy /X=20 - MSFT:DEBUG_*_IPF_CC_FLAGS =3D=3D /nologo /c /WX /GS- /W4 /EHs-c- /GR-= /Gy /Os /FIAutoGen.h /QIPF_fr32 /Zi /X=20 - MSFT:RELEASE_*_IPF_CC_FLAGS =3D=3D /nologo /c /WX /GS- /W4 /EHs-c- /GR-= /Gy /Os /FIAutoGen.h /QIPF_fr32 /X=20 INTEL:*_*_*_CC_FLAGS =3D /Oi- =20 # Oniguruma: potentially uninitialized local variable used diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatus= CodeRouterPei.inf b/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/Repor= tStatusCodeRouterPei.inf index a3de382d00..cf2b0e88af 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRou= terPei.inf +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRou= terPei.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is only for bui= ld) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is only for build) # =20 [Sources] diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/Repor= tStatusCodeRouterRuntimeDxe.inf b/MdeModulePkg/Universal/ReportStatusCodeRo= uter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf index 0445d94340..f71a27458b 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus= CodeRouterRuntimeDxe.inf +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus= CodeRouterRuntimeDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/SectionExtractionPei/SectionExtractionP= ei.inf b/MdeModulePkg/Universal/SectionExtractionPei/SectionExtractionPei.i= nf index 912031a27b..0d6bb5cdc6 100644 --- a/MdeModulePkg/Universal/SectionExtractionPei/SectionExtractionPei.inf +++ b/MdeModulePkg/Universal/SectionExtractionPei/SectionExtractionPei.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf b/M= deModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf index c5553a38e0..b6f6fb282b 100644 --- a/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf +++ b/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf @@ -24,7 +24,7 @@ =20 =20 # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf b/M= deModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf index f7b53ea1d2..bbb6020707 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf +++ b/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf b/MdeModulePkg/= Universal/SmbiosDxe/SmbiosDxe.inf index 4fd6b97b42..79fe23fa55 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # =20 [Sources] diff --git a/MdeModulePkg/Universal/SmbiosMeasurementDxe/SmbiosMeasurementD= xe.inf b/MdeModulePkg/Universal/SmbiosMeasurementDxe/SmbiosMeasurementDxe.i= nf index 5d3aa67f7c..d20ada6d3a 100644 --- a/MdeModulePkg/Universal/SmbiosMeasurementDxe/SmbiosMeasurementDxe.inf +++ b/MdeModulePkg/Universal/SmbiosMeasurementDxe/SmbiosMeasurementDxe.inf @@ -35,7 +35,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 # =20 [Sources] diff --git a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandler= Pei.inf b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei= .inf index 7c4faa360e..2ba56701e6 100644 --- a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf +++ b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is only for bui= ld) +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is only for build) # =20 [Sources] diff --git a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCode= HandlerRuntimeDxe.inf b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe= /StatusCodeHandlerRuntimeDxe.inf index 637804f5de..145cf8d409 100644 --- a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler= RuntimeDxe.inf +++ b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler= RuntimeDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/TimestampDxe/TimestampDxe.inf b/MdeModu= lePkg/Universal/TimestampDxe/TimestampDxe.inf index f71d5262ea..730f19bd59 100644 --- a/MdeModulePkg/Universal/TimestampDxe/TimestampDxe.inf +++ b/MdeModulePkg/Universal/TimestampDxe/TimestampDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Packages] diff --git a/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf b/MdeModul= ePkg/Universal/Variable/Pei/VariablePei.inf index 72a440dcd1..6944f85b0e 100644 --- a/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf +++ b/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Sources] diff --git a/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf b/Md= eModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf index bde84574b9..a16af84dba 100644 --- a/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf +++ b/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC +# VALID_ARCHITECTURES =3D IA32 X64 EBC # =20 [Packages] @@ -53,4 +53,4 @@ # =20 [UserExtensions.TianoCore."ExtraFiles"] - WatchdogTimerExtra.uni \ No newline at end of file + WatchdogTimerExtra.uni --=20 2.16.2.windows.1