From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=chen.a.chen@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 004BD203BA4F0 for ; Sun, 8 Jul 2018 23:03:40 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jul 2018 23:03:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,329,1526367600"; d="scan'208";a="53573671" Received: from chenche4.ccr.corp.intel.com ([10.239.9.7]) by fmsmga008.fm.intel.com with ESMTP; 08 Jul 2018 23:03:38 -0700 From: Chen A Chen To: edk2-devel@lists.01.org Cc: Chen A Chen , Star Zeng , Eric Dong , Michael D Kinney Date: Mon, 9 Jul 2018 14:03:29 +0800 Message-Id: <20180709060331.12052-2-chen.a.chen@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: <20180709060331.12052-1-chen.a.chen@intel.com> References: <20180709060331.12052-1-chen.a.chen@intel.com> Subject: [PATCH V2 2/4] MdeModulePkg: Removing ipf which is no longer supported from edk2. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jul 2018 06:03:41 -0000 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 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen --- .../BootManagerMenuApp/BootManagerMenuApp.inf | 2 +- MdeModulePkg/Application/HelloWorld/HelloWorld.inf | 4 +- .../MemoryProfileInfo/MemoryProfileInfo.inf | 4 +- MdeModulePkg/Application/UiApp/UiApp.inf | 2 +- .../Application/VariableInfo/VariableInfo.inf | 4 +- .../Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf | 2 +- MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf | 4 +- MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf | 4 +- MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf | 4 +- MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf | 4 +- MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf | 2 +- .../Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf | 4 +- MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf | 4 +- MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf | 2 +- MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf | 2 +- MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf | 4 +- .../IncompatiblePciDeviceSupportDxe.inf | 2 +- .../Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf | 2 +- MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf | 2 +- .../Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf | 4 +- .../Pci/SataControllerDxe/SataControllerDxe.inf | 2 +- .../Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf | 4 +- .../Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf | 2 +- MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf | 2 +- MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf | 2 +- MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf | 2 +- MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf | 4 +- MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf | 2 +- MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf | 4 +- MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf | 2 +- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf | 2 +- .../Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf | 4 +- MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf | 4 +- MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf | 4 +- MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf | 4 +- .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf | 4 +- .../Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf | 2 +- MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf | 4 +- 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 | 2 +- MdeModulePkg/Include/Guid/VariableFormat.h | 7 +- .../BasePlatformHookLibNull.inf | 4 +- .../BaseResetSystemLibNull.inf | 4 +- MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf | 4 +- MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf | 2 +- .../BootMaintenanceManagerUiLib.inf | 2 +- .../Library/BootManagerUiLib/BootManagerUiLib.inf | 2 +- .../CpuExceptionHandlerLibNull.inf | 4 +- .../CustomizedDisplayLib/CustomizedDisplayLib.inf | 2 +- .../DebugAgentLibNull/DebugAgentLibNull.inf | 4 +- .../DeviceManagerUiLib/DeviceManagerUiLib.inf | 2 +- .../DisplayUpdateProgressLibGraphics.inf | 2 +- .../DisplayUpdateProgressLibText.inf | 2 +- .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | 2 +- .../DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | 2 +- .../DxeCapsuleLibNull/DxeCapsuleLibNull.inf | 4 +- .../DxeCoreMemoryAllocationLib.inf | 4 +- .../DxeCoreMemoryAllocationProfileLib.inf | 4 +- .../DxeCorePerformanceLib.inf | 2 +- .../DxeCrc32GuidedSectionExtractLib.inf | 4 +- .../DxeDebugPrintErrorLevelLib.inf | 4 +- MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf | 6 +- .../DxeFileExplorerProtocol.inf | 2 +- MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf | 4 +- MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf | 6 +- MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf | 4 +- .../DxePerformanceLib/DxePerformanceLib.inf | 4 +- .../DxePrintLibPrint2Protocol.inf | 4 +- .../DxeReportStatusCodeLib.inf | 6 +- .../DxeResetSystemLib/DxeResetSystemLib.inf | 2 +- .../DxeSecurityManagementLib.inf | 4 +- MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf | 4 +- MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf | 4 +- .../Library/FileExplorerLib/FileExplorerLib.inf | 2 +- .../FmpAuthenticationLibNull.inf | 4 +- .../LzmaCustomDecompressLib.inf | 4 +- .../OemHookStatusCodeLibNull.inf | 2 +- .../PciHostBridgeLibNull/PciHostBridgeLibNull.inf | 4 +- .../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 | 6 +- .../PlatformHookLibSerialPortPpi.inf | 6 +- .../PlatformVarCleanupLib.inf | 4 +- .../RuntimeDxeReportStatusCodeLib.inf | 4 +- .../TpmMeasurementLibNull.inf | 6 +- .../UefiBootManagerLib/UefiBootManagerLib.inf | 2 +- MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf | 6 +- .../UefiHiiServicesLib/UefiHiiServicesLib.inf | 4 +- .../UefiMemoryAllocationProfileLib.inf | 6 +- MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf | 4 +- MdeModulePkg/Logo/Logo.inf | 4 +- MdeModulePkg/MdeModulePkg.dsc | 10 +- .../Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf | 2 +- .../Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf | 2 +- .../BootGraphicsResourceTableDxe.inf | 2 +- .../FirmwarePerformanceDxe.inf | 2 +- .../FirmwarePerformancePei.inf | 2 +- .../Acpi/S3SaveStateDxe/S3SaveStateDxe.inf | 2 +- .../Acpi/SmmS3SaveState/SmmS3SaveState.inf | 2 +- MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 2 +- .../BootManagerPolicyDxe/BootManagerPolicyDxe.inf | 2 +- MdeModulePkg/Universal/CapsulePei/CapsulePei.inf | 2 +- .../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 6 +- .../Console/ConPlatformDxe/ConPlatformDxe.inf | 2 +- .../Console/ConSplitterDxe/ConSplitterDxe.inf | 2 +- .../GraphicsConsoleDxe/GraphicsConsoleDxe.inf | 2 +- .../Universal/Console/TerminalDxe/TerminalDxe.inf | 4 +- .../Universal/DebugPortDxe/DebugPortDxe.inf | 4 +- .../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 | 3 +- .../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 | 4 +- 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 | 4 +- .../Universal/FileExplorerDxe/FileExplorerDxe.inf | 2 +- .../Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf | 2 +- .../HiiResourcesSampleDxe.inf | 2 +- .../LegacyRegion2Dxe/LegacyRegion2Dxe.inf | 2 +- .../Universal/LoadFileOnFv2/LoadFileOnFv2.inf | 4 +- .../GenericMemoryTestDxe/GenericMemoryTestDxe.inf | 4 +- .../NullMemoryTestDxe/NullMemoryTestDxe.inf | 2 +- MdeModulePkg/Universal/Metronome/Metronome.inf | 2 +- .../MonotonicCounterRuntimeDxe.inf | 4 +- MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf | 2 +- .../Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf | 2 +- MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf | 4 +- .../Universal/Network/IScsiDxe/IScsiDxe.inf | 2 +- 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 | 4 +- MdeModulePkg/Universal/PCD/Dxe/Pcd.inf | 2 +- MdeModulePkg/Universal/PCD/Pei/Pcd.inf | 2 +- .../PcatSingleSegmentPciCfg2Pei.inf | 4 +- .../PlatformDriOverrideDxe.inf | 2 +- MdeModulePkg/Universal/PrintDxe/PrintDxe.inf | 4 +- .../PropertiesTableAttributesDxe.inf | 4 +- .../RegularExpressionDxe/RegularExpressionDxe.inf | 11 +- .../Pei/ReportStatusCodeRouterPei.inf | 4 +- .../ReportStatusCodeRouterRuntimeDxe.inf | 2 +- .../SectionExtractionPei/SectionExtractionPei.inf | 2 +- .../Universal/SecurityStubDxe/SecurityStubDxe.inf | 4 +- .../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 | 4 +- .../Universal/WatchdogTimerDxe/WatchdogTimer.inf | 2 +- 186 files changed, 263 insertions(+), 3789 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/PlDebugSupport.c delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.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 3dc1bab9a0..b10da3742e 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Application/HelloWorld/HelloWorld.inf b/MdeModulePkg/Application/HelloWorld/HelloWorld.inf index 1cfed2d85c..d5cd9d4855 100644 --- a/MdeModulePkg/Application/HelloWorld/HelloWorld.inf +++ b/MdeModulePkg/Application/HelloWorld/HelloWorld.inf @@ -6,7 +6,7 @@ # # It demos how to use EDKII PCD mechanism to make code more flexible. # -# Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2008 - 2018, 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 @@ -35,7 +35,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf index 4bb7a9df1d..96b9dac0c7 100644 --- a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf +++ b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.inf @@ -4,7 +4,7 @@ # Note that if the feature is not enabled by setting PcdMemoryProfilePropertyMask, # the application will not display memory profile information. # -# Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2014 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Application/UiApp/UiApp.inf b/MdeModulePkg/Application/UiApp/UiApp.inf index 417f1a3ec9..66372befbf 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Application/VariableInfo/VariableInfo.inf b/MdeModulePkg/Application/VariableInfo/VariableInfo.inf index 484ad32a4e..762e776e2d 100644 --- a/MdeModulePkg/Application/VariableInfo/VariableInfo.inf +++ b/MdeModulePkg/Application/VariableInfo/VariableInfo.inf @@ -6,7 +6,7 @@ # Note that if Variable Dxe/Smm driver doesn't enable the feature by setting PcdVariableCollectStatistics # as TRUE, the application will not display variable statistical information. # -# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf index 74e62649ce..1c8d144bbd 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gAtaAtapiPassThruDriverBinding # COMPONENT_NAME = gAtaAtapiPassThruComponentName diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf index 4aab75bab7..446c2f9dee 100644 --- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf +++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf @@ -5,7 +5,7 @@ # in UEFI spec 2.2. It installs Block IO and Disk Info protocol for each ATA device # it enumerates and identifies successfully. # -# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gAtaBusDriverBinding # COMPONENT_NAME = gAtaBusComponentName diff --git a/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf b/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf index 4dbe2f5e68..bce3b521e3 100644 --- a/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf +++ b/MdeModulePkg/Bus/I2c/I2cDxe/I2cBusDxe.inf @@ -1,7 +1,7 @@ ## @file # This driver enumerates I2C devices on I2C bus and produce I2C IO Protocol on I2C devices. # -# Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2013 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf b/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf index 5cd53b2fc4..feab323360 100644 --- a/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf +++ b/MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf @@ -4,7 +4,7 @@ # This driver produce I2C Host Protocol on I2C controller handle, enumerate I2C # devices on I2C bus and produce I2C IO Protocol on I2C devices. # -# Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2013 - 2018, 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 @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf b/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf index 2fb1085c6d..c40bf7d909 100644 --- a/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf +++ b/MdeModulePkg/Bus/I2c/I2cDxe/I2cHostDxe.inf @@ -1,7 +1,7 @@ ## @file # This driver produce I2C Host Protocol on I2C controller handle. # -# Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2013 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf b/MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf index b257e99dba..464720b1f9 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gIsaBusDriverBinding # COMPONENT_NAME = gIsaBusComponentName diff --git a/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf b/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf index a0172eabf8..8b6847eeac 100644 --- a/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf +++ b/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf @@ -4,7 +4,7 @@ # Ps2 Keyboard Driver for UEFI. The keyboard type implemented follows IBM # compatible PS2 protocol using Scan Code Set 1. # -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -27,7 +27,7 @@ ENTRY_POINT = InitializePs2Keyboard # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # DRIVER_BINDING = gKeyboardControllerDriver; # COMPONENT_NAME = gPs2KeyboardComponentName; # COMPONENT_NAME2 = gPs2KeyboardComponentName2; diff --git a/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf b/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf index 2c7688a051..a631aaad2e 100644 --- a/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf +++ b/MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf @@ -3,7 +3,7 @@ # # This dirver provides support for PS2 based mice. # -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -26,7 +26,7 @@ ENTRY_POINT = InitializePs2Mouse # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # DRIVER_BINDING = gPS2MouseDriver; # COMPONENT_NAME = gPs2MouseComponentName; # COMPONENT_NAME2 = gPs2MouseComponentName2; diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf b/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf index bc6bd4ce29..d1db212002 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = gEhciDriverBinding # COMPONENT_NAME = gEhciComponentName diff --git a/MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf b/MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf index 74c13db1c1..4fa3213479 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf b/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf index 8bcef7bc6a..3686b43af4 100644 --- a/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf +++ b/MdeModulePkg/Bus/Pci/IdeBusPei/IdeBusPei.inf @@ -4,7 +4,7 @@ # for Atapi CD ROM device. # # This module discovers CDROM devices in Legacy and native mode and installs block IO ppis for them. -# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupportDxe.inf b/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupportDxe.inf index fa3e012cc7..6bc5f9fcbf 100644 --- a/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupportDxe.inf +++ b/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupportDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf index bfb783205c..aca625b3b0 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gNvmExpressDriverBinding # COMPONENT_NAME = gNvmExpressComponentName diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf b/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf index a21dd2b5ed..82233e0c7b 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = gPciBusDriverBinding # COMPONENT_NAME = gPciBusComponentName diff --git a/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf b/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf index 03fddfe75e..461f2bf5d4 100644 --- a/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf +++ b/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf @@ -3,7 +3,7 @@ # # Produces the Serial I/O protocol for standard UARTS using Super I/O or PCI I/O. # -# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, 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 @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gSerialControllerDriver # COMPONENT_NAME = gPciSioSerialComponentName diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf index 4fcb9678aa..51d95da346 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = gSataControllerDriverBinding # COMPONENT_NAME = gSataControllerComponentName diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf index 154ce45d82..b0425e9886 100644 --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf @@ -5,7 +5,7 @@ # It will produce EFI_SD_MMC_PASS_THRU_PROTOCOL to allow sending SD/MMC/eMMC cmds # to specified devices from upper layer. # -# Copyright (c) 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gSdMmcPciHcDxeDriverBinding # COMPONENT_NAME = gSdMmcPciHcDxeComponentName diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf b/MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf index 51675f5bfb..261fc1191a 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf b/MdeModulePkg/Bus/Pci/UfsPciHcDxe/UfsPciHcDxe.inf index 525235635a..aa9c11f51b 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUfsHcDriverBinding # COMPONENT_NAME = gUfsHcComponentName diff --git a/MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf b/MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.inf index 3535da17f0..75029183ab 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf b/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf index 5dccd3b22e..e6eb351ead 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = gUhciDriverBinding # COMPONENT_NAME = gUhciComponentName diff --git a/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf b/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf index 95ddea2162..1995d73984 100644 --- a/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf +++ b/MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf @@ -4,7 +4,7 @@ # It produces gPeiUsbHostControllerPpiGuid based on gPeiUsbControllerPpiGuid which is used # to enable recovery function from USB Drivers. # -# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf b/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf index 9bdabd10bc..4f9025b724 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = gXhciDriverBinding # COMPONENT_NAME = gXhciComponentName diff --git a/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf b/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf index f307ea7646..c6c48f7349 100644 --- a/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf +++ b/MdeModulePkg/Bus/Pci/XhciPei/XhciPei.inf @@ -4,7 +4,7 @@ # It produces gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid # which is used to enable recovery function from USB Drivers. # -# Copyright (c) 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf b/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf index abcd267668..fb1ef3a8f5 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gSCSIBusDriverBinding # COMPONENT_NAME = gScsiBusComponentName diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf index 397d314272..ffe9ee9dad 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gScsiDiskDriverBinding # COMPONENT_NAME = gScsiDiskComponentName diff --git a/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf b/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf index b4127b791d..86c3631c82 100644 --- a/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf +++ b/MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf @@ -1,7 +1,7 @@ ## @file # Description file for the Embedded MMC (eMMC) Peim driver. # -# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf b/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf index 3f27bdbcaf..b7e38098e6 100644 --- a/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf +++ b/MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf @@ -4,7 +4,7 @@ # It produces BlockIo, BlockIo2 and StorageSecurity protocols to allow upper layer # access the EMMC device. # -# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gEmmcDxeDriverBinding # COMPONENT_NAME = gEmmcDxeComponentName diff --git a/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf b/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf index 1530f1efdb..0a31661aed 100644 --- a/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf +++ b/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.inf @@ -1,7 +1,7 @@ ## @file # Description file for the SD memory card Peim driver. # -# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf b/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf index a763314275..1ce801ffcb 100644 --- a/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf +++ b/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf @@ -4,7 +4,7 @@ # It produces BlockIo and BlockIo2 protocols to allow upper layer # access the SD memory card device. # -# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gSdDxeDriverBinding # COMPONENT_NAME = gSdDxeComponentName diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf index 28daf67ffc..daa8b6b573 100644 --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.inf @@ -1,7 +1,7 @@ ## @file # Description file for the Universal Flash Storage (UFS) Peim driver. # -# Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2014 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf b/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf index 93b6424020..a8a3f7c4c5 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUfsPassThruDriverBinding # COMPONENT_NAME = gUfsPassThruComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf b/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf index 977bef5c8b..1cd8286ad3 100644 --- a/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf +++ b/MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf @@ -1,7 +1,7 @@ ## @file # The Usb mass storage device Peim driver is used to support recovery from USB device. # -# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions @@ -27,7 +27,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf index 30d59adb34..e9baefdcff 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = mUsbBusDriverBinding # COMPONENT_NAME = mUsbBusComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf b/MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf index 0d81bf8dc2..8781adc6a8 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf b/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf index 41f0d9ab9b..b994ea3e24 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # # DRIVER_BINDING = gUsbKeyboardDriverBinding # COMPONENT_NAME = gUsbKeyboardComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf index 1fdd43443f..91953b35bc 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUSBMassDriverBinding # COMPONENT_NAME = gUsbMassStorageComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf b/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf index 10e74b9783..aacd8fe3fe 100644 --- a/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf +++ b/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUsbMouseAbsolutePointerDriverBinding # COMPONENT_NAME = gUsbMouseAbsolutePointerComponentName diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf index 5bea024d20..6da3debb96 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUsbMouseDriverBinding # COMPONENT_NAME = gUsbMouseComponentName diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeMain.inf index 68fa0a01d9..404f924764 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 = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf index 7deeb8f270..2ea429c215 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 = IA32 X64 IPF EBC (EBC is for build only) AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64 # [Sources] @@ -49,9 +49,6 @@ X64/VirtualMemory.c X64/DxeLoadFunc.c -[Sources.IPF] - Ipf/DxeLoadFunc.c - [Sources.EBC] Ebc/DxeLoadFunc.c 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 IMPLIED. - -**/ - -#include "DxeIpl.h" - - - -/** - Transfers control to DxeCore. - - This function performs a CPU architecture specific operations to execute - 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 = AllocatePages (EFI_SIZE_TO_PAGES (STACK_SIZE)); - ASSERT (BaseOfStack != NULL); - - // - // Allocate 16KB for the BspStore - // - BspStore = AllocatePages (EFI_SIZE_TO_PAGES (BSP_STORE_SIZE)); - ASSERT (BspStore != NULL); - // - // Build BspStoreHob - // - BuildBspStoreHob ((EFI_PHYSICAL_ADDRESS) (UINTN) BspStore, BSP_STORE_SIZE, EfiBootServicesData); - - // - // Compute the top of the stack we were allocated. Pre-allocate a UINTN - // for safety. - // - TopOfStack = (VOID *) ((UINTN) BaseOfStack + EFI_SIZE_TO_PAGES (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT); - TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT); - - // - // End of PEI phase signal - // - Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi); - ASSERT_EFI_ERROR (Status); - - // - // Update the contents of BSP stack HOB to reflect the real stack info passed 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/PeiMain.inf index 2fb01958e5..18f46e1bd4 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 = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf b/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf index d66c8b9f09..980efad3dd 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Include/Guid/VariableFormat.h b/MdeModulePkg/Include/Guid/VariableFormat.h index b0c2616c4d..52214f1b6c 100644 --- a/MdeModulePkg/Include/Guid/VariableFormat.h +++ b/MdeModulePkg/Include/Guid/VariableFormat.h @@ -2,7 +2,7 @@ The variable data structures are related to EDK II-specific implementation of UEFI variables. VariableFormat.h defines variable data headers and variable storage region headers. -Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2018, 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 that accompanies this distribution. The full text of the license may be found at @@ -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 // // GET_PAD_SIZE calculates the miminal pad bytes needed to make the current pad size satisfy the alignment requirement. diff --git a/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf b/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf index 6d5195576f..7a004005f0 100644 --- a/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf +++ b/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf @@ -1,7 +1,7 @@ ## @file # Null Platform Hook Library instance. # -# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2018, 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 @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf index 96e0ebb212..b744b0767f 100644 --- a/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf +++ b/MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf @@ -1,7 +1,7 @@ ## @file # Null Reset System Library instance that only generates ASSERT() conditions. # -# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, 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 @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf b/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf index 4b493f4eb6..d9b781cbe1 100644 --- a/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf +++ b/MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf @@ -1,7 +1,7 @@ ## @file # Library used for sorting routines. # -# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -23,7 +23,7 @@ LIBRARY_CLASS = SortLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION UEFI_DRIVER # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf index a2afc9e089..310254510d 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf index aad9d7678e..d23f71ff28 100644 --- a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf +++ b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf b/MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf index f6fc074b9d..5ae0f174b6 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf b/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf index c79c5a76ee..4dbbe410d5 100644 --- a/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf +++ b/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf @@ -1,7 +1,7 @@ ## @file # Null instance of CPU Exception Handler Library with empty functions. # -# Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2012 - 2018, 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 @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf b/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf index 4b1f6b4404..6ce2e59957 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf index ce1eab2623..8318f1e4ca 100644 --- a/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf +++ b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf @@ -1,7 +1,7 @@ ## @file # Null instance of Debug Agent Library with empty functions. # -# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2018, 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 @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf index d493b37baa..2e61a3debd 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf b/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf index ada6076770..6ba073f21f 100644 --- a/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf +++ b/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf @@ -37,7 +37,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf b/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf index c3134439e4..df8624a77e 100644 --- a/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf +++ b/MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf @@ -37,7 +37,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf index 8367264f76..74f23f97ff 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf index 342df9e99c..5a80cbef3f 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf b/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf index b836607aae..42cb306655 100644 --- a/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf +++ b/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf @@ -2,7 +2,7 @@ # NULL Dxe Capsule library instance. # It can make core modules pass package level build. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf index caba8cd4a4..a7df08b520 100644 --- a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf +++ b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf @@ -4,7 +4,7 @@ # for memory allocation instead of using UEFI boot services in an indirect way. # It is assumed that this library instance must be linked with DxeCore in this package. # -# Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2008 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationProfileLib.inf b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationProfileLib.inf index a2b5f8c102..823ca7127d 100644 --- a/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationProfileLib.inf +++ b/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationProfileLib.inf @@ -4,7 +4,7 @@ # for memory allocation/profile instead of using UEFI boot services or memory profile protocol in an indirect way. # It is assumed that this library instance must be linked with DxeCore in this package. # -# Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2008 - 2018, 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 @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf index 8fab47ff02..e19a74bbe6 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf b/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf index 7a8efbf8cf..176d9d984a 100644 --- a/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf +++ b/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf @@ -25,14 +25,14 @@ FILE_GUID = 387A2490-81FC-4E7C-8E0A-3E58C30FCD0B MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = NULL|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = NULL|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = DxeCrc32GuidedSectionExtractLibConstructor # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLevelLib.inf b/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLevelLib.inf index 69a41f40c7..47f8681f2f 100644 --- a/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLevelLib.inf +++ b/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLevelLib.inf @@ -22,12 +22,12 @@ FILE_GUID = 1D564EC9-9373-49a4-9E3F-E4D7B9974C84 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = DebugPrintErrorLevelLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = DebugPrintErrorLevelLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = DxeDebugPrintErrorLevelLibConstructor DESTRUCTOR = DxeDebugPrintErrorLevelLibDestructor # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf b/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf index d541acd5a9..091f0a0465 100644 --- a/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf +++ b/MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf @@ -1,7 +1,7 @@ ## @file # This library instance provides DPC service by consuming EFI DPC Protocol. # -# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, 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 @@ -19,13 +19,13 @@ FILE_GUID = 38897D86-FF36-4472-AE64-1DB9AE715C81 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = DpcLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = DpcLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = DpcLibConstructor # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerProtocol.inf b/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerProtocol.inf index 9db58cb8f6..bfa18d7bdd 100644 --- a/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerProtocol.inf +++ b/MdeModulePkg/Library/DxeFileExplorerProtocol/DxeFileExplorerProtocol.inf @@ -20,7 +20,7 @@ FILE_GUID = 6806C45F-13C4-4274-B8A3-055EF641A060 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = FileExplorerLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = FileExplorerLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = FileExplorerConstructor [Sources] diff --git a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf index d6d5391b3a..dbcb67f9ab 100644 --- a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf +++ b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf @@ -21,12 +21,12 @@ FILE_GUID = ABBAB4CD-EA88-45b9-8234-C8A7450531FC MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = HttpLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = HttpLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf b/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf index 086c74d1f1..c8e7a516a9 100644 --- a/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf +++ b/MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf @@ -1,7 +1,7 @@ ## @file # This library instance provides IP services upon EFI IPv4/IPv6 Protocols. # -# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -20,12 +20,12 @@ FILE_GUID = A302F877-8625-425c-B1EC-7487B62C4FDA MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = IpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = IpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf b/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf index c31a04bb72..290b865e09 100644 --- a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf +++ b/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf @@ -21,12 +21,12 @@ FILE_GUID = db6dcef3-9f4e-4340-9351-fc35aa8a5888 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = NetLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = NetLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf b/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf index d9c7e833b5..3f10a4234f 100644 --- a/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf +++ b/MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf @@ -24,12 +24,12 @@ FILE_GUID = 8B8B4CCC-65FC-41a5-8067-308B8E42CCF2 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = PerformanceLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = PerformanceLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf b/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf index 1cda2dc5cf..e1b05986ca 100644 --- a/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf +++ b/MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf @@ -1,7 +1,7 @@ ## @file # Library instance that implements Print Library class based on protocol gEfiPrint2ProtocolGuid. # -# Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -20,7 +20,7 @@ FILE_GUID = 55D460DB-8FEA-415a-B95D-70145AE0675C MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = PrintLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = PrintLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = PrintLibConstructor [Sources] diff --git a/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf b/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf index 962cf8b05b..d833b667e5 100644 --- a/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf +++ b/MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf @@ -3,7 +3,7 @@ # # Retrieve status code and report status code in DXE phase. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -22,12 +22,12 @@ FILE_GUID = EBF144C8-70F5-4e09-ADE2-F41F5C59AFDA MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = ReportStatusCodeLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE + LIBRARY_CLASS = ReportStatusCodeLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf b/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf index 5cd52d8859..be1a01518f 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf b/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf index 41d8ff8fd1..023b7fd88d 100644 --- a/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf +++ b/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf @@ -22,12 +22,12 @@ FILE_GUID = 7F61122C-19DF-47c3-BA0D-6C1149E30FA1 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = SecurityManagementLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = SecurityManagementLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf b/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf index 2dc74a73e2..78465d5826 100644 --- a/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf +++ b/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf @@ -20,12 +20,12 @@ FILE_GUID = D4608509-1AB0-4cc7-827A-AB8E1E7BD3E6 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = TcpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = TcpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf b/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf index 3e541ee6ee..3a10a7945d 100644 --- a/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf +++ b/MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf @@ -20,12 +20,12 @@ FILE_GUID = 7E615AA1-41EE-49d4-B7E9-1D7A60AA5C8D MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = UdpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = UdpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf b/MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf index 5d9822d95f..d5a4732dd3 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf b/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf index f9b87ca53a..5c4e9d0958 100644 --- a/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf +++ b/MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf @@ -3,7 +3,7 @@ # # NULL Instance of FmpAuthentication Library. # -# Copyright (c) 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2016 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf b/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf index 127c7ded86..9d3a51a383 100644 --- a/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf +++ b/MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf @@ -5,7 +5,7 @@ # LZMA SDK 16.04 was placed in the public domain on 2016-10-04. # It was released on the http://www.7-zip.org/sdk.html website. # -# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf b/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf index 34555761a0..1d49f5e379 100644 --- a/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf +++ b/MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf b/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf index 8df14924ad..42da8d93c1 100644 --- a/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf +++ b/MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf @@ -1,7 +1,7 @@ ## @file # Null instance of PCI Host Bridge Library with empty functions. # -# Copyright (c) 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2016 - 2018, 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 @@ -27,7 +27,7 @@ # The following information is for reference only and not required by the build # tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32GuidedSectionExtractLib.inf b/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32GuidedSectionExtractLib.inf index c1d6f27992..eaa2f2c931 100644 --- a/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32GuidedSectionExtractLib.inf +++ b/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib/PeiCrc32GuidedSectionExtractLib.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf b/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf index 12a063f5b8..8d98982aed 100644 --- a/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf +++ b/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf @@ -21,12 +21,12 @@ FILE_GUID = bda39d3a-451b-4350-8266-81ab10fa0523 MODULE_TYPE = PEIM VERSION_STRING = 1.0 - LIBRARY_CLASS = DebugLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = DebugLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATION UEFI_DRIVER # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf index cad3a120a2..96bc613949 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 = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf b/MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf index 70c9a88491..a2b26855fb 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 = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf b/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf index 5b1df7e2bb..e1b89792ab 100644 --- a/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf +++ b/MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf b/MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf index b1b9388c63..3d930e5d21 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf b/MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf index f408d7f528..10525b0502 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 = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf b/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf index 0feff36612..f66e46e58e 100644 --- a/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf +++ b/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf @@ -1,7 +1,7 @@ ## @file # DXE S3 boot script Library. # -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -20,7 +20,7 @@ FILE_GUID = 57F9967B-26CD-4262-837A-55B8AA158254 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = S3BootScriptLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION + LIBRARY_CLASS = S3BootScriptLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER UEFI_APPLICATION CONSTRUCTOR = S3BootScriptLibInitialize @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSerialPortPpi.inf b/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSerialPortPpi.inf index d577506b26..10be353742 100644 --- a/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSerialPortPpi.inf +++ b/MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSerialPortPpi.inf @@ -1,7 +1,7 @@ ## @file # Null Platform Hook Library instance with dependency on gPeiSerialPortPpiGuid # -# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2018, 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 @@ -18,13 +18,13 @@ FILE_GUID = 621734D8-8B5E-4c01-B330-9F89A1081710 MODULE_TYPE = PEIM VERSION_STRING = 1.0 - LIBRARY_CLASS = PlatformHookLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = PlatformHookLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATION UEFI_DRIVER MODULE_UNI_FILE = PlatformHookLibSerialPortPpi.uni # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.inf b/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.inf index 6e7fcb6a5c..26b99c178e 100644 --- a/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.inf +++ b/MdeModulePkg/Library/PlatformVarCleanupLib/PlatformVarCleanupLib.inf @@ -1,7 +1,7 @@ ## @file # Sample platform variable cleanup library instance. # -# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions @@ -21,7 +21,7 @@ FILE_GUID = 9C9623EB-4EF3-44e0-A931-F3A340D1A0F9 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = PlatformVarCleanupLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = PlatformVarCleanupLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = PlatformVarCleanupLibConstructor DESTRUCTOR = PlatformVarCleanupLibDestructor diff --git a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf index 9f03e2a1ed..e350e1b577 100644 --- a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf +++ b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf @@ -20,13 +20,13 @@ FILE_GUID = 07D25BBB-F832-41bb-BBA0-612E9F033067 MODULE_TYPE = DXE_RUNTIME_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = ReportStatusCodeLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER + LIBRARY_CLASS = ReportStatusCodeLib|DXE_RUNTIME_DRIVER CONSTRUCTOR = ReportStatusCodeLibConstructor DESTRUCTOR = ReportStatusCodeLibDestructor # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf index fef783a4f9..5e82b85656 100644 --- a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf +++ b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf @@ -1,7 +1,7 @@ ## @file # Provides NULL TPM measurement function. # -# Copyright (c) 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -17,13 +17,13 @@ FILE_GUID = 6DFD6E9F-9278-48D8-8F45-B6CFF2C2B69C MODULE_TYPE = UEFI_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = TpmMeasurementLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = TpmMeasurementLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER MODULE_UNI_FILE = TpmMeasurementLibNull.uni # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF +# VALID_ARCHITECTURES = IA32 X64 # [Sources] diff --git a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf index 72c5ca1cd5..408410872d 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf b/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf index 7ee68428a1..44076dfcbd 100644 --- a/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf +++ b/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf @@ -1,7 +1,7 @@ ## @file # HII Library implementation using UEFI HII protocols and services. # -# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -21,10 +21,10 @@ FILE_GUID = 3143687A-7C80-404e-B5FE-2D88980E1B1C MODULE_TYPE = UEFI_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf b/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf index fba1d6620e..8aee50527a 100644 --- a/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf +++ b/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf @@ -20,12 +20,12 @@ FILE_GUID = 894DC1B6-07A3-4a9d-8CDD-333580B3D4B1 MODULE_TYPE = UEFI_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = UefiHiiServicesLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = UefiHiiServicesLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = UefiHiiServicesLibConstructor # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemoryAllocationProfileLib.inf b/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemoryAllocationProfileLib.inf index c4954efb04..e7630209b0 100644 --- a/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemoryAllocationProfileLib.inf +++ b/MdeModulePkg/Library/UefiMemoryAllocationProfileLib/UefiMemoryAllocationProfileLib.inf @@ -27,12 +27,12 @@ FILE_GUID = 9E8A380A-231E-41E4-AD40-5E706196B853 MODULE_TYPE = UEFI_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = MemoryAllocationLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - LIBRARY_CLASS = MemoryProfileLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = MemoryAllocationLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + LIBRARY_CLASS = MemoryProfileLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER CONSTRUCTOR = MemoryProfileLibConstructor # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf b/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf index 4c3d5e0545..ddfeca3a4b 100644 --- a/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf +++ b/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf @@ -1,7 +1,7 @@ ## @file # Library used for sorting routines. # -# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -23,7 +23,7 @@ LIBRARY_CLASS = SortLib|UEFI_APPLICATION UEFI_DRIVER UEFI_DRIVER DXE_RUNTIME_DRIVER DXE_DRIVER # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources.common] diff --git a/MdeModulePkg/Logo/Logo.inf b/MdeModulePkg/Logo/Logo.inf index e2e61c82c5..1a30fed80c 100644 --- a/MdeModulePkg/Logo/Logo.inf +++ b/MdeModulePkg/Logo/Logo.inf @@ -1,7 +1,7 @@ ## @file # The default logo bitmap picture shown on setup screen, which is corresponding to gEfiDefaultBmpLogoGuid. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -24,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # [Binaries] diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index bb7744894a..b65ff5f4e6 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -20,7 +20,7 @@ PLATFORM_VERSION = 0.98 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/MdeModule - SUPPORTED_ARCHITECTURES = IA32|IPF|X64|EBC|ARM|AARCH64 + SUPPORTED_ARCHITECTURES = IA32|X64|EBC|ARM|AARCH64 BUILD_TARGETS = DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER = DEFAULT @@ -79,7 +79,6 @@ SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf - PalLib|MdePkg/Library/BasePalLibNull/BasePalLibNull.inf CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf # @@ -202,9 +201,6 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x0 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|28 -[PcdsFixedAtBuild.IPF] - gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000 - ################################################################################################### # # Components Section - list of the modules and components that will be processed by compilation @@ -445,14 +441,14 @@ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf -[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 -[Components.IA32, Components.X64, Components.IPF, Components.ARM, Components.AARCH64] +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf MdeModulePkg/Core/Dxe/DxeMain.inf { diff --git a/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf b/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf index f4860cdc0b..a1241571e9 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf index 32c66785d5..f81cf1cceb 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf b/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf index 080a939cc0..968a3b11c5 100644 --- a/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf +++ b/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf index 843cda7021..b4ac04ee73 100644 --- a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf +++ b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwarePerformancePei.inf b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwarePerformancePei.inf index 1b69e49cf9..9fec6cb5a0 100644 --- a/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwarePerformancePei.inf +++ b/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwarePerformancePei.inf @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf b/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf index a4184212bb..d208661b0c 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf index 0742da60ca..d993a81883 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf index 7e644aa995..27b3914386 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyDxe.inf b/MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyDxe.inf index 33014723d0..e58407732f 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/CapsulePei/CapsulePei.inf b/MdeModulePkg/Universal/CapsulePei/CapsulePei.inf index 02cf90c75d..587956eb5f 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf index 3849bc84a8..812b5a6427 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf @@ -27,14 +27,14 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # [Sources] CapsuleService.c CapsuleService.h - -[Sources.Ia32, Sources.IPF, Sources.EBC] + +[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64] SaveLongModeContext.c CapsuleReset.c diff --git a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf index bc57e2c8a1..0f8c5d6a49 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gConPlatformTextInDriverBinding # COMPONENT_NAME = gConPlatformComponentName diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf index a191ebcd9b..1f45e9cd55 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gConSplitterConInDriverBinding # COMPONENT_NAME = gConSplitterConInComponentName diff --git a/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf b/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf index bf387cd97b..3645fad30a 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gGraphicsConsoleDriverBinding # COMPONENT_NAME = gGraphicsConsoleComponentName diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf index 0780296798..cec5433f4e 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf @@ -5,7 +5,7 @@ # protocols based on Serial I/O protocol for serial devices including hotplug serial # devices. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gTerminalDriverBinding # COMPONENT_NAME = gTerminalComponentName diff --git a/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf b/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf index b727cda3cf..6b26596491 100644 --- a/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf +++ b/MdeModulePkg/Universal/DebugPortDxe/DebugPortDxe.inf @@ -4,7 +4,7 @@ # This driver binds exclusively to a standard UART serial port on the controller handle, # and initializes serial Io interface, publishs Debug Port and Device Path Protocol. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gDebugPortDriverBinding # COMPONENT_NAME = gDebugPortComponentName diff --git a/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf b/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf index 0d37f5fb64..d0e2e45c7f 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 = IA32 X64 IPF +# VALID_ARCHITECTURES = IA32 X64 # [Sources] @@ -50,14 +50,6 @@ X64/PlDebugSupportX64.c X64/AsmFuncs.nasm -[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/MdeModulePkg/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 IMPLIED. -/// -/// - - -#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=2, 0, 0, 0 - cmp4.leu p0,p6=32, r33;; - (p6) mov r33=32;; - } - { .mii - nop.m 0 - zxt4 r29=r33;; - dep.z r30=r29, 0, 5;; - } - { .mii - cmp4.eq p0,p7=r0, r30 - shr.u r28=r29, 5;; - (p7) adds r28=1, r28;; - } - { .mii - nop.m 0 - shl r27=r28, 5;; - zxt4 r26=r27;; - } - { .mfb - add r31=r26, r32 - nop.f 0 - nop.b 0 - } -LoopBack: // $L143: - { .mii - fc r32 - adds r32=32, r32;; - cmp.ltu p14,p15=r32, 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 speaking, 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 interrupt 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 following is -// is generated to go a hard coded branch back to the second bundle of 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 the -// 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 one is -// modified, all other bundles -// in the EXT_INT entry are -// untouched. -// -// -// Arguments: -// -// Returns: -// -// Notes: -// -// - ASM_GLOBAL ChainHandler - .proc ChainHandler -ChainHandler: - - NESTED_SETUP( 0,2+3,3,0 ) - - mov r8=1 // r8 = success - mov r2=cr.iva;; -// -// NOTE: There's a potential hazard here in that we're simply stealing a bunch 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=PATCH_ENTRY_OFFSET, r2 // out0 = source buffer - movl out1=PatchSaveBuffer // out1 = destination buffer - mov out2=0x40;; // out2 = number of bundles to copy... save entire IDT entry - br.call.sptk.few b0 = CopyBundles - -// Next, copy the patch code into the IVT - movl out0=PatchCode // out0 = source buffer of patch code - addl out1=PATCH_OFFSET, r2 // out1 = destination buffer - in IVT - mov out2=PATCH_CODE_SIZE;; - shr out2=out2, 4;; // out2 = number of bundles to copy - br.call.sptk.few b0 = CopyBundles - - -// copy original bundle 0 from the external interrupt handler to the -// appropriate place in the reserved IVT interrupt slot - addl out0=EXT_INT_ENTRY_OFFSET, r2 // out0 = source buffer - addl out1=RELOCATED_EXT_INT, r2 // out1 = destination buffer - in reserved IVT - mov out2=1;; // out2 = copy 1 bundle - br.call.sptk.few b0 = CopyBundles - -// Now relocate it there because it very likely had a branch instruction that -// that must now be fixed up. - addl out0=RELOCATED_EXT_INT, r2 // out0 = new runtime address of bundle - in reserved IVT - addl out1=EXT_INT_ENTRY_OFFSET, r2;;// out1 = IP address of previous location - mov out2=out0;; // out2 = IP address of new location - br.call.sptk.few b0 = 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 instruction - movl out0=FailsafeBranch // out0 = source buffer - addl out1=FAILSAFE_BRANCH_OFFSET, r2 // out1 = destination buffer - in reserved IVT - mov out2=1;; // out2 = copy 1 bundle - br.call.sptk.few b0 = CopyBundles - -// Last, copy in our replacement for the external interrupt IVT entry bundle 0 - movl out0=PatchCodeNewBun0 // out0 = source buffer - our replacement bundle 0 - addl out1=EXT_INT_ENTRY_OFFSET, r2 // out1 = destination buffer - bundle 0 of External interrupt entry - mov out2=1;; // out2 = copy 1 bundle - br.call.sptk.few b0 = 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=1 // r8 = success - mov r2=cr.iva;; // r2 = interrupt vector address - -// First copy original Ext Int bundle 0 back to it's proper home... - addl out0=RELOCATED_EXT_INT, r2 // out0 = source - in reserved IVT - addl out1=EXT_INT_ENTRY_OFFSET, r2 // out1 = destination buffer - first bundle of Ext Int entry - mov out2=1;; // out2 = copy 1 bundle - br.call.sptk.few b0 = CopyBundles - -// Now, relocate it again... - addl out0=EXT_INT_ENTRY_OFFSET, r2 // out1 = New runtime address - addl out1=RELOCATED_EXT_INT, r2;; // out0 = IP address of previous location - mov out2=out0;; // out2 = IP address of new location - br.call.sptk.few b0 = RelocateBundle - -// Last, restore the patch area - movl out0=PatchSaveBuffer // out0 = source buffer - addl out1=PATCH_ENTRY_OFFSET, r2 // out1 = destination buffer - mov out2=0x40;; // out2 = number of bundles to copy... save entire IDT entry - br.call.sptk.few b0 = 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=in2, 1;; // in2 = count of 8 byte blocks to copy - -CopyBundlesLoop: - - cmp.eq p14, p15 = 0, in2;; // Check if done -(p14) br.sptk.few CopyBundlesDone;; - - ld8 loc2=[in0], 0x8;; // loc2 = source bytes - st8 [in1]=loc2;; // [in1] = destination bytes - fc in1;; // Flush instruction cache - sync.i;; // Ensure local and remote data/inst caches in sync - srlz.i;; // Ensure sync has been observed - add in1=0x8, in1;; // in1 = next destination - add in2=-1, in2;; // in2 = decrement 8 bytes 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 destined for the -// branch execution unit. If any of these slots contain an IP-relative 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=SLOT0 // loc2 = slot index - mov loc5=in0;; // loc5 = runtime address of bundle - mov in0=1;; // in0 = success - -RelocateBundleNextSlot: - - cmp.ge p14, p15 = SLOT2, loc2;; // Check if maximum slot -(p15) br.sptk.few RelocateBundleDone - - mov out0=loc5;; // out0 = runtime address of bundle - br.call.sptk.few b0 = GetTemplate - mov loc3=out0;; // loc3 = instruction template - mov out0=loc5 // out0 = runtime address of bundle - mov out1=loc2;; // out1 = instruction slot number - br.call.sptk.few b0 = GetSlot - mov loc4=out0;; // loc4 = instruction encoding - mov out0=loc4 // out0 = instuction encoding - mov out1=loc2 // out1 = instruction slot number - mov out2=loc3;; // out2 = instruction template - br.call.sptk.few b0 = IsSlotBranch - cmp.eq p14, p15 = 1, out0;; // Check if branch slot -(p15) add loc2=1,loc2 // Increment slot -(p15) br.sptk.few RelocateBundleNextSlot - mov out0=loc4 // out0 = instuction encoding - mov out1=in1 // out1 = IP address of previous location - mov out2=in2;; // out2 = IP address of new location - br.call.sptk.few b0 = RelocateSlot - cmp.eq p14, p15 = 1, out1;; // Check if relocated slot -(p15) mov in0=0 // in0 = failure -(p15) br.sptk.few RelocateBundleDone - mov out2=out0;; // out2 = instruction encoding - mov out0=loc5 // out0 = runtime address of bundle - mov out1=loc2;; // out1 = instruction slot number - br.call.sptk.few b0 = SetSlot - add loc2=1,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=in0, 37, 4;; // loc2 = instruction opcode - cmp.eq p14, p15 = 4, loc2;; // IP-relative branch (B1) or - // IP-relative counted branch (B2) -(p15) cmp.eq p14, p15 = 5, loc2;; // IP-relative call (B3) -(p15) cmp.eq p14, p15 = 7, loc2;; // IP-relative predict (B6) -(p15) mov in1=1 // Instruction did not need to be reencoded -(p15) br.sptk.few RelocateSlotDone - tbit.nz p14, p15 = in0, 36;; // put relative offset sign bit in p14 - extr.u loc2=in0, 13, 20;; // loc2 = relative offset in instruction -(p14) movl loc3=0xfffffffffff00000;; // extend sign -(p14) or loc2=loc2, loc3;; - shl loc2=loc2,4;; // convert to byte offset instead of bundle offset - add loc3=loc2, in1;; // loc3 = physical address of branch target -(p14) sub loc2=r0,loc2;; // flip sign in loc2 if offset is negative - sub loc4=loc3,in2;; // loc4 = relative offset from new ip to branch target - cmp.lt p15, p14 = 0, loc4;; // get new sign bit -(p14) sub loc5=r0,loc4 // get absolute value of offset -(p15) mov loc5=loc4;; - movl loc6=0x0FFFFFF;; // maximum offset in bytes for ip-rel branch - cmp.gt p14, p15 = loc5, loc6;; // check to see we're not out of range for an ip-relative branch -(p14) br.sptk.few RelocateSlotError - cmp.lt p15, p14 = 0, loc4;; // store sign in p14 again -(p14) dep in0=-1,in0,36,1 // store sign bit in instruction -(p15) dep in0=0,in0,36,1 - shr loc4=loc4, 4;; // convert back to bundle offset - dep in0=loc4,in0,13,16;; // put first 16 bits of new offset into instruction - shr loc4=loc4,16;; - dep in0=loc4,in0,13+16,4 // put last 4 bits of new offset into instruction - mov in1=1;; // in1 = success - br.sptk.few RelocateSlotDone;; - -RelocateSlotError: - mov in1=0;; // in1 = 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=1;; // in0 = 1 which destroys the instruction - andcm in2=in2,in0;; // in2 = even template to reduce compares - mov in0=0;; // in0 = not a branch - cmp.eq p14, p15 = 0x16, in2;; // Template 0x16 is BBB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 = SLOT0, in1;; // Slot 0 has no other possiblities -(p14) br.sptk.few IsSlotBranchDone - cmp.eq p14, p15 = 0x12, in2;; // Template 0x12 is MBB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 = SLOT1, in1;; // Slot 1 has no other possiblities -(p14) br.sptk.few IsSlotBranchDone - cmp.eq p14, p15 = 0x10, in2;; // Template 0x10 is MIB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 = 0x18, in2;; // Template 0x18 is MMB -(p14) br.sptk.few IsSlotBranchTrue - cmp.eq p14, p15 = 0x1C, in2;; // Template 0x1C is MFB -(p14) br.sptk.few IsSlotBranchTrue - br.sptk.few IsSlotBranchDone - -IsSlotBranchTrue: - mov in0=1;; // in0 = 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=[in0], 0x8 // loc2 = first 8 bytes of branch bundle - movl loc3=MASK_0_4;; // loc3 = template mask - and loc2=loc2,loc3;; // loc2 = template, right justified - mov in0=loc2;; // in0 = template, right justified - - 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=[in0], 0x8;; // loc2 = first 8 bytes of branch bundle - ld8 loc3=[in0];; // loc3 = second 8 bytes of branch bundle - cmp.eq p14, p15 = 2, in1;; // check if slot 2 specified - (p14) br.cond.sptk.few GetSlot2;; // get slot 2 - cmp.eq p14, p15 = 1, in1;; // check if slot 1 specified - (p14) br.cond.sptk.few GetSlot1;; // get slot 1 - -GetSlot0: - extr.u in0=loc2, 5, 45 // in0 = extracted slot 0 - br.sptk.few GetSlotDone;; - -GetSlot1: - extr.u in0=loc2, 46, 18 // in0 = bits 63-46 of loc2 right-justified - extr.u loc4=loc3, 0, 23;; // loc4 = bits 22-0 of loc3 right-justified - dep in0=loc4, in0, 18, 15;; - shr.u loc4=loc4,15;; - dep in0=loc4, in0, 33, 8;; // in0 = extracted slot 1 - br.sptk.few GetSlotDone;; - -GetSlot2: - extr.u in0=loc3, 23, 41;; // in0 = 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=[in0], 0x8;; // loc2 = first 8 bytes of bundle - ld8 loc3=[in0];; // loc3 = second 8 bytes of bundle - cmp.eq p14, p15 = 2, in1;; // check if slot 2 specified - (p14) br.cond.sptk.few SetSlot2;; // set slot 2 - cmp.eq p14, p15 = 1, in1;; // check if slot 1 specified - (p14) br.cond.sptk.few SetSlot1;; // set slot 1 - -SetSlot0: - dep loc2=0, loc2, 5, 41;; // remove old instruction from slot 0 - shl loc4=in2, 5;; // loc4 = new instruction ready to be inserted - or loc2=loc2, loc4;; // loc2 = updated first 8 bytes of bundle - add loc4=0x8,in0;; // loc4 = address to store first 8 bytes of bundle - st8 [loc4]=loc2 // [loc4] = updated bundle - br.sptk.few SetSlotDone;; - ;; - -SetSlot1: - dep loc2=0, loc2, 46, 18 // remove old instruction from slot 1 - dep loc3=0, loc3, 0, 23;; - shl loc4=in2, 46;; // loc4 = partial instruction ready to be inserted - or loc2=loc2, loc4;; // loc2 = updated first 8 bytes of bundle - add loc4=0x8,in0;; // loc4 = address to store first 8 bytes of bundle - st8 [loc4]=loc2;; // [loc4] = updated bundle - shr.u loc4=in2, 18;; // loc4 = partial instruction ready to be inserted - or loc3=loc3, loc4;; // loc3 = updated second 8 bytes of bundle - st8 [in0]=loc3;; // [in0] = updated bundle - br.sptk.few SetSlotDone;; - -SetSlot2: - dep loc3=0, loc3, 23, 41;; // remove old instruction from slot 2 - shl loc4=in2, 23;; // loc4 = instruction ready to be inserted - or loc3=loc3, loc4;; // loc3 = updated second 8 bytes of bundle - st8 [in0]=loc3;; // [in0] = 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=cr2;; - 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=1,2,0,0;; - mov loc0=psr - mov loc1=0x6000;; - and r8=loc0, loc1 // obtain current psr.ic and psr.i state - and in0=in0, loc1 // insure no extra bits set in input - andcm loc0=loc0,loc1;; // clear original psr.i and psr.ic - or loc0=loc0,in0;; // OR in new psr.ic value - mov psr.l=loc0;; // write new psr - srlz.d - br.ret.sptk.many b0 // return - - .endp ProgramInterruptFlags - - -///////////////////////////////////////////// -// -// Name: -// SpillContext -// -// Description: -// Saves system context to context record. -// -// Arguments: -// in0 = 512 byte aligned context record address -// in1 = original B0 -// in2 = original ar.bsp -// in3 = original ar.bspstore -// in4 = original ar.rnat -// in5 = original ar.pfs -// -// Notes: -// loc0 - scratch -// loc1 - scratch -// loc2 - temporary application unat storage -// loc3 - temporary exception handler unat storage - - .proc SpillContext - -SpillContext: - alloc loc0=6,4,0,0;; // alloc 6 input, 4 locals, 0 outs - mov loc2=ar.unat;; // save application context unat (spilled later) - mov ar.unat=r0;; // set UNAT=0 - st8.spill [in0]=r0,8;; - st8.spill [in0]=r1,8;; // save R1 - R31 - st8.spill [in0]=r2,8;; - st8.spill [in0]=r3,8;; - st8.spill [in0]=r4,8;; - st8.spill [in0]=r5,8;; - st8.spill [in0]=r6,8;; - st8.spill [in0]=r7,8;; - st8.spill [in0]=r8,8;; - st8.spill [in0]=r9,8;; - st8.spill [in0]=r10,8;; - st8.spill [in0]=r11,8;; - st8.spill [in0]=r12,8;; - st8.spill [in0]=r13,8;; - st8.spill [in0]=r14,8;; - st8.spill [in0]=r15,8;; - st8.spill [in0]=r16,8;; - st8.spill [in0]=r17,8;; - st8.spill [in0]=r18,8;; - st8.spill [in0]=r19,8;; - st8.spill [in0]=r20,8;; - st8.spill [in0]=r21,8;; - st8.spill [in0]=r22,8;; - st8.spill [in0]=r23,8;; - st8.spill [in0]=r24,8;; - st8.spill [in0]=r25,8;; - st8.spill [in0]=r26,8;; - st8.spill [in0]=r27,8;; - st8.spill [in0]=r28,8;; - st8.spill [in0]=r29,8;; - st8.spill [in0]=r30,8;; - st8.spill [in0]=r31,8;; - mov loc3=ar.unat;; // save debugger context unat (spilled later) - stf.spill [in0]=f2,16;; // save f2 - f31 - stf.spill [in0]=f3,16;; - stf.spill [in0]=f4,16;; - stf.spill [in0]=f5,16;; - stf.spill [in0]=f6,16;; - stf.spill [in0]=f7,16;; - stf.spill [in0]=f8,16;; - stf.spill [in0]=f9,16;; - stf.spill [in0]=f10,16;; - stf.spill [in0]=f11,16;; - stf.spill [in0]=f12,16;; - stf.spill [in0]=f13,16;; - stf.spill [in0]=f14,16;; - stf.spill [in0]=f15,16;; - stf.spill [in0]=f16,16;; - stf.spill [in0]=f17,16;; - stf.spill [in0]=f18,16;; - stf.spill [in0]=f19,16;; - stf.spill [in0]=f20,16;; - stf.spill [in0]=f21,16;; - stf.spill [in0]=f22,16;; - stf.spill [in0]=f23,16;; - stf.spill [in0]=f24,16;; - stf.spill [in0]=f25,16;; - stf.spill [in0]=f26,16;; - stf.spill [in0]=f27,16;; - stf.spill [in0]=f28,16;; - stf.spill [in0]=f29,16;; - stf.spill [in0]=f30,16;; - stf.spill [in0]=f31,16;; - mov loc0=pr;; // save predicates - st8.spill [in0]=loc0,8;; - st8.spill [in0]=in1,8;; // save b0 - b7... in1 already equals saved b0 - mov loc0=b1;; - st8.spill [in0]=loc0,8;; - mov loc0=b2;; - st8.spill [in0]=loc0,8;; - mov loc0=b3;; - st8.spill [in0]=loc0,8;; - mov loc0=b4;; - st8.spill [in0]=loc0,8;; - mov loc0=b5;; - st8.spill [in0]=loc0,8;; - mov loc0=b6;; - st8.spill [in0]=loc0,8;; - mov loc0=b7;; - st8.spill [in0]=loc0,8;; - mov loc0=ar.rsc;; // save ar.rsc - st8.spill [in0]=loc0,8;; - st8.spill [in0]=in2,8;; // save ar.bsp (in2) - st8.spill [in0]=in3,8;; // save ar.bspstore (in3) - st8.spill [in0]=in4,8;; // save ar.rnat (in4) - mov loc0=ar.fcr;; // save ar.fcr (ar21 - IA32 floating-point control register) - st8.spill [in0]=loc0,8;; - mov loc0=ar.eflag;; // save ar.eflag (ar24) - st8.spill [in0]=loc0,8;; - mov loc0=ar.csd;; // save ar.csd (ar25 - ia32 CS descriptor) - st8.spill [in0]=loc0,8;; - mov loc0=ar.ssd;; // save ar.ssd (ar26 - ia32 ss descriptor) - st8.spill [in0]=loc0,8;; - mov loc0=ar.cflg;; // save ar.cflg (ar27 - ia32 cr0 and cr4) - st8.spill [in0]=loc0,8;; - mov loc0=ar.fsr;; // save ar.fsr (ar28 - ia32 floating-point status register) - st8.spill [in0]=loc0,8;; - mov loc0=ar.fir;; // save ar.fir (ar29 - ia32 floating-point instruction register) - st8.spill [in0]=loc0,8;; - mov loc0=ar.fdr;; // save ar.fdr (ar30 - ia32 floating-point data register) - st8.spill [in0]=loc0,8;; - mov loc0=ar.ccv;; // save ar.ccv - st8.spill [in0]=loc0,8;; - st8.spill [in0]=loc2,8;; // save ar.unat (saved to loc2 earlier) - mov loc0=ar.fpsr;; // save floating point status register - st8.spill [in0]=loc0,8;; - st8.spill [in0]=in5,8;; // save ar.pfs - mov loc0=ar.lc;; // save ar.lc - st8.spill [in0]=loc0,8;; - mov loc0=ar.ec;; // save ar.ec - st8.spill [in0]=loc0,8;; - - // save control registers - mov loc0=cr.dcr;; // save dcr - st8.spill [in0]=loc0,8;; - mov loc0=cr.itm;; // save itm - st8.spill [in0]=loc0,8;; - mov loc0=cr.iva;; // save iva - st8.spill [in0]=loc0,8;; - mov loc0=cr.pta;; // save pta - st8.spill [in0]=loc0,8;; - mov loc0=cr.ipsr;; // save ipsr - st8.spill [in0]=loc0,8;; - mov loc0=cr.isr;; // save isr - st8.spill [in0]=loc0,8;; - mov loc0=cr.iip;; // save iip - st8.spill [in0]=loc0,8;; - mov loc0=cr.ifa;; // save ifa - st8.spill [in0]=loc0,8;; - mov loc0=cr.itir;; // save itir - st8.spill [in0]=loc0,8;; - mov loc0=cr.iipa;; // save iipa - st8.spill [in0]=loc0,8;; - mov loc0=cr.ifs;; // save ifs - st8.spill [in0]=loc0,8;; - mov loc0=cr.iim;; // save iim - st8.spill [in0]=loc0,8;; - mov loc0=cr.iha;; // save iha - st8.spill [in0]=loc0,8;; - - // save debug registers - mov loc0=dbr[r0];; // save dbr0 - dbr7 - st8.spill [in0]=loc0,8;; - movl loc1=1;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=2;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=3;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=4;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=5;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=6;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=7;; - mov loc0=dbr[loc1];; - st8.spill [in0]=loc0,8;; - mov loc0=ibr[r0];; // save ibr0 - ibr7 - st8.spill [in0]=loc0,8;; - movl loc1=1;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=2;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=3;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=4;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=5;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=6;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - movl loc1=7;; - mov loc0=ibr[loc1];; - st8.spill [in0]=loc0,8;; - st8.spill [in0]=loc3;; - - br.ret.sptk.few b0 - - .endp SpillContext - - -///////////////////////////////////////////// -// -// Name: -// FillContext -// -// Description: -// Restores register context from context record. -// -// Arguments: -// in0 = address of last element 512 byte aligned context record address -// in1 = modified B0 -// in2 = modified ar.bsp -// in3 = modified ar.bspstore -// in4 = modified ar.rnat -// in5 = modified ar.pfs -// -// Notes: -// loc0 - scratch -// loc1 - scratch -// loc2 - temporary application unat storage -// loc3 - temporary exception handler unat storage - - .proc FillContext -FillContext: - alloc loc0=6,4,0,0;; // alloc 6 inputs, 4 locals, 0 outs - ld8.fill loc3=[in0],-8;; // int_nat (nat bits for R1-31) - movl loc1=7;; // ibr7 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - movl loc1=6;; // ibr6 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - movl loc1=5;; // ibr5 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - movl loc1=4;; // ibr4 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - movl loc1=3;; // ibr3 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - movl loc1=2;; // ibr2 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - movl loc1=1;; // ibr1 - ld8.fill loc0=[in0],-8;; - mov ibr[loc1]=loc0;; - ld8.fill loc0=[in0],-8;; // ibr0 - mov ibr[r0]=loc0;; - movl loc1=7;; // dbr7 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - movl loc1=6;; // dbr6 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - movl loc1=5;; // dbr5 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - movl loc1=4;; // dbr4 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - movl loc1=3;; // dbr3 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - movl loc1=2;; // dbr2 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - movl loc1=1;; // dbr1 - ld8.fill loc0=[in0],-8;; - mov dbr[loc1]=loc0;; - ld8.fill loc0=[in0],-8;; // dbr0 - mov dbr[r0]=loc0;; - ld8.fill loc0=[in0],-8;; // iha - mov cr.iha=loc0;; - ld8.fill loc0=[in0],-8;; // iim - mov cr.iim=loc0;; - ld8.fill loc0=[in0],-8;; // ifs - mov cr.ifs=loc0;; - ld8.fill loc0=[in0],-8;; // iipa - mov cr.iipa=loc0;; - ld8.fill loc0=[in0],-8;; // itir - mov cr.itir=loc0;; - ld8.fill loc0=[in0],-8;; // ifa - mov cr.ifa=loc0;; - ld8.fill loc0=[in0],-8;; // iip - mov cr.iip=loc0;; - ld8.fill loc0=[in0],-8;; // isr - mov cr.isr=loc0;; - ld8.fill loc0=[in0],-8;; // ipsr - mov cr.ipsr=loc0;; - ld8.fill loc0=[in0],-8;; // pta - mov cr.pta=loc0;; - ld8.fill loc0=[in0],-8;; // iva - mov cr.iva=loc0;; - ld8.fill loc0=[in0],-8;; // itm - mov cr.itm=loc0;; - ld8.fill loc0=[in0],-8;; // dcr - mov cr.dcr=loc0;; - ld8.fill loc0=[in0],-8;; // ec - mov ar.ec=loc0;; - ld8.fill loc0=[in0],-8;; // lc - mov ar.lc=loc0;; - ld8.fill in5=[in0],-8;; // ar.pfs - ld8.fill loc0=[in0],-8;; // ar.fpsr - mov ar.fpsr=loc0;; - ld8.fill loc2=[in0],-8;; // ar.unat - restored later... - ld8.fill loc0=[in0],-8;; // ar.ccv - mov ar.ccv=loc0;; - ld8.fill loc0=[in0],-8;; // ar.fdr - mov ar.fdr=loc0;; - ld8.fill loc0=[in0],-8;; // ar.fir - mov ar.fir=loc0;; - ld8.fill loc0=[in0],-8;; // ar.fsr - mov ar.fsr=loc0;; - ld8.fill loc0=[in0],-8;; // ar.cflg - mov ar.cflg=loc0;; - ld8.fill loc0=[in0],-8;; // ar.ssd - mov ar.ssd=loc0;; - ld8.fill loc0=[in0],-8;; // ar.csd - mov ar.csd=loc0;; - ld8.fill loc0=[in0],-8;; // ar.eflag - mov ar.eflag=loc0;; - ld8.fill loc0=[in0],-8;; // ar.fcr - mov ar.fcr=loc0;; - ld8.fill in4=[in0],-8;; // ar.rnat - ld8.fill in3=[in0],-8;; // bspstore - ld8.fill in2=[in0],-8;; // bsp - ld8.fill loc0=[in0],-8;; // ar.rsc - mov ar.rsc=loc0;; - ld8.fill loc0=[in0],-8;; // B7 - B0 - mov b7=loc0;; - ld8.fill loc0=[in0],-8;; - mov b6=loc0;; - ld8.fill loc0=[in0],-8;; - mov b5=loc0;; - ld8.fill loc0=[in0],-8;; - mov b4=loc0;; - ld8.fill loc0=[in0],-8;; - mov b3=loc0;; - ld8.fill loc0=[in0],-8;; - mov b2=loc0;; - ld8.fill loc0=[in0],-8;; - mov b1=loc0;; - ld8.fill in1=[in0],-8;; // b0 is temporarily stored in in1 - ld8.fill loc0=[in0],-16;; // predicates - mov pr=loc0;; - ldf.fill f31=[in0],-16;; - ldf.fill f30=[in0],-16;; - ldf.fill f29=[in0],-16;; - ldf.fill f28=[in0],-16;; - ldf.fill f27=[in0],-16;; - ldf.fill f26=[in0],-16;; - ldf.fill f25=[in0],-16;; - ldf.fill f24=[in0],-16;; - ldf.fill f23=[in0],-16;; - ldf.fill f22=[in0],-16;; - ldf.fill f21=[in0],-16;; - ldf.fill f20=[in0],-16;; - ldf.fill f19=[in0],-16;; - ldf.fill f18=[in0],-16;; - ldf.fill f17=[in0],-16;; - ldf.fill f16=[in0],-16;; - ldf.fill f15=[in0],-16;; - ldf.fill f14=[in0],-16;; - ldf.fill f13=[in0],-16;; - ldf.fill f12=[in0],-16;; - ldf.fill f11=[in0],-16;; - ldf.fill f10=[in0],-16;; - ldf.fill f9=[in0],-16;; - ldf.fill f8=[in0],-16;; - ldf.fill f7=[in0],-16;; - ldf.fill f6=[in0],-16;; - ldf.fill f5=[in0],-16;; - ldf.fill f4=[in0],-16;; - ldf.fill f3=[in0],-16;; - ldf.fill f2=[in0],-8;; - mov ar.unat=loc3;; // restore unat (int_nat) before fill of general registers - ld8.fill r31=[in0],-8;; - ld8.fill r30=[in0],-8;; - ld8.fill r29=[in0],-8;; - ld8.fill r28=[in0],-8;; - ld8.fill r27=[in0],-8;; - ld8.fill r26=[in0],-8;; - ld8.fill r25=[in0],-8;; - ld8.fill r24=[in0],-8;; - ld8.fill r23=[in0],-8;; - ld8.fill r22=[in0],-8;; - ld8.fill r21=[in0],-8;; - ld8.fill r20=[in0],-8;; - ld8.fill r19=[in0],-8;; - ld8.fill r18=[in0],-8;; - ld8.fill r17=[in0],-8;; - ld8.fill r16=[in0],-8;; - ld8.fill r15=[in0],-8;; - ld8.fill r14=[in0],-8;; - ld8.fill r13=[in0],-8;; - ld8.fill r12=[in0],-8;; - ld8.fill r11=[in0],-8;; - ld8.fill r10=[in0],-8;; - ld8.fill r9=[in0],-8;; - ld8.fill r8=[in0],-8;; - ld8.fill r7=[in0],-8;; - ld8.fill r6=[in0],-8;; - ld8.fill r5=[in0],-8;; - ld8.fill r4=[in0],-8;; - ld8.fill r3=[in0],-8;; - ld8.fill r2=[in0],-8;; - ld8.fill r1=[in0],-8;; - mov ar.unat=loc2;; // restore application context unat - - br.ret.sptk.many b0 - - .endp FillContext - - -///////////////////////////////////////////// -// -// Name: -// HookHandler -// -// Description: -// Common branch target from hooked IVT entries. Runs in interrupt context. -// 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 = Original B0 -// SCRATCH_REG1 = 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=ar.bsp // save interrupted context bsp - mov SCRATCH_REG3=ar.bspstore // save interrupted context bspstore - mov SCRATCH_REG4=ar.rnat // save interrupted context rnat - mov SCRATCH_REG6=cr.ifs;; // save IFS in case we need to chain... - cover;; // creates new frame, moves old - // CFM to IFS. - alloc SCRATCH_REG5=0,5,6,0 // alloc 5 locals, 6 outs - ;; - // save banked registers to locals - mov out1=B0_REG // out1 = Original B0 - mov out2=SCRATCH_REG2 // out2 = original ar.bsp - mov out3=SCRATCH_REG3 // out3 = original ar.bspstore - mov out4=SCRATCH_REG4 // out4 = original ar.rnat - mov out5=SCRATCH_REG5 // out5 = original ar.pfs - mov loc2=SCRATCH_REG1;; // loc2 = vector number + chain flag - bsw.1;; // switch banked registers to bank 1 - srlz.d // explicit serialize required - // now fill in context record structure - movl loc3=IpfContextBuf // Insure context record is aligned - add loc0=-0x200,r0;; // mask the lower 9 bits (align on 512 byte boundary) - and loc3=loc3,loc0;; - add loc3=0x200,loc3;; // move to next 512 byte boundary - // loc3 now contains the 512 byte aligned context record - // spill register context into context record - mov out0=loc3;; // Context record base in out0 - // original B0 in out1 already - // original ar.bsp in out2 already - // original ar.bspstore in out3 already - br.call.sptk.few b0=SpillContext;; // spill context - mov loc4=out0 // 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=CommonHandler;; // obtain address of plabel - ld8 loc1=[loc0];; // get entry point of CommonHandler - mov b6=loc1;; // put it in a branch register - adds loc1= 8, loc0;; // index to GP in plabel - ld8 r1=[loc1];; // set up gp for C call - mov loc1=0xfffff;; // mask off so only vector bits are present - and out0=loc2,loc1;; // pass vector number (exception type) - mov out1=loc3;; // pass context record address - br.call.sptk.few b0=b6;; // call C handler - - // We've returned from the C call, so restore the context and either rfi - // back to interrupted thread, or chain into the SAL if this was an external interrupt - mov out0=loc4;; // pass address of last element in context record - br.call.sptk.few b0=FillContext;; // Fill context - mov b0=out1 // fill in b0 - mov ar.rnat=out4 - mov ar.pfs=out5 - - // 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. Therefore, - // we explicitly cause the RSE to refresh the stacked register's contents - // from the backing store. - mov loc0=ar.rsc // get RSC value - mov loc1=ar.rsc // save it so we can restore it - movl loc3=0xffffffffc000ffff;; // create mask for clearing RSC.loadrs - and loc0=loc0,loc3;; // create value for RSC with RSC.loadrs==0 - mov ar.rsc=loc0;; // modify RSC - loadrs;; // invalidate register stack - mov ar.rsc=loc1;; // restore original RSC - - bsw.0;; // switch banked registers back to bank 0 - srlz.d;; // explicit serialize required - mov PR_REG=pr // save predicates - to be restored after chaining decision - mov B0_REG=b0 // save b0 - required by chain code - mov loc2=EXCPT_EXTERNAL_INTERRUPT;; - cmp.eq p7,p0=SCRATCH_REG1,loc2;; // check to see if this is the timer tick - (p7) br.cond.dpnt.few DO_CHAIN;; - -NO_CHAIN: - mov pr=PR_REG;; - rfi;; // we're outa here. - -DO_CHAIN: - mov pr=PR_REG - mov SCRATCH_REG1=cr.iva - mov SCRATCH_REG2=PATCH_RETURN_OFFSET;; - add SCRATCH_REG1=SCRATCH_REG1, SCRATCH_REG2;; - mov b0=SCRATCH_REG1;; - br.cond.sptk.few b0;; - -EndHookHandler: - - -///////////////////////////////////////////// -// -// Name: -// HookStub -// -// Description: -// HookStub will be copied from it's loaded location into the IVT when -// an IVT entry is hooked. The IVT entry does an indirect jump via B0 to -// HookHandler, which in turn calls into the default C handler, which calls -// the user-installed C handler. The calls return and HookHandler executes -// 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=b0 - movl SCRATCH_REG1=HookHandler;; - mov b0=SCRATCH_REG1;; - mov SCRATCH_REG1=0;;// immediate value is fixed up during 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 reserved -// in the Itanium architecture. The patch code is located at the end of the -// IVT entry. - -PatchCode: - mov SCRATCH_REG0=psr - mov SCRATCH_REG6=cr.ipsr - mov PR_REG=pr - mov B0_REG=b0;; - - // turn off any virtual translations - movl SCRATCH_REG1 = ~( MASK(PSR_DT,1) | MASK(PSR_RT,1));; - and SCRATCH_REG1 = SCRATCH_REG0, SCRATCH_REG1;; - mov psr.l = SCRATCH_REG1;; - srlz.d - tbit.z p14, p15 = 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 minimize the - // impact to system performance. Check our interrupt count and bail - // out if we're not up to 32 - movl SCRATCH_REG1=ExternalInterruptCount;; - ld8 SCRATCH_REG2=[SCRATCH_REG1];; // ExternalInterruptCount - tbit.z p14, p15 = SCRATCH_REG2, 5;; // bit 5 set? - (p14) add SCRATCH_REG2=1, SCRATCH_REG2;; // No? Then increment - // ExternalInterruptCount - // and Chain to SAL - // immediately - (p14) st8 [SCRATCH_REG1]=SCRATCH_REG2;; - (p14) br.cond.sptk.few Stub_IVT_Passthru;; - (p15) mov SCRATCH_REG2=0;; // Yes? Then reset - // ExternalInterruptCount - // and branch to - // HookHandler - (p15) st8 [SCRATCH_REG1]=SCRATCH_REG2;; - mov pr=PR_REG - movl SCRATCH_REG1=HookHandler;; // SCRATCH_REG1 = entrypoint of HookHandler - mov b0=SCRATCH_REG1;; // b0 = entrypoint of HookHandler - mov SCRATCH_REG1=EXCPT_EXTERNAL_INTERRUPT;; - br.sptk.few b0;; // branch to HookHandler - -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=cr.ipsr - mov SCRATCH_REG4=cr.iip;; - mov cr.ipsr=SCRATCH_REG0 - mov SCRATCH_REG1=ip;; - add SCRATCH_REG1=0x30, SCRATCH_REG1;; - mov cr.iip=SCRATCH_REG1;; - rfi;; // rfi to next instruction - -Stub_RfiTarget: - mov cr.ifs=SCRATCH_REG6 - mov cr.ipsr=SCRATCH_REG5 - mov cr.iip=SCRATCH_REG4;; - -Stub_IVT_Passthru: - mov pr=PR_REG // pr = saved predicate registers - mov b0=B0_REG;; // b0 = saved b0 -EndPatchCode: - - -///////////////////////////////////////////// -// The following bundle is moved into IVT entry 14 (offset 0x3400) which is reserved -// in the Itanium architecture. This bundle will be the last bundle and will -// 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 is 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/MdeModulePkg/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 IMPLIED. -/// -/// Module Name: Common.i -/// -/// - - -#define NESTED_SETUP(i,l,o,r) \ - alloc loc1=ar##.##pfs,i,l,o,r ; \ - mov loc0=b0 ;; - - -#define NESTED_RETURN \ - mov b0=loc0 ; \ - mov ar##.##pfs=loc1 ;; \ - br##.##ret##.##dpnt b0 ;; - -#define MASK(bp,value) (value << bp) - diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i b/MdeModulePkg/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 IMPLIED. -/// -/// - - -#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 coopted (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 branch -// 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 relocated -// 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 carefully -// 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 - ( EndPatchCode - PatchCode ) - 0x20) - -#define PATCH_RETURN_OFFSET (PATCH_ENTRY_OFFSET + 0x400 - ( EndPatchCode - PatchCodeRet ) - 0x20) - -// PATCH_BRANCH is used only in the new bundle that is placed at the beginning -// 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 IMPLIED. - -**/ - -#include "PlDebugSupport.h" - -BOOLEAN mInHandler = 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 byte 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 = 0; - return EFI_SUCCESS; -} - -/** - Unload handler that is called during UnloadImage() - deallocates pool memory - 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 = 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 main - 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 == %X\n" - " Context == %X\n" - " Context.SystemContextIpf->CrIip == %LX\n" - " Context.SystemContextIpf->CrIpsr == %LX\n" - " mInHandler == %X\n", - (INT32)ExceptionType, - Context, - Context.SystemContextIpf->CrIip, - Context.SystemContextIpf->CrIpsr, - mInHandler)); - } - DEBUG_CODE_END (); - - ASSERT (!mInHandler); - mInHandler = TRUE; - if (IvtEntryTable[ExceptionType].RegisteredCallback != NULL) { - if (ExceptionType != EXCEPT_IPF_EXTERNAL_INTERRUPT) { - IvtEntryTable[ExceptionType].RegisteredCallback (ExceptionType, Context.SystemContextIpf); - } else { - IvtEntryTable[ExceptionType].RegisteredCallback (Context.SystemContextIpf); - } - } else { - ASSERT (0); - } - - mInHandler = 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 = GetIva (); - - if (HandlerIndex < 20) { - // - // first 20 provide 64 bundles per vector - // - TempPtr += 0x400 * HandlerIndex; - } else { - // - // the rest provide 16 bundles per vector - // - TempPtr += 0x5000 + 0x100 * (HandlerIndex - 20); - } - - *EntryPoint = (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 != NULL) { - // - // we've already installed to this vector - // - if (NewCallback != NULL) { - // - // if the input handler is non-null, error - // - return EFI_ALREADY_STARTED; - } else { - // - // else remove the previously installed handler - // - OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); - InterruptFlags = ProgramInterruptFlags (DISABLE_INTERRUPTS); - if (ExceptionType == 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 != NULL) { - OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); - InterruptFlags = ProgramInterruptFlags (DISABLE_INTERRUPTS); - if (ExceptionType == 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 fixed 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 them 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 = B0Ptr + 2; - FixupBundle->High |= ExceptionType << 36; - - InstructionCacheFlush (B0Ptr, 5); - IvtEntryTable[ExceptionType].RegisteredCallback = 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 interrupt. - - Records new callback in IvtEntryTable. - - @param NewCallback A pointer to the interrupt handle. - -**/ -VOID -ChainExternalInterrupt ( - IN CALLBACK_FUNC NewCallback - ) -{ - VOID *Start; - - Start = (VOID *) ((UINT8 *) GetIva () + 0x400 * EXCEPT_IPF_EXTERNAL_INTERRUPT + 0x400); - IvtEntryTable[EXCEPT_IPF_EXTERNAL_INTERRUPT].RegisteredCallback = NewCallback; - ChainHandler (); - InstructionCacheFlush (Start, 0x400); -} - -/** - Sets up cache flush and calls assembly function to restore external interrupt. - Removes registered callback from IvtEntryTable. - -**/ -VOID -UnchainExternalInterrupt ( - VOID - ) -{ - VOID *Start; - - Start = (VOID *) ((UINT8 *) GetIva () + 0x400 * EXCEPT_IPF_EXTERNAL_INTERRUPT + 0x400); - UnchainHandler (); - InstructionCacheFlush (Start, 0x400); - IvtEntryTable[EXCEPT_IPF_EXTERNAL_INTERRUPT].RegisteredCallback = NULL; -} - -/** - Returns the maximum value that may be used for the ProcessorIndex parameter in - RegisterPeriodicCallback() and RegisterExceptionCallback(). - - Hard coded to support only 1 processor for now. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param MaxProcessorIndex Pointer to a caller-allocated UINTN in which the maximum supported - processor index is returned. Always 0 returned. - - @retval EFI_SUCCESS Always returned with **MaxProcessorIndex set to 0. - -**/ -EFI_STATUS -EFIAPI -GetMaximumProcessorIndex ( - IN EFI_DEBUG_SUPPORT_PROTOCOL *This, - OUT UINTN *MaxProcessorIndex - ) -{ - *MaxProcessorIndex = 0; - return (EFI_SUCCESS); -} - -/** - Registers a function to be called back periodically in interrupt context. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param ProcessorIndex Specifies which processor the callback function applies to. - @param PeriodicCallback A pointer to a function of type PERIODIC_CALLBACK 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 to 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, PeriodicCallback); -} - -/** - Registers a function to be called when a given processor exception occurs. - - This code executes in boot services context. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param ProcessorIndex Specifies which processor the callback function 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 hook. - - @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 to 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 execution in this range - causes a fresh memory fetch to retrieve code to be executed. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param ProcessorIndex Specifies which processor's instruction cache 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 the 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 1701fbff42..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 - 2018, 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 IMPLIED. - -**/ - -#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 memory - 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 location 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 parameter in - RegisterPeriodicCallback() and RegisterExceptionCallback(). - - Hard coded to support only 1 processor for now. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param MaxProcessorIndex Pointer to a caller-allocated UINTN in which the maximum supported - processor index is returned. Always 0 returned. - - @retval EFI_SUCCESS Always returned with **MaxProcessorIndex set 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_PROTOCOL instance. - @param ProcessorIndex Specifies which processor the callback function applies to. - @param PeriodicCallback A pointer to a function of type PERIODIC_CALLBACK 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 to 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 occurs. - - This code executes in boot services context. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param ProcessorIndex Specifies which processor the callback function 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 hook. - - @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 to 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 execution in this range - causes a fresh memory fetch to retrieve code to be executed. - - @param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. - @param ProcessorIndex Specifies which processor's instruction cache 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 the 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 main - 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 fixed 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 interrupt. - - 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 interrupt. - 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/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf index 37bbe297e6..1fdd4dbe56 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf index e9ddecf967..8ed0023d81 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf index 6c00f553aa..d9241879c0 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gDiskIoDriverBinding # COMPONENT_NAME = gDiskIoComponentName diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf b/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf index 46e39129cf..39ad5aa2fb 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gPartitionDriverBinding # COMPONENT_NAME = gPartitionComponentName diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf b/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf index 7fea6bd9dc..fb0bd9ee4c 100644 --- a/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf +++ b/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -1,6 +1,7 @@ ## @file # UDF/ECMA-167 file system driver. # +# Copyright (c) 2018, Intel Corporation. All rights reserved.
# Copyright (C) 2014-2017 Paulo Alcantara # # This program and the accompanying materials @@ -23,7 +24,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUdfDriverBinding # COMPONENT_NAME = gUdfComponentName diff --git a/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf b/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf index ad763b1af4..01bc115da9 100644 --- a/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf +++ b/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf @@ -30,7 +30,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf b/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf index c1c1974c13..0e484b3ce6 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf b/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf index d84c7cee15..a4d4e6e4f7 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # diff --git a/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf b/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf index f856efebc7..6cc05eb293 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf index 4554eb485d..fefdd2a5b1 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 = IA32 X64 IPF AARCH64 +# VALID_ARCHITECTURES = IA32 X64 AARCH64 # [Sources] @@ -73,11 +73,6 @@ X64/EbcSupport.c X64/EbcLowLevel.nasm -[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/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf index 0d931a46f0..cdbad43aa7 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf @@ -1,7 +1,7 @@ ## @file # EBC Debugger configuration application. # -# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, 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 @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF AARCH64 +# VALID_ARCHITECTURES = IA32 X64 AARCH64 # [Sources] diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf b/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf index 8f128b121d..849df7e0eb 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 = IA32 X64 IPF AARCH64 +# VALID_ARCHITECTURES = IA32 X64 AARCH64 # [Sources] @@ -48,11 +48,6 @@ X64/EbcSupport.c X64/EbcLowLevel.nasm -[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 -// -// 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 -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -//**/ - -.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) >= 3 - -#define NESTED_SETUP(i,l,o,r) \ - alloc loc1=ar##.##pfs,i,l,o,r ;\ - mov loc0=b0 - -#define NESTED_RETURN \ - mov b0=loc0 ;\ - mov ar##.##pfs=loc1 ;;\ - 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 = Address of native code to call -// in1 = 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 = in1;; - - // - // Copy stack arguments from EBC stack into registers. - // Assume worst case and copy 8. - // - ld8 out0 = [r8], 8;; - ld8 out1 = [r8], 8;; - ld8 out2 = [r8], 8;; - ld8 out3 = [r8], 8;; - ld8 out4 = [r8], 8;; - ld8 out5 = [r8], 8;; - ld8 out6 = [r8], 8;; - ld8 out7 = [r8], 8;; - - // - // Save the original stack pointer - // - mov loc2 = r12; - - // - // Save the gp - // - or loc3 = r1, r0 - - // - // Set the new aligned stack pointer. Reserve space for the required - // 16-bytes of scratch area as well. - // - add r12 = 48, in1 - - // - // Now call the function. Load up the function address from the descriptor - // pointed to by in0. Then get the gp from the descriptor at the following - // address in the descriptor. - // - ld8 r31 = [in0], 8;; - ld8 r30 = [in0];; - mov b1 = r31 - mov r1 = r30 - (p0) br.call.dptk.many b0 = b1;; - - // - // Restore the original stack pointer and gp - // - mov r12 = loc2 - or r1 = 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 -// 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 -// -// Arguments On Entry : -// in0 = CallAddr The function address. -// in1 = EbcSp The new EBC stack pointer. -// in2 = 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 = in2;; // loc2 = in2 = FramePtr - mov loc3 = in1;; // loc3 = in1 = EbcSp - sub loc2 = loc2, loc3;; // loc2 = loc2 - loc3 = FramePtr - EbcSp - mov out2 = loc2;; // out2 = loc2 = FramePtr - EbcSp - mov loc4 = 0x40;; // loc4 = 0x40 - cmp.leu p6 = out2, loc4;; // IF out2 < loc4 THEN P6=1 ELSE P6=0; IF (FramePtr - EbcSp) < 0x40 THEN P6 = 1 ELSE P6=0 - (p6) mov loc2 = loc4;; // IF P6==1 THEN loc2 = loc4 = 0x40 - mov loc4 = r12;; // save sp - or loc5 = r1, r0 // save gp - - sub r12 = r12, loc2;; // sp = sp - loc2 = sp - MAX (0x40, FramePtr - EbcSp) - - and r12 = -0x10, r12 // Round sp down to the nearest 16-byte boundary - mov out1 = in1;; // out1 = EbcSp - mov out0 = r12;; // out0 = sp - adds r12 = -0x8, r12 - (p0) br.call.dptk.many b0 = CopyMem;; // CopyMem (sp, EbcSp, (FramePtr - EbcSp)) - adds r12 = 0x8, r12 - - mov out0 = in0;; // out0 = CallAddr - mov out1 = r12;; // out1 = sp - (p0) br.call.dptk.many b0 = EbcAsmLLCALLEX;; // EbcAsmLLCALLEX (CallAddr, sp) - mov r12 = loc4;; // restore sp - or r1 = 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 IMPLIED. - -**/ - -#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 bundles - 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] -= sizeof (UINT64); - *(UINT64 *) VmPtr->Gpr[0] = 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 don't - // call any functions before this or you could mess up the register the - // entry point is passed in. - // - Addr = EbcLLGetEbcEntryPoint (); - // - // Need the args off the stack. - // - VA_START (List, Arg1); - Arg2 = VA_ARG (List, UINT64); - Arg3 = VA_ARG (List, UINT64); - Arg4 = VA_ARG (List, UINT64); - Arg5 = VA_ARG (List, UINT64); - Arg6 = VA_ARG (List, UINT64); - Arg7 = VA_ARG (List, UINT64); - Arg8 = VA_ARG (List, UINT64); - Arg9 = VA_ARG (List, UINT64); - Arg10 = VA_ARG (List, UINT64); - Arg11 = VA_ARG (List, UINT64); - Arg12 = VA_ARG (List, UINT64); - Arg13 = VA_ARG (List, UINT64); - Arg14 = VA_ARG (List, UINT64); - Arg15 = VA_ARG (List, UINT64); - Arg16 = 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 = (VMIP) Addr; - // - // Initialize the stack pointer for the EBC. Get the current system stack - // 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 = GetEBCStack((EFI_HANDLE)(UINTN)-1, &VmContext.StackPool, &StackIndex); - if (EFI_ERROR(Status)) { - return Status; - } - VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE); - VmContext.Gpr[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE); - VmContext.HighStackBottom = (UINTN) VmContext.Gpr[0]; - VmContext.Gpr[0] -= sizeof (UINTN); - - - PushU64 (&VmContext, (UINT64) VM_STACK_KEY_VALUE); - VmContext.StackMagicPtr = (UINTN *) VmContext.Gpr[0]; - VmContext.LowStackTop = (UINTN) VmContext.Gpr[0]; - // - // Push the EBC arguments on the stack. Does not matter that they may not - // 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 = (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 executing - @param SystemTable standard system table passed into an driver's entry - 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 don't - // call any functions before this or you could mess up the register the - // entry point is passed in. - // - Addr = 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 image - // - VmContext.ImageHandle = ImageHandle; - VmContext.SystemTable = SystemTable; - - // - // Set the VM instruction pointer to the correct location in memory. - // - VmContext.Ip = (VMIP) Addr; - - // - // Get the stack pointer. This is the bottom of the upper stack. - // - - Status = GetEBCStack(ImageHandle, &VmContext.StackPool, &StackIndex); - if (EFI_ERROR(Status)) { - return Status; - } - VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE); - VmContext.Gpr[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE); - VmContext.HighStackBottom = (UINTN) VmContext.Gpr[0]; - VmContext.Gpr[0] -= 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 = (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 pointer - // 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 down, - // just as a starting point. - // - VmContext.Gpr[0] -= 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-byte - // boundary as required for IPF. - // - VmContext.Gpr[0] &= (INT64)~0x0f; - VmContext.LowStackTop = (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 = (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 null, 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-bit - 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) assumption - // that the returned buffer is not aligned, so round up to the next - // alignment size. - // - Size = EBC_THUNK_SIZE + EBC_THUNK_ALIGNMENT - 1; - ThunkSize = Size; - Ptr = EbcAllocatePoolForThunk (Size); - - if (Ptr == NULL) { - return EFI_OUT_OF_RESOURCES; - } - // - // Save the start address of the buffer. - // - ThunkBase = Ptr; - - // - // Make sure it's aligned for code execution. If not, then - // round up. - // - if ((UINT32) (UINTN) Ptr & (EBC_THUNK_ALIGNMENT - 1)) { - Ptr = (UINT8 *) (((UINTN) Ptr + (EBC_THUNK_ALIGNMENT - 1)) &~ (UINT64) (EBC_THUNK_ALIGNMENT - 1)); - } - // - // Return the pointer to the thunk to the caller to user as the - // image entry point. - // - *Thunk = (VOID *) Ptr; - - // - // Clear out the thunk entry - // ZeroMem(Ptr, Size); - // - // For IPF, when you do a call via a function pointer, the function pointer - // 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 being - // called. See the the Software Conventions and Runtime Architecture Guide - // for details. - // So first off in our thunk, create a descriptor for our actual thunk code. - // This means we need to create a pointer to the thunk code (which follows - // the descriptor we're going to create), followed by the gp of the Vm - // interpret function we're going to eventually execute. - // - Data64Ptr = (UINT64 *) Ptr; - - // - // Write the function's entry point (which is our thunk code that follows - // this descriptor we're creating). - // - *Data64Ptr = (UINT64) (Data64Ptr + 2); - // - // Get the gp from the descriptor for EbcInterpret and stuff it in our thunk - // descriptor. - // - *(Data64Ptr + 1) = *(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 += sizeof (UINT64) * 2; - - // - // *************************** MAGIC BUNDLE ******************************** - // - // Write magic code bundle for: movl r8 = 0xca112ebcca112ebc to help the VM - // to recognize it is a thunk. - // - Addr = (UINT64) 0xCA112EBCCA112EBC; - - // - // Now generate the code bytes. First is nop.m 0x0 - // - Code[0] = OPCODE_NOP; - - // - // Next is simply Addr[62:22] (41 bits) of the address - // - Code[1] = RShiftU64 (Addr, 22) & 0x1ffffffffff; - - // - // Extract bits from the address for insertion into the instruction - // i = Addr[63:63] - // - BitI = RShiftU64 (Addr, 63) & 0x01; - // - // ic = Addr[21:21] - // - BitIc = RShiftU64 (Addr, 21) & 0x01; - // - // imm5c = Addr[20:16] for 5 bits - // - BitImm5c = RShiftU64 (Addr, 16) & 0x1F; - // - // imm9d = Addr[15:7] for 9 bits - // - BitImm9d = RShiftU64 (Addr, 7) & 0x1FF; - // - // imm7b = Addr[6:0] for 7 bits - // - BitImm7b = 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 = 8; - - // - // Next is jumbled data, including opcode and rest of address - // - Code[2] = LShiftU64 (BitImm7b, 13); - Code[2] = Code[2] | LShiftU64 (0x00, 20); // vc - Code[2] = Code[2] | LShiftU64 (BitIc, 21); - Code[2] = Code[2] | LShiftU64 (BitImm5c, 22); - Code[2] = Code[2] | LShiftU64 (BitImm9d, 27); - Code[2] = Code[2] | LShiftU64 (BitI, 36); - Code[2] = Code[2] | LShiftU64 ((UINT64)MOVL_OPCODE, 37); - Code[2] = Code[2] | LShiftU64 ((RegNum & 0x7F), 6); - - WriteBundle ((VOID *) Ptr, 0x05, Code[0], Code[1], Code[2]); - - // - // *************************** FIRST BUNDLE ******************************** - // - // Write code bundle for: movl r8 = 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 structure - // that contained, among other things, the EBC image's entry point. But - // for now pass it directly. - // - Ptr += 16; - Addr = (UINT64) EbcEntryPoint; - - // - // Now generate the code bytes. First is nop.m 0x0 - // - Code[0] = OPCODE_NOP; - - // - // Next is simply Addr[62:22] (41 bits) of the address - // - Code[1] = RShiftU64 (Addr, 22) & 0x1ffffffffff; - - // - // Extract bits from the address for insertion into the instruction - // i = Addr[63:63] - // - BitI = RShiftU64 (Addr, 63) & 0x01; - // - // ic = Addr[21:21] - // - BitIc = RShiftU64 (Addr, 21) & 0x01; - // - // imm5c = Addr[20:16] for 5 bits - // - BitImm5c = RShiftU64 (Addr, 16) & 0x1F; - // - // imm9d = Addr[15:7] for 9 bits - // - BitImm9d = RShiftU64 (Addr, 7) & 0x1FF; - // - // imm7b = Addr[6:0] for 7 bits - // - BitImm7b = Addr & 0x7F; - - // - // Put the EBC entry point in r8, which is the location of the return value - // for functions. - // - RegNum = 8; - - // - // Next is jumbled data, including opcode and rest of address - // - Code[2] = LShiftU64 (BitImm7b, 13); - Code[2] = Code[2] | LShiftU64 (0x00, 20); // vc - Code[2] = Code[2] | LShiftU64 (BitIc, 21); - Code[2] = Code[2] | LShiftU64 (BitImm5c, 22); - Code[2] = Code[2] | LShiftU64 (BitImm9d, 27); - Code[2] = Code[2] | LShiftU64 (BitI, 36); - Code[2] = Code[2] | LShiftU64 ((UINT64)MOVL_OPCODE, 37); - Code[2] = Code[2] | LShiftU64 ((RegNum & 0x7F), 6); - - WriteBundle ((VOID *) Ptr, 0x05, Code[0], Code[1], Code[2]); - - // - // *************************** NEXT BUNDLE ********************************* - // - // Write code bundle for: - // movl rx = offset_of(EbcInterpret|ExecuteEbcImageEntryPoint) - // - // Advance pointer to next bundle, then compute the offset from this bundle - // to the address of the entry point of the interpreter. - // - Ptr += 16; - if ((Flags & FLAG_THUNK_ENTRY_POINT) != 0) { - Addr = (UINT64) ExecuteEbcImageEntryPoint; - } else { - Addr = (UINT64) EbcInterpret; - } - // - // Indirection on Itanium-based systems - // - Addr = *(UINT64 *) Addr; - - // - // Now write the code to load the offset into a register - // - Code[0] = OPCODE_NOP; - - // - // Next is simply Addr[62:22] (41 bits) of the address - // - Code[1] = RShiftU64 (Addr, 22) & 0x1ffffffffff; - - // - // Extract bits from the address for insertion into the instruction - // i = Addr[63:63] - // - BitI = RShiftU64 (Addr, 63) & 0x01; - // - // ic = Addr[21:21] - // - BitIc = RShiftU64 (Addr, 21) & 0x01; - // - // imm5c = Addr[20:16] for 5 bits - // - BitImm5c = RShiftU64 (Addr, 16) & 0x1F; - // - // imm9d = Addr[15:7] for 9 bits - // - BitImm9d = RShiftU64 (Addr, 7) & 0x1FF; - // - // imm7b = Addr[6:0] for 7 bits - // - BitImm7b = Addr & 0x7F; - - // - // Put it in r31, a scratch register - // - RegNum = 31; - - // - // Next is jumbled data, including opcode and rest of address - // - Code[2] = LShiftU64(BitImm7b, 13); - Code[2] = Code[2] | LShiftU64 (0x00, 20); // vc - Code[2] = Code[2] | LShiftU64 (BitIc, 21); - Code[2] = Code[2] | LShiftU64 (BitImm5c, 22); - Code[2] = Code[2] | LShiftU64 (BitImm9d, 27); - Code[2] = Code[2] | LShiftU64 (BitI, 36); - Code[2] = Code[2] | LShiftU64 ((UINT64)MOVL_OPCODE, 37); - Code[2] = 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 bundle - // address: mov b6 = RegNum - // - // See volume 3 page 4-29 of the Arch. Software Developer's Manual. - // - // Advance pointer to next bundle - // - Ptr += 16; - Code[0] = OPCODE_NOP; - Code[1] = OPCODE_NOP; - Code[2] = 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 = 6; - Code[2] |= LShiftU64 (Br, 6); - Code[2] |= 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 += 16; - Code[0] = OPCODE_NOP; - Code[1] = OPCODE_NOP; - Code[2] = OPCODE_BR_COND_SPTK_FEW; - Code[2] |= 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 cleanup - // when the image is unloaded. Do this last since the Add function flushes - // 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 bundles - 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) != 0) { - return EFI_INVALID_PARAMETER; - } - // - // Verify max of 41 bits used in code - // - if (((Slot0 | Slot1 | Slot2) &~0x1ffffffffff) != 0) { - return EFI_INVALID_PARAMETER; - } - - Low64 = LShiftU64 (Slot1, 46); - Low64 = Low64 | LShiftU64 (Slot0, 5) | Template; - - High64 = RShiftU64 (Slot1, 18); - High64 = High64 | LShiftU64 (Slot2, 23); - - // - // Now write it all out - // - BPtr = (UINT8 *) MemPtr; - for (Index = 0; Index < 8; Index++) { - *BPtr = (UINT8) Low64; - Low64 = RShiftU64 (Low64, 8); - BPtr++; - } - - for (Index = 0; Index < 8; Index++) { - *BPtr = (UINT8) High64; - High64 = 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 native - 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 VM - 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 = 1; - TargetEbcAddr = 0; - - // - // FuncAddr points to the descriptor of the target instructions. - // - CalleeAddr = *((UINT64 *)FuncAddr); - - // - // Processor specific code to check whether the callee is a thunk to EBC. - // - if (*((UINT64 *)CalleeAddr) != 0xBCCA000100000005) { - IsThunk = 0; - goto Action; - } - if (*((UINT64 *)CalleeAddr + 1) != 0x697623C1004A112E) { - IsThunk = 0; - goto Action; - } - - CodeOne18 = RShiftU64 (*((UINT64 *)CalleeAddr + 2), 46) & 0x3FFFF; - CodeOne23 = (*((UINT64 *)CalleeAddr + 3)) & 0x7FFFFF; - CodeTwoI = RShiftU64 (*((UINT64 *)CalleeAddr + 3), 59) & 0x1; - CodeTwoIc = RShiftU64 (*((UINT64 *)CalleeAddr + 3), 44) & 0x1; - CodeTwo7b = RShiftU64 (*((UINT64 *)CalleeAddr + 3), 36) & 0x7F; - CodeTwo5c = RShiftU64 (*((UINT64 *)CalleeAddr + 3), 45) & 0x1F; - CodeTwo9d = RShiftU64 (*((UINT64 *)CalleeAddr + 3), 50) & 0x1FF; - - TargetEbcAddr = CodeTwo7b; - TargetEbcAddr = TargetEbcAddr | LShiftU64 (CodeTwo9d, 7); - TargetEbcAddr = TargetEbcAddr | LShiftU64 (CodeTwo5c, 16); - TargetEbcAddr = TargetEbcAddr | LShiftU64 (CodeTwoIc, 21); - TargetEbcAddr = TargetEbcAddr | LShiftU64 (CodeOne18, 22); - TargetEbcAddr = TargetEbcAddr | LShiftU64 (CodeOne23, 40); - TargetEbcAddr = TargetEbcAddr | LShiftU64 (CodeTwoI, 63); - -Action: - if (IsThunk == 1){ - // - // The callee is a thunk to EBC, adjust the stack pointer down 16 bytes 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] -= 8; - VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], (UINTN) FramePtr); - VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->Gpr[0]; - VmPtr->Gpr[0] -= 8; - VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], (UINT64) (VmPtr->Ip + Size)); - - VmPtr->Ip = (VMIP) (UINTN) TargetEbcAddr; - } else { - // - // The callee is not a thunk to EBC, call native code, - // and get return value. - // - VmPtr->Gpr[7] = EbcLLCALLEXNative (FuncAddr, NewStackPointer, FramePtr); - - // - // Advance the IP. - // - VmPtr->Ip += 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 IMPLIED. - -**/ - -#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 (stuffing -// 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/Universal/EsrtDxe/EsrtDxe.inf index 5eb7ef924a..066e0bbae7 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf index 30a765c807..20396260ce 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf b/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf index 12b26604e2..b5cab4bf55 100644 --- a/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf +++ b/MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf @@ -3,7 +3,7 @@ # # This module installs gEdkiiFaultTolerantWriteGuid PPI to inform the check for FTW last write data has been done. # -# Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2013 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf b/MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf index 8f8b8b4294..e00e581d63 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf index 0593ff85bb..44bdf42344 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleDxe.inf b/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleDxe.inf index 7287ba5050..b925508434 100644 --- a/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleDxe.inf +++ b/MdeModulePkg/Universal/HiiResourcesSampleDxe/HiiResourcesSampleDxe.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf b/MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf index 3a34cf210f..c7c2e0d03d 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf b/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf index a4ded94e7f..4f14b3a307 100644 --- a/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf +++ b/MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf @@ -5,7 +5,7 @@ # version of the module only supports loading of files for the purpose of # booting from the file. # -# Copyright (c) 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2016 - 2018, 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 @@ -29,7 +29,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf b/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf index 975dc4cd3a..85123ad223 100644 --- a/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf +++ b/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf @@ -1,7 +1,7 @@ ## @file # This driver first constructs the non-tested memory range, then performs the R/W/V memory test. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf b/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf index a0d2ce7a89..beb18bfce1 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Metronome/Metronome.inf b/MdeModulePkg/Universal/Metronome/Metronome.inf index 3a633ed753..88a28afd0b 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Packages] diff --git a/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf b/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf index e44e268014..c73ec42994 100644 --- a/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf +++ b/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf @@ -1,7 +1,7 @@ ## @file # This module produces the UEFI boot service GetNextMonotonicCount() and runtime service GetNextHighMonotonicCount(). # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf b/MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf index 85f7982971..29f0c43592 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gArpDriverBinding # COMPONENT_NAME = gArpComponentName diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf index e41bddb017..2d1008f894 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gDhcp4DriverBinding # COMPONENT_NAME = gDhcp4ComponentName diff --git a/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf b/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf index 8a1f8baf79..233339d7d3 100644 --- a/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf +++ b/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf @@ -1,7 +1,7 @@ ## @file # This module produces Deferred Procedure Call Protocol. # -# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, 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 @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf index dce39681d1..c2b9bd2c6f 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gIScsiDriverBinding # COMPONENT_NAME = gIScsiComponentName diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf index b2b934a8c3..fb15c3fffa 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gIp4DriverBinding # COMPONENT_NAME = gIp4ComponentName diff --git a/MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf b/MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf index 090ab732b9..d3f74e199c 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gMnpDriverBinding # COMPONENT_NAME = gMnpComponentName diff --git a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf b/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf index ad9e7abce6..1e8b12d500 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gMtftp4DriverBinding # COMPONENT_NAME = gMtftp4ComponentName diff --git a/MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf b/MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf index 021d45d44d..04ce74670c 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = mSimpleNetworkDriverBinding # COMPONENT_NAME = gSimpleNetworkComponentName diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf index 5021cbc4b8..11a6425471 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = mTcp4DriverBinding # COMPONENT_NAME = gTcp4ComponentName diff --git a/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf b/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf index 69b6d5d943..7b7b6150d2 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # # DRIVER_BINDING = gUdp4DriverBinding # COMPONENT_NAME = gUdp4ComponentName diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf index 121d68ed26..de2c6ad72c 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 = IA32 X64 IPF +# VALID_ARCHITECTURES = IA32 X64 # # DRIVER_BINDING = gPxeBcDriverBinding # COMPONENT_NAME = gPxeBcComponentName diff --git a/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf b/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf index a36c57871e..b344e4b729 100644 --- a/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf +++ b/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf @@ -4,7 +4,7 @@ # This module produces EFI HII Configuration Access Protocol to provide one way to # configurate VALN setting # -# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -27,7 +27,7 @@ # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf index e6b3e0d920..93c451bbd4 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/PCD/Pei/Pcd.inf b/MdeModulePkg/Universal/PCD/Pei/Pcd.inf index c2a3ccbbc0..974a68c994 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 = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentPciCfg2Pei.inf b/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentPciCfg2Pei.inf index 27bce7b7b7..748e0d7b29 100644 --- a/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentPciCfg2Pei.inf +++ b/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentPciCfg2Pei.inf @@ -4,7 +4,7 @@ # It installs SingleSegmentPciConfiguration2 PPI to provide read, write and modify access to Pci configuration space in PEI phase. # To follow PI specification, these services also support access to the unaligned Pci address. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) # [Sources] diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf index 5bd9e44edd..aeaceb050e 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf b/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf index 19eef5a8a8..50b24e75fc 100644 --- a/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf +++ b/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf @@ -3,7 +3,7 @@ # # This driver produces Print2 protocols layered on top of the PrintLib from the MdePkg. # -# Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf index 3f699f6b5a..9b78f07f13 100644 --- a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf +++ b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf @@ -4,7 +4,7 @@ # This module sets EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS and EfiReservedMemoryType # in UEFI memory map, if and only of PropertiesTable is published and has BIT0 set. # -# Copyright (c) 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, 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 @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf index d8a1490021..b35ec85b9b 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf +++ b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf @@ -1,6 +1,7 @@ ## @file # EFI_REGULAR_EXPRESSION_PROTOCOL Implementation # +# Copyright (c) 2018, Intel Corporation. All rights reserved.
# (C) Copyright 2015 Hewlett Packard Enterprise Development LP
# # This program and the accompanying materials are licensed and made available @@ -74,12 +75,10 @@ [BuildOptions] # Override MSFT build option to remove /Oi and /GL - MSFT:DEBUG_*_IA32_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm - MSFT:RELEASE_*_IA32_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR- /GF - MSFT:DEBUG_*_X64_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /X - MSFT:RELEASE_*_X64_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /FIAutoGen.h /EHs-c- /GR- /GF /Gy /X - MSFT:DEBUG_*_IPF_CC_FLAGS == /nologo /c /WX /GS- /W4 /EHs-c- /GR- /Gy /Os /FIAutoGen.h /QIPF_fr32 /Zi /X - MSFT:RELEASE_*_IPF_CC_FLAGS == /nologo /c /WX /GS- /W4 /EHs-c- /GR- /Gy /Os /FIAutoGen.h /QIPF_fr32 /X + MSFT:DEBUG_*_IA32_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm + MSFT:RELEASE_*_IA32_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /FIAutoGen.h /EHs-c- /GR- /GF + MSFT:DEBUG_*_X64_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /X + MSFT:RELEASE_*_X64_CC_FLAGS == /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /FIAutoGen.h /EHs-c- /GR- /GF /Gy /X INTEL:*_*_*_CC_FLAGS = /Oi- # Oniguruma: potentially uninitialized local variable used diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf b/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf index a3de382d00..ea53f32ff7 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf @@ -1,7 +1,7 @@ ## @file # Report Status Code Router PEIM which produces Report Stataus Code Handler PPI and Status Code PPI. # -# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2018, 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 @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is only for build) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is only for build) # [Sources] diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf b/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf index 9556260082..0671e895a8 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf @@ -25,7 +25,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/SectionExtractionPei/SectionExtractionPei.inf b/MdeModulePkg/Universal/SectionExtractionPei/SectionExtractionPei.inf index 91800cec01..ba6bd9584b 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf b/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf index c5553a38e0..5bddc885b5 100644 --- a/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf +++ b/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf @@ -1,7 +1,7 @@ ## @file # This driver produces security2 and security architectural protocol based on SecurityManagementLib. # -# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -24,7 +24,7 @@ # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf b/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf index 4f847d4061..e7618350dc 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf index 0e623aeb41..e0c89307a3 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # [Sources] diff --git a/MdeModulePkg/Universal/SmbiosMeasurementDxe/SmbiosMeasurementDxe.inf b/MdeModulePkg/Universal/SmbiosMeasurementDxe/SmbiosMeasurementDxe.inf index 879bc21481..698a64c3b1 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 = IA32 X64 IPF EBC ARM AARCH64 +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 # [Sources] diff --git a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf index 5d96fe3041..60deee3826 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 = IA32 X64 IPF EBC (EBC is only for build) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is only for build) # [Sources] diff --git a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf index 928ae15b6f..f04d40ef28 100644 --- a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf +++ b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/TimestampDxe/TimestampDxe.inf b/MdeModulePkg/Universal/TimestampDxe/TimestampDxe.inf index 07858857e3..a5d91f6dff 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Packages] diff --git a/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf b/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf index 72a440dcd1..5095bfd8b8 100644 --- a/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf +++ b/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf @@ -3,7 +3,7 @@ # # This module implements ReadOnly Variable Services required by PEIM and installs PEI ReadOnly Varaiable2 PPI. # -# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2018, 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 @@ -26,7 +26,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Sources] diff --git a/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf b/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf index cd2daf3033..acf12144f3 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 = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 EBC # [Packages] -- 2.16.2.windows.1