IntelFrameworkModulePkg: Removing ipf from edk2.
authorchenc2 <chen.a.chen@intel.com>
Fri, 29 Jun 2018 03:24:22 +0000 (11:24 +0800)
committerZhang, Chao B <chao.b.zhang@intel.com>
Fri, 29 Jun 2018 08:19:44 +0000 (16:19 +0800)
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: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Chen A Chen <chen.a.chen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
42 files changed:
IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/IsaFloppyPei.inf
IntelFrameworkModulePkg/Bus/Isa/IsaIoDxe/IsaIoDxe.inf
IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf
IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf
IntelFrameworkModulePkg/Csm/BiosThunk/KeyboardDxe/KeyboardDxe.inf
IntelFrameworkModulePkg/Csm/BiosThunk/Snp16Dxe/Snp16Dxe.inf
IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c [deleted file]
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.h [deleted file]
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.i [deleted file]
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.s [deleted file]
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c [deleted file]
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.inf
IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf
IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
IntelFrameworkModulePkg/Library/PeiRecoveryLib/PeiRecoveryLib.inf
IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf
IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportDxe.inf
IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf
IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolDxe.inf
IntelFrameworkModulePkg/Universal/FirmwareVolume/UpdateDriverDxe/UpdateDriverDxe.inf
IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf
IntelFrameworkModulePkg/Universal/SectionExtractionDxe/SectionExtractionDxe.inf
IntelFrameworkModulePkg/Universal/StatusCode/DatahubStatusCodeHandlerDxe/DatahubStatusCodeHandlerDxe.inf
IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf

index be6dd43..e432ebd 100644 (file)
@@ -6,7 +6,7 @@
 # Controller found. This driver is designed to manage a PCI-to-ISA bridge Device\r
 # such as an LPC bridge.\r
 #\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -27,7 +27,7 @@
   ENTRY_POINT                    = InitializeIsaBus\r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gIsaBusControllerDriver\r
 #  COMPONENT_NAME                = gIsaBusComponentName;\r
 #  COMPONENT_NAME2               = gIsaBusComponentName2;\r
index 6575620..3f53600 100644 (file)
@@ -5,7 +5,7 @@
 # driver provides support for two drives per controller, DMA channel 2, diskette\r
 # change line and write protect.  Currently only 1.44MB drives are supported.\r
 #\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -27,7 +27,7 @@
   ENTRY_POINT                    = InitializeIsaFloppy\r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gFdcControllerDriver;\r
 #  COMPONENT_NAME                = gIsaFloppyComponentName;\r
 #  COMPONENT_NAME2               = gIsaFloppyComponentName2;\r
index 8d4db34..71ebd22 100644 (file)
@@ -5,7 +5,7 @@
 # the PEIM will install the BlockIo PPI. This module is only dispatched if it\r
 # is in the Recovery Boot mode.\r
 #\r
-# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions\r
@@ -36,7 +36,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC is for build only)\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only)\r
 #\r
 \r
 [Sources]\r
index 499cf43..6f02aea 100644 (file)
@@ -5,7 +5,7 @@
 # I/O protocols are installed based off of the information provided by each\r
 # instance of the SIO Protocol found.\r
 #\r
-# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -26,7 +26,7 @@
   ENTRY_POINT                    = InitializeIsaIo\r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gIsaIoDriver\r
 #  COMPONENT_NAME                = gIsaIoComponentName;\r
 #  COMPONENT_NAME2               = gIsaIoComponentName2;\r
index d0e629f..456c873 100644 (file)
@@ -28,7 +28,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 #  DRIVER_BINDING                =  gSerialControllerDriver\r
 #  COMPONENT_NAME                =  gIsaSerialComponentName\r
index a0cdddc..552a697 100644 (file)
@@ -27,7 +27,7 @@
   ENTRY_POINT                    = InitializePs2Keyboard\r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gKeyboardControllerDriver;\r
 #  COMPONENT_NAME                = gPs2KeyboardComponentName;\r
 #  COMPONENT_NAME2               = gPs2KeyboardComponentName2;\r
index 48adde6..a9793fd 100644 (file)
@@ -4,7 +4,7 @@
 # This driver simulates a touch pad absolute pointing device using a standard\r
 # PS2 mouse as the input hardware.\r
 #\r
-# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -27,7 +27,7 @@
   ENTRY_POINT                    = InitializePs2MouseAbsolutePointer\r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gPS2MouseAbsolutePointerDriver;\r
 #  COMPONENT_NAME                = gPs2MouseAbsolutePointerComponentName;\r
 #  COMPONENT_NAME2               = gPs2MouseAbsolutePointerComponentName2;\r
index 876b09f..eb10352 100644 (file)
@@ -3,7 +3,7 @@
 #\r
 # This dirver provides support for PS2 based mice.\r
 #\r
-# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -26,7 +26,7 @@
   ENTRY_POINT                    = InitializePs2Mouse\r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gPS2MouseDriver;\r
 #  COMPONENT_NAME                = gPs2MouseComponentName;\r
 #  COMPONENT_NAME2               = gPs2MouseComponentName2;\r
index 39a0d53..399779f 100644 (file)
@@ -27,7 +27,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 #  DRIVER_BINDING                =  gIDEBusDriverBinding\r
 #  COMPONENT_NAME                =  gIDEBusComponentName\r
index 6b5c55f..b3e327f 100644 (file)
@@ -26,7 +26,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #  DRIVER_BINDING                = gPciVgaMiniPortDriverBinding;\r
 #  COMPONENT_NAME                = gPciVgaMiniPortComponentName;\r
 #  COMPONENT_NAME2               = gPciVgaMiniPortComponentName2;\r
index 99a8451..3354607 100644 (file)
@@ -30,7 +30,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 #  DRIVER_BINDING                =  gBiosKeyboardDriverBinding\r
 #  COMPONENT_NAME                =  gBiosKeyboardComponentName\r
index a2b5544..266c157 100644 (file)
@@ -29,7 +29,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 #  DRIVER_BINDING                =  gBiosSnp16DriverBinding\r
 #  COMPONENT_NAME                =  gBiosSnp16ComponentName\r
index 7b1764a..77a7f9b 100644 (file)
@@ -4,7 +4,7 @@
 # This driver by using Legacy Bios protocol service to support csm Video\r
 # and produce Graphics Output Protocol.\r
 #\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions\r
@@ -30,7 +30,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 #  DRIVER_BINDING                =  gBiosVideoDriverBinding\r
 #  COMPONENT_NAME                =  gBiosVideoComponentName\r
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c
deleted file mode 100644 (file)
index b4cc8d2..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-/** @file\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution.  The\r
-full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "LegacyBiosInterface.h"\r
-\r
-/**\r
-  Assign drive number to legacy HDD drives prior to booting an EFI\r
-  aware OS so the OS can access drives without an EFI driver.\r
-  Note: BBS compliant drives ARE NOT available until this call by\r
-  either shell or EFI.\r
-\r
-  @param  This                    Protocol instance pointer.\r
-  @param  BbsCount                Number of BBS_TABLE structures\r
-  @param  BbsTable                List BBS entries\r
-\r
-  @retval EFI_SUCCESS             Drive numbers assigned\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LegacyBiosPrepareToBootEfi (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL         *This,\r
-  OUT UINT16                          *BbsCount,\r
-  OUT BBS_TABLE                       **BbsTable\r
-  )\r
-{\r
-  //\r
-  // Shadow All Opion ROM\r
-  //\r
-  LegacyBiosShadowAllLegacyOproms (This);\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  To boot from an unconventional device like parties and/or execute\r
-  HDD diagnostics.\r
-\r
-  @param  This                    Protocol instance pointer.\r
-  @param  Attributes              How to interpret the other input parameters\r
-  @param  BbsEntry                The 0-based index into the BbsTable for the\r
-                                  parent  device.\r
-  @param  BeerData                Pointer to the 128 bytes of ram BEER data.\r
-  @param  ServiceAreaData         Pointer to the 64 bytes of raw Service Area data.\r
-                                  The caller must provide a pointer to the specific\r
-                                  Service Area and not the start all Service Areas.\r
- EFI_INVALID_PARAMETER if error. Does NOT return if no error.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LegacyBiosBootUnconventionalDevice (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL         *This,\r
-  IN UDC_ATTRIBUTES                   Attributes,\r
-  IN UINTN                            BbsEntry,\r
-  IN VOID                             *BeerData,\r
-  IN VOID                             *ServiceAreaData\r
-  )\r
-{\r
-  return EFI_INVALID_PARAMETER;\r
-}\r
-\r
-\r
-/**\r
-  Attempt to legacy boot the BootOption. If the EFI contexted has been\r
-  compromised this function will not return.\r
-\r
-  @param  This                    Protocol instance pointer.\r
-  @param  BbsDevicePath           EFI Device Path from BootXXXX variable.\r
-  @param  LoadOptionsSize         Size of LoadOption in size.\r
-  @param  LoadOptions             LoadOption from BootXXXX variable\r
-\r
-  @retval EFI_SUCCESS             Removable media not present\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LegacyBiosLegacyBoot (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL           *This,\r
-  IN  BBS_BBS_DEVICE_PATH               *BbsDevicePath,\r
-  IN  UINT32                            LoadOptionsSize,\r
-  IN  VOID                              *LoadOptions\r
-  )\r
-{\r
-  return EFI_UNSUPPORTED;\r
-}\r
-\r
-/**\r
-  Build the E820 table.\r
-\r
-  @param  Private  Legacy BIOS Instance data\r
-  @param  Size     Size of E820 Table\r
-\r
-  @retval EFI_SUCCESS It should always work.\r
-\r
-**/\r
-EFI_STATUS\r
-LegacyBiosBuildE820 (\r
-  IN  LEGACY_BIOS_INSTANCE    *Private,\r
-  OUT UINTN                   *Size\r
-  )\r
-{\r
-  *Size = 0;\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Get all BBS info\r
-\r
-  @param  This                    Protocol instance pointer.\r
-  @param  HddCount                Number of HDD_INFO structures\r
-  @param  HddInfo                 Onboard IDE controller information\r
-  @param  BbsCount                Number of BBS_TABLE structures\r
-  @param  BbsTable                List BBS entries\r
-\r
-  @retval EFI_SUCCESS             Tables returned\r
-  @retval EFI_NOT_FOUND           resource not found\r
-  @retval EFI_DEVICE_ERROR        can not get BBS table\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LegacyBiosGetBbsInfo (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL         *This,\r
-  OUT UINT16                          *HddCount,\r
-  OUT HDD_INFO                        **HddInfo,\r
-  OUT UINT16                          *BbsCount,\r
-  OUT BBS_TABLE                       **BbsTable\r
-  )\r
-{\r
-  return EFI_UNSUPPORTED;\r
-}\r
-\r
-/**\r
-  Fill in the standard BDA for Keyboard LEDs\r
-\r
-  @param  This         Protocol instance pointer.\r
-  @param  Leds         Current LED status\r
-\r
-  @retval EFI_SUCCESS  It should always work.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LegacyBiosUpdateKeyboardLedStatus (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL           *This,\r
-  IN  UINT8                             Leds\r
-  )\r
-{\r
-  return EFI_UNSUPPORTED;\r
-}\r
-\r
-/**\r
-  Relocate this image under 4G memory for IPF.\r
-\r
-  @param  ImageHandle  Handle of driver image.\r
-  @param  SystemTable  Pointer to system table.\r
-\r
-  @retval EFI_SUCCESS  Image successfully relocated.\r
-  @retval EFI_ABORTED  Failed to relocate image.\r
-\r
-**/\r
-EFI_STATUS\r
-RelocateImageUnder4GIfNeeded (\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
-  )\r
-{\r
-  EFI_STATUS                         Status;\r
-  EFI_LOADED_IMAGE_PROTOCOL          *LoadedImage;\r
-  UINTN                              NumberOfPages;\r
-  EFI_PHYSICAL_ADDRESS               LoadedImageBase;\r
-  PE_COFF_LOADER_IMAGE_CONTEXT       ImageContext;\r
-  EFI_PHYSICAL_ADDRESS               MemoryAddress;\r
-  EFI_HANDLE                         NewImageHandle;\r
-\r
-  Status = gBS->HandleProtocol (\r
-                    ImageHandle,\r
-                    &gEfiLoadedImageProtocolGuid,\r
-                    (VOID *) &LoadedImage\r
-                    );\r
-\r
-  if (!EFI_ERROR (Status)) {\r
-    LoadedImageBase = (EFI_PHYSICAL_ADDRESS) (UINTN) LoadedImage->ImageBase;\r
-    if (LoadedImageBase > 0xffffffff) {\r
-      NumberOfPages = (UINTN) (DivU64x32(LoadedImage->ImageSize, EFI_PAGE_SIZE) + 1);\r
-\r
-      //\r
-      // Allocate buffer below 4GB here\r
-      //\r
-      Status = AllocateLegacyMemory (\r
-                AllocateMaxAddress,\r
-                0x7FFFFFFF,\r
-                NumberOfPages,  // do we have to convert this to pages??\r
-                &MemoryAddress\r
-                );\r
-      if (EFI_ERROR (Status)) {\r
-        return Status;\r
-      }\r
-\r
-      ZeroMem (&ImageContext, sizeof (PE_COFF_LOADER_IMAGE_CONTEXT));\r
-      ImageContext.Handle    = (VOID *)(UINTN)LoadedImageBase;\r
-      ImageContext.ImageRead = PeCoffLoaderImageReadFromMemory;\r
-\r
-      //\r
-      // Get information about the image being loaded\r
-      //\r
-      Status = PeCoffLoaderGetImageInfo (&ImageContext);\r
-      if (EFI_ERROR (Status)) {\r
-        return Status;\r
-      }\r
-      ImageContext.ImageAddress = (PHYSICAL_ADDRESS)MemoryAddress;\r
-      //\r
-      // Align buffer on section boundary\r
-      //\r
-      ImageContext.ImageAddress += ImageContext.SectionAlignment - 1;\r
-     ImageContext.ImageAddress &= ~((PHYSICAL_ADDRESS)ImageContext.SectionAlignment - 1);\r
-\r
-      //\r
-      // Load the image to our new buffer\r
-      //\r
-      Status = PeCoffLoaderLoadImage (&ImageContext);\r
-      if (EFI_ERROR (Status)) {\r
-        gBS->FreePages (MemoryAddress, NumberOfPages);\r
-        return Status;\r
-      }\r
-\r
-      //\r
-      // Relocate the image in our new buffer\r
-      //\r
-      Status = PeCoffLoaderRelocateImage (&ImageContext);\r
-      if (EFI_ERROR (Status)) {\r
-        gBS->FreePages (MemoryAddress, NumberOfPages);\r
-        return Status;\r
-      }\r
-\r
-      //\r
-      // Create a new handle with gEfiCallerIdGuid to be used as the ImageHandle fore the reloaded image\r
-      //\r
-      NewImageHandle = NULL;\r
-      Status = gBS->InstallProtocolInterface (\r
-                      &NewImageHandle,\r
-                      &gEfiCallerIdGuid,\r
-                      EFI_NATIVE_INTERFACE,\r
-                      NULL\r
-                      );\r
-\r
-      //\r
-      // Flush the instruction cache so the image data is written before we execute it\r
-      //\r
-      InvalidateInstructionCacheRange ((VOID *)(UINTN)ImageContext.ImageAddress, (UINTN)ImageContext.ImageSize);\r
-\r
-      Status = ((EFI_IMAGE_ENTRY_POINT)(UINTN)(ImageContext.EntryPoint)) (NewImageHandle, SystemTable);\r
-      if (EFI_ERROR (Status)) {\r
-        gBS->FreePages (MemoryAddress, NumberOfPages);\r
-        return Status;\r
-      }\r
-      //\r
-      // return error directly the BS will unload this image\r
-      //\r
-      return EFI_ABORTED;\r
-    }\r
-  }\r
-  return EFI_SUCCESS;\r
-}\r
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.h b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.h
deleted file mode 100644 (file)
index 26aa3a6..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/** @file\r
-\r
-Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution.  The\r
-full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _IPF_THUNK_H_\r
-#define _IPF_THUNK_H_\r
-\r
-#include "LegacyBiosInterface.h"\r
-#include <IndustryStandard/Sal.h>\r
-\r
-/**\r
-  Template of real mode code.\r
-\r
-  @param  CodeStart          Start address of code.\r
-  @param  CodeEnd            End address of code\r
-  @param  ReverseThunkStart  Start of reverse thunk.\r
-  @param  IntThunk           Low memory thunk.\r
-\r
-**/\r
-VOID\r
-RealModeTemplate (\r
-  OUT UINTN          *CodeStart,\r
-  OUT UINTN          *CodeEnd,\r
-  OUT UINTN          *ReverseThunkStart,\r
-  LOW_MEMORY_THUNK   *IntThunk\r
-  );\r
-\r
-/**\r
-  Register physical address of Esal Data Area\r
-\r
-  @param  ReverseThunkCodeAddress Reverse Thunk Address\r
-  @param  IntThunkAddress         IntThunk Address\r
-\r
-  @retval EFI_SUCCESS             ESAL data area set successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EsalSetSalDataArea (\r
-  IN UINTN    ReverseThunkCodeAddress,\r
-  IN UINTN    IntThunkAddress\r
-  );\r
-\r
-/**\r
- Get address of reverse thunk.\r
-\r
- @retval EFI_SAL_SUCCESS  Address of reverse thunk returned successfully.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EsalGetReverseThunkAddress (\r
-  VOID\r
-  );\r
-\r
-typedef struct {\r
-  UINT32  Eax;    // 0\r
-  UINT32  Ecx;    // 4\r
-  UINT32  Edx;    // 8\r
-  UINT32  Ebx;    // 12\r
-  UINT32  Esp;    // 16\r
-  UINT32  Ebp;    // 20\r
-  UINT32  Esi;    // 24\r
-  UINT32  Edi;    // 28\r
-  UINT32  Eflag;  // 32\r
-  UINT32  Eip;    // 36\r
-  UINT16  Cs;     // 40\r
-  UINT16  Ds;     // 42\r
-  UINT16  Es;     // 44\r
-  UINT16  Fs;     // 46\r
-  UINT16  Gs;     // 48\r
-  UINT16  Ss;     // 50\r
-} IPF_DWORD_REGS;\r
-\r
-/**\r
-  Entrypoint of IA32 code.\r
-\r
-  @param  CallTypeData  Data of call type\r
-  @param  DwordRegister Register set of IA32 general registers\r
-                        and segment registers\r
-  @param  StackPointer  Stack pointer.\r
-  @param  StackSize     Size of stack.\r
-\r
-**/\r
-VOID\r
-EfiIaEntryPoint (\r
-  UINT64           CallTypeData,\r
-  IPF_DWORD_REGS   *DwordRegister,\r
-  UINT64           StackPointer,\r
-  UINT64           StackSize\r
-  );\r
-\r
-#endif\r
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.i b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.i
deleted file mode 100644 (file)
index 441bb25..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-//// @file\r
-//\r
-// Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// This program and the accompanying materials\r
-// are licensed and made available under the terms and conditions\r
-// of the BSD License which accompanies this distribution.  The\r
-// full text of the license may be found at\r
-// http://opensource.org/licenses/bsd-license.php\r
-//\r
-// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-//\r
-////\r
-\r
-#define NUM_REAL_GDT_ENTRIES                                           3\r
-#define LOW_STACK_SIZE                                                         (8*1024)            // 8k?\r
-\r
-//\r
-// Low memory Thunk Structure\r
-//\r
-#define                Code                                                                    0\r
-#define                LowReverseThunkStart                                    Code + 4096\r
-#define                GdtDesc                                                                 LowReverseThunkStart + 4\r
-#define                IdtDesc                                                                 GdtDesc + 6\r
-#define                FlatSs                                                                  IdtDesc + 6\r
-#define                FlatEsp                                                                 FlatSs + 4\r
-#define                LowCodeSelector                                                 FlatEsp + 4\r
-#define                LowDataSelector                                                 LowCodeSelector + 4\r
-#define                LowStack                                                                LowDataSelector + 4\r
-#define                RealModeIdtDesc                                                 LowStack + 4\r
-#define                RealModeGdt                                                             RealModeIdtDesc + 6\r
-#define                RealModeGdtDesc                                                 RealModeGdt + (8 * NUM_REAL_GDT_ENTRIES)\r
-#define                RevRealDs                                                               RealModeGdtDesc + 6\r
-#define                RevRealSs                                                               RevRealDs + 2\r
-#define                RevRealEsp                                                              RevRealSs + 2\r
-#define                RevRealIdtDesc                                                  RevRealEsp + 4\r
-#define                RevFlatDataSelector                                             RevRealIdtDesc + 6\r
-#define                RevFlatStack                                                    RevFlatDataSelector + 2\r
-#define                Stack                                                                   RevFlatStack + 4\r
-#define                RevThunkStack                                                   Stack + LOW_STACK_SIZE\r
-\r
-#define                EfiToLegacy16InitTable                                  RevThunkStack + LOW_STACK_SIZE\r
-#define                InitTableBiosLessThan1MB                                EfiToLegacy16InitTable\r
-#define                InitTableHiPmmMemory                                    InitTableBiosLessThan1MB + 4\r
-#define                InitTablePmmMemorySizeInBytes                   InitTableHiPmmMemory + 4\r
-#define                InitTableReverseThunkCallSegment                InitTablePmmMemorySizeInBytes + 4\r
-#define                InitTableReverseThunkCallOffset                 InitTableReverseThunkCallSegment + 2\r
-#define                InitTableNumberE820Entries                              InitTableReverseThunkCallOffset + 2\r
-#define                InitTableOsMemoryAbove1Mb                               InitTableNumberE820Entries + 4\r
-#define                InitTableThunkStart                                             InitTableOsMemoryAbove1Mb + 4\r
-#define                InitTableThunkSizeInBytes                               InitTableThunkStart + 4\r
-#define                InitTable16InitTableEnd                                 InitTableThunkSizeInBytes + 4\r
-\r
-#define                EfiToLegacy16BootTable                                  InitTable16InitTableEnd\r
-#define                BootTableBiosLessThan1MB                                EfiToLegacy16BootTable\r
-#define                BootTableHiPmmMemory                                    BootTableBiosLessThan1MB + 4\r
-#define                BootTablePmmMemorySizeInBytes                   BootTableHiPmmMemory + 4\r
-#define                BootTableReverseThunkCallSegment                BootTablePmmMemorySizeInBytes + 4\r
-#define                BootTableReverseThunkCallOffset                 BootTableReverseThunkCallSegment + 2\r
-#define                BootTableNumberE820Entries                              BootTableReverseThunkCallOffset + 2\r
-#define                BootTableOsMemoryAbove1Mb                               BootTableNumberE820Entries + 4\r
-#define                BootTableThunkStart                                             BootTableOsMemoryAbove1Mb + 4\r
-#define                BootTableThunkSizeInBytes                               BootTableThunkStart + 4\r
-#define                EfiToLegacy16BootTableEnd                               BootTableThunkSizeInBytes + 4\r
-\r
-#define                InterruptRedirectionCode                                EfiToLegacy16BootTableEnd\r
-#define                PciHandler                                                              InterruptRedirectionCode + 32\r
-\r
-\r
-//\r
-// Register Sets (16 Bit)\r
-//\r
-\r
-#define                AX              0\r
-#define                BX              2\r
-#define                CX              4\r
-#define                DX              6\r
-#define                SI              8\r
-#define                DI              10\r
-#define                Flags   12\r
-#define                ES              14\r
-#define                CS              16\r
-#define                SS              18\r
-#define                DS              20\r
-#define                BP              22\r
-\r
-\r
-\r
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.s b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfThunk.s
deleted file mode 100644 (file)
index fc56176..0000000
+++ /dev/null
@@ -1,524 +0,0 @@
-//// @file\r
-//\r
-// Copyright (c) 1999 - 2008, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// This program and the accompanying materials\r
-// are licensed and made available under the terms and conditions\r
-// of the BSD License which accompanies this distribution.  The\r
-// full text of the license may be found at\r
-// http://opensource.org/licenses/bsd-license.php\r
-//\r
-// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-//\r
-////\r
-\r
-.file  "IpfThunk.s"\r
-\r
-#include  "IpfMacro.i"\r
-#include  "Ipf/IpfThunk.i"\r
-\r
-.align 0x10\r
-//-----------------------------------------------------------------------------\r
-//++\r
-// EfiIaEntryPoint\r
-//\r
-// Register physical address of Esal Data Area\r
-//\r
-// On Entry :\r
-//  in1 = ptr to legacy bios reg\r
-//  in2 = ptr to Call Stack\r
-//  in3 = Call Stack Size\r
-//\r
-// Return Value:\r
-//  r8 = SAL_SUCCESS\r
-//\r
-// As per static calling conventions.\r
-//\r
-//--\r
-//---------------------------------------------------------------------------\r
-PROCEDURE_ENTRY(EfiIaEntryPoint)\r
-\r
-               alloc         loc0 = 8,10,8,0;;\r
-\r
-               mov             out0 = r0;;\r
-          mov          out1 = r0;;\r
-          mov          out2 = r0;;\r
-          mov          out3 = r0;;\r
-               mov             out4 = r0;;\r
-          mov          out5 = r0;;\r
-          mov          out6 = r0;;\r
-          mov          out7 = r0;;\r
-\r
-               mov             loc1 = b0;;                                                     // save efi (b0)\r
-               mov             loc2 = psr;;                                            // save efi (PSR)\r
-               mov             loc3 = gp;;                                                     // save efi (GP)\r
-               mov             loc4 = pr;;                                                     // save efi (PR)\r
-               mov             loc5 = sp;;                                                     // save efi (SP)\r
-               mov             loc6 = r13;;                                            // save efi (TP)\r
-               mov             loc7 = ar.lc;;                                  // save efi (LC)\r
-               mov             loc8 = ar.fpsr;;                                // save efi (FPSR)\r
-\r
-               mov             r8   = r0;;                                                   // return status\r
-               mov             r9   = r0;;                                                   // return value\r
-               mov             r10  = r0;;                                                     // return value\r
-               mov             r11  = r0;;                                                     // return value\r
-\r
-bios_int_func::\r
-               rsm                   0x4000;;                                              // i(14)=0, disable interrupt\r
-               srlz.d;;\r
-               srlz.i;;\r
-\r
-//---------------------//\r
-// save fp registers   //\r
-//---------------------//\r
-\r
-               dep                   sp = 0,sp,0,4;;                                         // align 16\r
-               add                   sp = -16,sp;;                                                   // post decrement\r
-\r
-int_ip_1x::\r
-               mov                   r2 = ip;;\r
-               add                   r2 = (int_ip_1y - int_ip_1x),r2;;\r
-               mov                   b7 = r2;;\r
-               br                    save_fp_registers;;\r
-\r
-int_ip_1y::\r
-               add                   sp    = 16,sp;;               // adjust (SP)\r
-               mov                   loc9  = sp;;                                                    // save (SP)\r
-               adds          sp    = 0x10,in1;;                                    // in1 + 0x10 = SP\r
-               ld4                   sp    = [sp];;                                                // SP\r
-               adds          r17   = 0x32,in1;;                              // in1 + 0x32 = SS\r
-               ld2                   r17   = [r17];;                                         // SS\r
-               movl          r2    = 0xffffffff;;                          // if no SS:SP, then define new SS:SP\r
-               cmp.ne      p6,p0 = sp,r2;;\r
-               movl          r2    = 0xffff;;\r
-               cmp.ne.or   p6,p0 = r17,r2;;\r
-     (p6) br.sptk      bif_1;;\r
-\r
-               mov                   sp    = in3;;                                                   // 16-bit stack pointer\r
-               mov                   r2    = psr;;\r
-               tbit.z      p6,p7 = r2,17;;                               // psr.dt (Physical OR Virtual)\r
-\r
-bif_ip1x::\r
-               mov                   r2    = in2;;                                                   // ia32 callback stack top\r
-               mov                   r3    = in3;;                                                   // 16-bit stack pointer\r
-               sub                   r2    = r2,r3;;\r
-               shr.u         r17   = r2,4;;                                          // 16-bit stack segment\r
-\r
-bif_1::\r
-               extr.u      sp    = sp,0,16;;                           // SP (16-bit sp for legacy code)\r
-               dep                   sp    = 0,sp,0,3;;                        // align 8\r
-               cmp.eq      p6,p0 = 0,sp;;                // if SP=0000 then wrap to 0x10000\r
-    (p6)       dep             sp    = -1,sp,16,1;;\r
-               shladd      r2    = r17,4,sp;;                        // ESP = SS<<4+SP\r
-               add                   r2    = -8,r2;;                                         // post decrement 64 bit pointer\r
-               add                   sp    = -8,sp;;                                         // post decrement SP\r
-\r
-sale_ip1x::\r
-               mov                   r18   = ip;;\r
-               adds          r18   = (sale_ip1y - sale_ip1x),r18;;\r
-               sub                   r18   = r18,r2;;                                // return address - CS base\r
-               add                   r18   = r18,sp;;                                // adjustment for stack\r
-               shl                   r18   = r18,32;;\r
-               movl          r19   = 0xb80f66fa;;                    // CLI, JMPE xxxxxxxx\r
-               or                    r18   = r18,r19;;\r
-               st8                   [r2]  = r18;;                                             // (FA,66,0F,B8,xx,xx,xx,xx)\r
-\r
-               cmp.eq      p6,p0 = 0,sp;;                                // if SP=0000 then wrap to 0x10000\r
-    (p6)       dep             sp    = -1,sp,16,1;;\r
-               shladd      r2    = r17,4,sp;;                        // ESP=SS<<4+SP\r
-               add                   r2    = -2,r2;;                                         // post decrement 64 bit pointer\r
-               add                   sp    = -2,sp;;                                         // post decrement SP\r
-\r
-               movl          r18   = 0x8000000000000100;;      // CALL FAR function\r
-               cmp.eq      p6,p7 = in0,r18;;\r
-    (p6)       add             r19   = 0x28,in1;;                            // in1 + 0x28 = CS\r
-    (p6)       ld2             r18   = [r19],-4;;                            // CS\r
-    (p6)       st2             [r2]  = r18,-2;;                                      // in1 + 0x24 = EIP\r
-    (p6)       ld2             r18   = [r19];;                                       // EIP\r
-    (p6)       st2             [r2]  = r18,-2;;                                      //\r
-    (p6)       movl          r18   = 0x9a90;;                          // nop, CALLFAR xxxx:yyyy\r
-\r
-    (p7)       movl          r18   = 0xcd;;                                    // INT xx\r
-    (p7)       dep             r18   = in0,r18,8,8;;\r
-           st2         [r2]  = r18;;                                                       // (CD,xx)\r
-\r
-               mov             r18   = r2;;                    // EIP for legacy execution\r
-\r
-//------------------------------//\r
-// flush 32 bytes legacy code    //\r
-//------------------------------//\r
-\r
-               dep                   r2    = 0,r2,0,5;;            // align to 32\r
-               fc                    r2;;\r
-               sync.i;;\r
-               srlz.i;;\r
-               srlz.d;;\r
-\r
-//------------------------------//\r
-// load legacy registers                   //\r
-//------------------------------//\r
-               mov                   r2    = in1;;                                                   // IA32 BIOS register state\r
-               ld4                   r8    = [r2],4;;                                            // in1 + 0 = EAX\r
-               ld4                   r9    = [r2],4;;                                            // in1 + 4 = ECX\r
-               ld4                   r10   = [r2],4;;                                      // in1 + 8 = EDX\r
-               ld4                   r11   = [r2],4;;                                      // in1 + 12 = EBX\r
-\r
-               add                   r2    = 4,r2;;                                                // in1 + 16 = ESP (skip)\r
-\r
-               ld4                   r13   = [r2],4;;                                      // in1 + 20 = EBP\r
-               ld4                   r14   = [r2],4;;                                      // in1 + 24 = ESI\r
-               ld4                   r15   = [r2],4;;                                      // in1 + 28 = EDI\r
-               ld4                   r3    = [r2],4;;                                            // in1 + 32 = EFLAGS\r
-               mov                   ar.eflag = r3;;\r
-\r
-               add                   r2    = 4,r2;;                                                // in1 + 36 = EIP (skip)\r
-               add                   r2    = 2,r2;;                                                // in1 + 40 = CS (skip)\r
-\r
-               ld2                   r16   = [r2],2;;                                      // in1 + 42 = DS, (r16 = GS,FS,ES,DS)\r
-               movl          r27   = 0xc93fffff00000000;;\r
-               dep                   r27   = r16,r27,4,16;;                            // r27 = DSD\r
-\r
-               ld2                   r19   = [r2],2;;                                      // in1 + 44 = ES\r
-               dep                   r16   = r19,r16,16,16;;\r
-               movl          r24   = 0xc93fffff00000000;;\r
-               dep                   r24   = r19,r24,4,16;;                            // r24 = ESD\r
-\r
-               ld2                   r19   = [r2],2;;                                      // in1 + 46 = FS\r
-               dep                   r16   = r19,r16,32,16;;\r
-               movl          r28   = 0xc93fffff00000000;;\r
-               dep                   r28   = r19,r28,4,16;;                            // r28 = FSD\r
-\r
-               ld2                   r19   = [r2],2;;                                      // in1 + 48 = GS\r
-               dep                   r16   = r19,r16,48,16;;\r
-               movl          r29   = 0xc93fffff00000000;;\r
-               dep                   r29   = r19,r29,4,16;;                            // r29 = GSD\r
-\r
-               mov                   r30   = r0;;                                                    // r30 = LDTD, clear NaT\r
-               mov                   r31   = r0;;                                                    // r31 = GDTD, clear NaT\r
-\r
-               dep                   r17   = r17,r17,16,16;;                     // CS = SS, (r17 = TSS,LDT,SS,CS)\r
-\r
-               movl          r3    = 0x0930ffff00000000;;\r
-               dep                   r3    = r17,r3,4,16;;\r
-               mov                   ar.csd = r3;;                                                   // ar25 = CSD\r
-               mov                   ar.ssd = r3;;                                                   // ar26 = SSD\r
-\r
-//------------------------------//\r
-// give control to INT function //\r
-//------------------------------//\r
-\r
-               br.call.sptk  b0  = execute_int_function;;\r
-\r
-//------------------------------//\r
-// store legacy registers                  //\r
-//------------------------------//\r
-\r
-               mov                   r2    = in1;;\r
-               st4                   [r2]  = r8,4;;                                                // EAX\r
-               st4                   [r2]  = r9,4;;                                                // ECX\r
-               st4                   [r2]  = r10,4;;                                         // EDX\r
-               st4                   [r2]  = r11,4;;                                         // EBX\r
-\r
-               add                   r2    = 4,r2;;                                                // ESP (skip)\r
-\r
-               st4                   [r2]  = r13,4;;                                         // EBP\r
-               st4                   [r2]  = r14,4;;                                         // ESI\r
-               st4                   [r2]  = r15,4;;                                         // EDI\r
-\r
-               mov                   r3    = ar.eflag;;\r
-               st4                   [r2]  = r3,4;;                                                // EFLAGS\r
-\r
-               add                   r2    = 4,r2;;                                                // EIP (skip)\r
-               add                   r2    = 2,r2;;                                                // CS (skip)\r
-\r
-               st2                   [r2]  = r16,2;;                                         // DS, (r16 = GS,FS,ES,DS)\r
-\r
-               extr.u      r3    = r16,16,16;;\r
-               st2                   [r2]  = r3,2;;                                                // ES\r
-\r
-               extr.u      r3    = r16,32,16;;\r
-               st2                   [r2]  = r3,2;;                                                // FS\r
-\r
-               extr.u      r3    = r16,48,16;;\r
-               st2                   [r2]  = r3,2;;                                                // GS\r
-\r
-//------------------------------//\r
-// restore fp registers                    //\r
-//------------------------------//\r
-               mov                   sp    = loc9;;                                                // restore (SP)\r
-int_ip_2x::\r
-               mov                   r2    = ip;;\r
-               add                   r2    = (int_ip_2y - int_ip_2x),r2;;\r
-               mov                   b7    = r2;;\r
-               br                    restore_fp_registers;;\r
-\r
-int_ip_2y::\r
-               mov                   r8    = r0;;                                                    // return status\r
-               mov                   r9    = r0;;                                                    // return value\r
-               mov                   r10   = r0;;                                                    // return value\r
-               mov                   r11   = r0;;                                                    // return value\r
-\r
-               mov                   ar.fpsr = loc8;;                          // restore efi (FPSR)\r
-               mov                   ar.lc = loc7;;                                    // restore efi (LC)\r
-               mov                   r13   = loc6;;                                          // restore efi (TP)\r
-               mov                   sp    = loc5;;                                                // restore efi (SP)\r
-               mov                   pr    = loc4;;                                                // restore efi (PR)\r
-               mov                   gp    = loc3;;                                                // restore efi (GP)\r
-               mov                   psr.l = loc2;;                                    // restore efi (PSR)\r
-               srlz.d;;\r
-               srlz.i;;\r
-               mov                   b0    = loc1;;                                                // restore efi (b0)\r
-               mov                   ar.pfs = loc0;;\r
-       br.ret.sptk     b0;;                                                            // return to efi\r
-\r
-PROCEDURE_EXIT (EfiIaEntryPoint)\r
-\r
-//==============================//\r
-//     EXECUTE_INT_FUNCTION                //\r
-//==============================//\r
-// switch to virtual address     //\r
-//------------------------------//\r
-\r
-execute_int_function::\r
-\r
-               alloc         r2 = 0,0,0,0;;                                    // cfm.sof=0\r
-               flushrs;;\r
-\r
-               rsm                   0x2000;;                                                    // ic(13)=0 for control register programming\r
-               srlz.d;;\r
-               srlz.i;;\r
-\r
-               mov                   r2  = psr;;\r
-               dep                   r2  = -1,r2,34,1;;                              // set is(34)\r
-               dep                   r2  = -1,r2,44,1;;                              // set bn(44)\r
-               dep                   r2  = -1,r2,36,1;;                              // set it(36)\r
-               dep                   r2  = -1,r2,27,1;;                              // set rt(27)\r
-               dep                   r2  = -1,r2,17,1;;                              // set dt(17)\r
-               dep                   r2  = 0,r2,3,1;;                                // reset ac(3)\r
-               dep                   r2  = -1,r2,13,1;;                              // set ic(13)\r
-\r
-               mov                   cr.ipsr = r2;;\r
-               mov                   cr.ifs  = r0;;                                          // clear interruption function state register\r
-               mov                   cr.iip  = r18;;\r
-\r
-               rfi;;                                                                                       // go to legacy code execution\r
-\r
-//------------------------------//\r
-// back from legacy code                   //\r
-//------------------------------//\r
-// switch to physical address    //\r
-//------------------------------//\r
-\r
-sale_ip1y::\r
-               rsm                 0x6000;;                                                        // i(14)=0,ic(13)=0 for control reg programming\r
-               srlz.d;;\r
-               srlz.i;;\r
-\r
-               mov                 r2  = psr;;\r
-               dep                 r2  = -1,r2,44,1;;                                        // set bn(44)\r
-               dep                 r2  = 0,r2,36,1;;                                         // reset it(36)\r
-               dep                 r2  = 0,r2,27,1;;                                         // reset rt(27)\r
-               dep                 r2  = 0,r2,17,1;;                                         // reset dt(17)\r
-               dep                 r2  = -1,r2,13,1;;                                        // set ic(13)\r
-               mov                 cr.ipsr = r2;;\r
-\r
-sale_ip2x::\r
-               mov                 r2  = ip;;\r
-               add                 r2  = (sale_ip2y - sale_ip2x),r2;;\r
-               mov                 cr.ifs = r0;;                                                       // clear interruption function state register\r
-               mov                 cr.iip = r2;;\r
-               rfi;;\r
-\r
-sale_ip2y::\r
-               br.ret.sptk     b0;;                                              // return to SAL\r
-\r
-//------------------------------//\r
-// store fp registers                  //\r
-//------------------------------//\r
-save_fp_registers::\r
-       stf.spill [sp]=f2,-16;;  stf.spill [sp]=f3,-16;;\r
-       stf.spill [sp]=f4,-16;;  stf.spill [sp]=f5,-16;;  stf.spill [sp]=f6,-16;;  stf.spill [sp]=f7,-16;;\r
-       stf.spill [sp]=f8,-16;;  stf.spill [sp]=f9,-16;;  stf.spill [sp]=f10,-16;; stf.spill [sp]=f11,-16;;\r
-       stf.spill [sp]=f12,-16;; stf.spill [sp]=f13,-16;; stf.spill [sp]=f14,-16;; stf.spill [sp]=f15,-16;;\r
-       stf.spill [sp]=f16,-16;; stf.spill [sp]=f17,-16;; stf.spill [sp]=f18,-16;; stf.spill [sp]=f19,-16;;\r
-       stf.spill [sp]=f20,-16;; stf.spill [sp]=f21,-16;; stf.spill [sp]=f22,-16;; stf.spill [sp]=f23,-16;;\r
-       stf.spill [sp]=f24,-16;; stf.spill [sp]=f25,-16;; stf.spill [sp]=f26,-16;; stf.spill [sp]=f27,-16;;\r
-       stf.spill [sp]=f28,-16;; stf.spill [sp]=f29,-16;; stf.spill [sp]=f30,-16;; stf.spill [sp]=f31,-16;;\r
-       stf.spill [sp]=f32,-16;; stf.spill [sp]=f33,-16;; stf.spill [sp]=f34,-16;; stf.spill [sp]=f35,-16;;\r
-       stf.spill [sp]=f36,-16;; stf.spill [sp]=f37,-16;; stf.spill [sp]=f38,-16;; stf.spill [sp]=f39,-16;;\r
-       stf.spill [sp]=f40,-16;; stf.spill [sp]=f41,-16;; stf.spill [sp]=f42,-16;; stf.spill [sp]=f43,-16;;\r
-       stf.spill [sp]=f44,-16;; stf.spill [sp]=f45,-16;; stf.spill [sp]=f46,-16;; stf.spill [sp]=f47,-16;;\r
-       stf.spill [sp]=f48,-16;; stf.spill [sp]=f49,-16;; stf.spill [sp]=f50,-16;; stf.spill [sp]=f51,-16;;\r
-       stf.spill [sp]=f52,-16;; stf.spill [sp]=f53,-16;; stf.spill [sp]=f54,-16;; stf.spill [sp]=f55,-16;;\r
-       stf.spill [sp]=f56,-16;; stf.spill [sp]=f57,-16;; stf.spill [sp]=f58,-16;; stf.spill [sp]=f59,-16;;\r
-       stf.spill [sp]=f60,-16;; stf.spill [sp]=f61,-16;; stf.spill [sp]=f62,-16;; stf.spill [sp]=f63,-16;;\r
-       stf.spill [sp]=f64,-16;; stf.spill [sp]=f65,-16;; stf.spill [sp]=f66,-16;; stf.spill [sp]=f67,-16;;\r
-       stf.spill [sp]=f68,-16;; stf.spill [sp]=f69,-16;; stf.spill [sp]=f70,-16;; stf.spill [sp]=f71,-16;;\r
-       stf.spill [sp]=f72,-16;; stf.spill [sp]=f73,-16;; stf.spill [sp]=f74,-16;; stf.spill [sp]=f75,-16;;\r
-       stf.spill [sp]=f76,-16;; stf.spill [sp]=f77,-16;; stf.spill [sp]=f78,-16;; stf.spill [sp]=f79,-16;;\r
-       stf.spill [sp]=f80,-16;; stf.spill [sp]=f81,-16;; stf.spill [sp]=f82,-16;; stf.spill [sp]=f83,-16;;\r
-       stf.spill [sp]=f84,-16;; stf.spill [sp]=f85,-16;; stf.spill [sp]=f86,-16;; stf.spill [sp]=f87,-16;;\r
-       stf.spill [sp]=f88,-16;; stf.spill [sp]=f89,-16;; stf.spill [sp]=f90,-16;; stf.spill [sp]=f91,-16;;\r
-       stf.spill [sp]=f92,-16;; stf.spill [sp]=f93,-16;; stf.spill [sp]=f94,-16;; stf.spill [sp]=f95,-16;;\r
-       stf.spill [sp]=f96,-16;; stf.spill [sp]=f97,-16;; stf.spill [sp]=f98,-16;; stf.spill [sp]=f99,-16;;\r
-       stf.spill [sp]=f100,-16;;stf.spill [sp]=f101,-16;;stf.spill [sp]=f102,-16;;stf.spill [sp]=f103,-16;;\r
-       stf.spill [sp]=f104,-16;;stf.spill [sp]=f105,-16;;stf.spill [sp]=f106,-16;;stf.spill [sp]=f107,-16;;\r
-       stf.spill [sp]=f108,-16;;stf.spill [sp]=f109,-16;;stf.spill [sp]=f110,-16;;stf.spill [sp]=f111,-16;;\r
-       stf.spill [sp]=f112,-16;;stf.spill [sp]=f113,-16;;stf.spill [sp]=f114,-16;;stf.spill [sp]=f115,-16;;\r
-       stf.spill [sp]=f116,-16;;stf.spill [sp]=f117,-16;;stf.spill [sp]=f118,-16;;stf.spill [sp]=f119,-16;;\r
-       stf.spill [sp]=f120,-16;;stf.spill [sp]=f121,-16;;stf.spill [sp]=f122,-16;;stf.spill [sp]=f123,-16;;\r
-       stf.spill [sp]=f124,-16;;stf.spill [sp]=f125,-16;;stf.spill [sp]=f126,-16;;stf.spill [sp]=f127,-16;;\r
-       invala;;\r
-       br      b7;;\r
-\r
-//------------------------------//\r
-// restore fp registers                //\r
-//------------------------------//\r
-restore_fp_registers::\r
-       ldf.fill f127=[sp],16;;ldf.fill f126=[sp],16;;ldf.fill f125=[sp],16;;ldf.fill f124=[sp],16;;\r
-       ldf.fill f123=[sp],16;;ldf.fill f122=[sp],16;;ldf.fill f121=[sp],16;;ldf.fill f120=[sp],16;;\r
-       ldf.fill f119=[sp],16;;ldf.fill f118=[sp],16;;ldf.fill f117=[sp],16;;ldf.fill f116=[sp],16;;\r
-       ldf.fill f115=[sp],16;;ldf.fill f114=[sp],16;;ldf.fill f113=[sp],16;;ldf.fill f112=[sp],16;;\r
-       ldf.fill f111=[sp],16;;ldf.fill f110=[sp],16;;ldf.fill f109=[sp],16;;ldf.fill f108=[sp],16;;\r
-       ldf.fill f107=[sp],16;;ldf.fill f106=[sp],16;;ldf.fill f105=[sp],16;;ldf.fill f104=[sp],16;;\r
-       ldf.fill f103=[sp],16;;ldf.fill f102=[sp],16;;ldf.fill f101=[sp],16;;ldf.fill f100=[sp],16;;\r
-       ldf.fill f99=[sp],16;; ldf.fill f98=[sp],16;; ldf.fill f97=[sp],16;; ldf.fill f96=[sp],16;;\r
-       ldf.fill f95=[sp],16;; ldf.fill f94=[sp],16;; ldf.fill f93=[sp],16;; ldf.fill f92=[sp],16;;\r
-       ldf.fill f91=[sp],16;; ldf.fill f90=[sp],16;; ldf.fill f89=[sp],16;; ldf.fill f88=[sp],16;;\r
-       ldf.fill f87=[sp],16;; ldf.fill f86=[sp],16;; ldf.fill f85=[sp],16;; ldf.fill f84=[sp],16;;\r
-       ldf.fill f83=[sp],16;; ldf.fill f82=[sp],16;; ldf.fill f81=[sp],16;; ldf.fill f80=[sp],16;;\r
-       ldf.fill f79=[sp],16;; ldf.fill f78=[sp],16;; ldf.fill f77=[sp],16;; ldf.fill f76=[sp],16;;\r
-       ldf.fill f75=[sp],16;; ldf.fill f74=[sp],16;; ldf.fill f73=[sp],16;; ldf.fill f72=[sp],16;;\r
-       ldf.fill f71=[sp],16;; ldf.fill f70=[sp],16;; ldf.fill f69=[sp],16;; ldf.fill f68=[sp],16;;\r
-       ldf.fill f67=[sp],16;; ldf.fill f66=[sp],16;; ldf.fill f65=[sp],16;; ldf.fill f64=[sp],16;;\r
-       ldf.fill f63=[sp],16;; ldf.fill f62=[sp],16;; ldf.fill f61=[sp],16;; ldf.fill f60=[sp],16;;\r
-       ldf.fill f59=[sp],16;; ldf.fill f58=[sp],16;; ldf.fill f57=[sp],16;; ldf.fill f56=[sp],16;;\r
-       ldf.fill f55=[sp],16;; ldf.fill f54=[sp],16;; ldf.fill f53=[sp],16;; ldf.fill f52=[sp],16;;\r
-       ldf.fill f51=[sp],16;; ldf.fill f50=[sp],16;; ldf.fill f49=[sp],16;; ldf.fill f48=[sp],16;;\r
-       ldf.fill f47=[sp],16;; ldf.fill f46=[sp],16;; ldf.fill f45=[sp],16;; ldf.fill f44=[sp],16;;\r
-       ldf.fill f43=[sp],16;; ldf.fill f42=[sp],16;; ldf.fill f41=[sp],16;; ldf.fill f40=[sp],16;;\r
-       ldf.fill f39=[sp],16;; ldf.fill f38=[sp],16;; ldf.fill f37=[sp],16;; ldf.fill f36=[sp],16;;\r
-       ldf.fill f35=[sp],16;; ldf.fill f34=[sp],16;; ldf.fill f33=[sp],16;; ldf.fill f32=[sp],16;;\r
-       ldf.fill f31=[sp],16;; ldf.fill f30=[sp],16;; ldf.fill f29=[sp],16;; ldf.fill f28=[sp],16;;\r
-       ldf.fill f27=[sp],16;; ldf.fill f26=[sp],16;; ldf.fill f25=[sp],16;; ldf.fill f24=[sp],16;;\r
-       ldf.fill f23=[sp],16;; ldf.fill f22=[sp],16;; ldf.fill f21=[sp],16;; ldf.fill f20=[sp],16;;\r
-       ldf.fill f19=[sp],16;; ldf.fill f18=[sp],16;; ldf.fill f17=[sp],16;; ldf.fill f16=[sp],16;;\r
-       ldf.fill f15=[sp],16;; ldf.fill f14=[sp],16;; ldf.fill f13=[sp],16;; ldf.fill f12=[sp],16;;\r
-       ldf.fill f11=[sp],16;; ldf.fill f10=[sp],16;; ldf.fill f9=[sp],16;;  ldf.fill f8=[sp],16;;\r
-       ldf.fill f7=[sp],16;;  ldf.fill f6=[sp],16;;  ldf.fill f5=[sp],16;;  ldf.fill f4=[sp],16;;\r
-       ldf.fill f3=[sp],16;;  ldf.fill f2=[sp],16;;\r
-       invala;;\r
-       br      b7;;\r
-\r
-//-----------------------------------------------------------------------------\r
-//++\r
-// EsalSetSalDataArea\r
-//\r
-// Register physical address of Esal Data Area\r
-//\r
-// On Entry :\r
-//  in0 = Reverse Thunk Address\r
-//  in1 = IntThunk Address\r
-//\r
-// Return Value:\r
-//  r8 = SAL_SUCCESS\r
-//\r
-// As per static calling conventions.\r
-//\r
-//--\r
-//---------------------------------------------------------------------------\r
-\r
-PROCEDURE_ENTRY (EsalSetSalDataArea)\r
-\r
-      NESTED_SETUP (4,8,0,0)\r
-\r
-EsalCalcStart1_3::\r
-      mov   r8   = ip;;\r
-      add   r8   = (ReverseThunkAddress - EsalCalcStart1_3), r8;;\r
-      st8   [r8] = in0;;\r
-\r
-EsalCalcStart1_4::\r
-      mov   r8   = ip;;\r
-      add   r8   = (IntThunkAddress - EsalCalcStart1_4), r8;;\r
-      st8   [r8] = in1;;\r
-\r
-      mov   r8   = r0;;\r
-\r
-      NESTED_RETURN\r
-\r
-PROCEDURE_EXIT (EsalSetSalDataArea)\r
-\r
-//-----------------------------------------------------------------------------\r
-//++\r
-// EsagGetReverseThunkAddress\r
-//\r
-// Register physical address of Esal Data Area\r
-//\r
-// On Entry :\r
-//  out0 = CodeStart\r
-//  out1 = CodeEnd\r
-//  out1 = ReverseThunkCode\r
-//\r
-// Return Value:\r
-//  r8 = SAL_SUCCESS\r
-//\r
-// As per static calling conventions.\r
-//\r
-//--\r
-//---------------------------------------------------------------------------\r
-\r
-PROCEDURE_ENTRY (EsalGetReverseThunkAddress)\r
-\r
-          NESTED_SETUP (4,8,0,0)\r
-\r
-EsalCalcStart1_31::\r
-          mov       r8 = ip;;\r
-          add       r8 = (Ia32CodeStart - EsalCalcStart1_31), r8;;\r
-          mov       r9 = r8;;\r
-\r
-EsalCalcStart1_41::\r
-          mov       r8  = ip;;\r
-          add       r8  = (Ia32CodeEnd - EsalCalcStart1_41), r8;;\r
-          mov       r10 = r8;;\r
-\r
-EsalCalcStart1_51::\r
-          mov       r8  = ip;;\r
-          add       r8  = (ReverseThunkAddress - EsalCalcStart1_51), r8;;\r
-          mov       r11 = r8;;\r
-          mov       r8  = r0;;\r
-\r
-          NESTED_RETURN\r
-\r
-PROCEDURE_EXIT (EsalGetReverseThunkAddress)\r
-\r
-\r
-.align 16\r
-PROCEDURE_ENTRY (InterruptRedirectionTemplate)\r
-          data8            0x90CFCD08\r
-          data8            0x90CFCD09\r
-          data8            0x90CFCD0A\r
-          data8            0x90CFCD0B\r
-          data8            0x90CFCD0C\r
-          data8            0x90CFCD0D\r
-          data8            0x90CFCD0E\r
-          data8            0x90CFCD0F\r
-PROCEDURE_EXIT (InterruptRedirectionTemplate)\r
-\r
-//------------------------------//\r
-// Reverse Thunk Code           //\r
-//------------------------------//\r
-\r
-Ia32CodeStart::\r
-          br.sptk.few Ia32CodeStart;;             // IPF CSM integration -Bug (Write This Code)\r
-ReverseThunkCode::\r
-               data8         0xb80f66fa                                    // CLI, JMPE xxxx\r
-ReverseThunkAddress::\r
-               data8         0                                                   // Return Address\r
-IntThunkAddress::\r
-               data8         0                                                   // IntThunk Address\r
-Ia32CodeEnd::\r
-\r
-\r
-\r
-\r
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c
deleted file mode 100644 (file)
index e601bbd..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-/** @file\r
-  Call into 16-bit BIOS code\r
-\r
-  BugBug: Thunker does A20 gate. Can we get rid of this code or\r
-          put it into Legacy16 code.\r
-\r
-Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR>\r
-\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution.  The\r
-full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "LegacyBiosInterface.h"\r
-#include "IpfThunk.h"\r
-\r
-/**\r
-  Gets the current flat GDT and IDT descriptors and  store them in\r
-  Private->IntThunk.  These values are used by the Thunk code.\r
-  This method must be called before every thunk in order to assure\r
-  that the correct GDT and IDT are restored after the thunk.\r
-\r
-  @param  Private            Private context for Legacy BIOS\r
-\r
-  @retval EFI_SUCCESS        Should only pass.\r
-\r
-**/\r
-EFI_STATUS\r
-LegacyBiosGetFlatDescs (\r
-  IN  LEGACY_BIOS_INSTANCE    *Private\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  BIOS interrupt call function.\r
-\r
-  @param  BiosInt            Int number of BIOS call\r
-  @param  Segment            Segment number\r
-  @param  Offset             Offset in segment\r
-  @param  Regs               IA32 Register set.\r
-  @param  Stack              Base address of stack\r
-  @param  StackSize          Size of stack\r
-\r
-  @retval EFI_SUCCESS        BIOS interrupt call succeeds.\r
-\r
-**/\r
-EFI_STATUS\r
-BiosIntCall (\r
-  IN  UINT16                            BiosInt,\r
-  IN  UINT16                            Segment,\r
-  IN  UINT16                            Offset,\r
-  IN  EFI_IA32_REGISTER_SET             *Regs,\r
-  IN  VOID                              *Stack,\r
-  IN  UINTN                             StackSize\r
-  )\r
-{\r
-  IPF_DWORD_REGS  DwordRegs;\r
-  UINT64          IntTypeVariable;\r
-\r
-  IntTypeVariable = 0x8000000000000000;\r
-  IntTypeVariable |= (UINT64)BiosInt;\r
-\r
-  DwordRegs.Cs    = Segment;\r
-  DwordRegs.Eip   = Offset;\r
-\r
-  DwordRegs.Ds    = Regs->X.DS;\r
-  DwordRegs.Es    = Regs->X.ES;\r
-  DwordRegs.Fs    = Regs->X.ES;\r
-  DwordRegs.Gs    = Regs->X.ES;\r
-  DwordRegs.Ss    = 0xFFFF;\r
-\r
-  DwordRegs.Eax   = Regs->X.AX;\r
-  DwordRegs.Ebx   = Regs->X.BX;\r
-  //\r
-  // Sometimes, ECX is used to pass in 32 bit data. For example, INT 1Ah, AX = B10Dh is\r
-  // "PCI BIOS v2.0c + Write Configuration DWORD" and ECX has the dword to write.\r
-  //\r
-  DwordRegs.Ecx   = Regs->E.ECX;\r
-  DwordRegs.Edx   = Regs->X.DX;\r
-\r
-  DwordRegs.Ebp   = Regs->X.BP;\r
-  DwordRegs.Eflag = *((UINT16 *) &Regs->X.Flags);\r
-\r
-  DwordRegs.Edi   = Regs->X.DI;\r
-  DwordRegs.Esi   = Regs->X.SI;\r
-  DwordRegs.Esp   = 0xFFFFFFFF;\r
-\r
-  EfiIaEntryPoint (IntTypeVariable, &DwordRegs, ((UINTN) Stack + StackSize), StackSize);\r
-\r
-  Regs->X.CS  = DwordRegs.Cs;\r
-\r
-  Regs->X.DS  = (UINT16) DwordRegs.Ds;\r
-  Regs->X.SS  = (UINT16) DwordRegs.Ss;\r
-\r
-  Regs->E.EAX  = DwordRegs.Eax;\r
-  Regs->E.EBX  = DwordRegs.Ebx;\r
-  Regs->E.ECX  = DwordRegs.Ecx;\r
-  Regs->E.EDX  = DwordRegs.Edx;\r
-\r
-  Regs->E.EBP  = DwordRegs.Ebp;\r
-  CopyMem (&Regs->X.Flags, &DwordRegs.Eflag, sizeof (EFI_FLAGS_REG));\r
-\r
-  Regs->E.EDI  = DwordRegs.Edi;\r
-  Regs->E.ESI  = DwordRegs.Esi;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Template of real mode code.\r
-\r
-  @param  CodeStart          Start address of code.\r
-  @param  CodeEnd            End address of code\r
-  @param  ReverseThunkStart  Start of reverse thunk.\r
-  @param  IntThunk           Low memory thunk.\r
-\r
-**/\r
-VOID\r
-RealModeTemplate (\r
-  OUT UINTN          *CodeStart,\r
-  OUT UINTN          *CodeEnd,\r
-  OUT UINTN          *ReverseThunkStart,\r
-  LOW_MEMORY_THUNK   *IntThunk\r
-  )\r
-{\r
-  SAL_RETURN_REGS SalStatus;\r
-\r
-  SalStatus           = EsalGetReverseThunkAddress ();\r
-\r
-  *CodeStart          = SalStatus.r9;\r
-  *CodeEnd            = SalStatus.r10;\r
-  *ReverseThunkStart  = SalStatus.r11;\r
-\r
-}\r
-\r
-\r
-/**\r
-  Allocate memory < 1 MB and copy the thunker code into low memory. Se up\r
-  all the descriptors.\r
-\r
-  @param  Private            Private context for Legacy BIOS\r
-\r
-  @retval EFI_SUCCESS        Should only pass.\r
-\r
-**/\r
-EFI_STATUS\r
-LegacyBiosInitializeThunk (\r
-  IN  LEGACY_BIOS_INSTANCE    *Private\r
-  )\r
-{\r
-  GDT32               *CodeGdt;\r
-  GDT32               *DataGdt;\r
-  UINTN             CodeStart;\r
-  UINTN             CodeEnd;\r
-  UINTN             ReverseThunkStart;\r
-  UINT32            Base;\r
-  LOW_MEMORY_THUNK  *IntThunk;\r
-  UINTN             TempData;\r
-\r
-  ASSERT (Private);\r
-\r
-  IntThunk = Private->IntThunk;\r
-\r
-  //\r
-  // Clear the reserved descriptor\r
-  //\r
-  ZeroMem (&(IntThunk->RealModeGdt[0]), sizeof (GDT32));\r
-\r
-  //\r
-  // Setup a descriptor for real-mode code\r
-  //\r
-  CodeGdt = &(IntThunk->RealModeGdt[1]);\r
-\r
-  //\r
-  // Fill in the descriptor with our real-mode segment value\r
-  //\r
-  CodeGdt->Type = 0xA;\r
-  //\r
-  // code/read\r
-  //\r
-  CodeGdt->System       = 1;\r
-  CodeGdt->Dpl          = 0;\r
-  CodeGdt->Present      = 1;\r
-  CodeGdt->Software     = 0;\r
-  CodeGdt->Reserved     = 0;\r
-  CodeGdt->DefaultSize  = 0;\r
-  //\r
-  // 16 bit operands\r
-  //\r
-  CodeGdt->Granularity  = 0;\r
-\r
-  CodeGdt->LimitHi      = 0;\r
-  CodeGdt->LimitLo      = 0xffff;\r
-\r
-  Base                  = (*((UINT32 *) &IntThunk->Code));\r
-  CodeGdt->BaseHi       = (Base >> 24) & 0xFF;\r
-  CodeGdt->BaseMid      = (Base >> 16) & 0xFF;\r
-  CodeGdt->BaseLo       = Base & 0xFFFF;\r
-\r
-  //\r
-  // Setup a descriptor for read-mode data\r
-  //\r
-  DataGdt = &(IntThunk->RealModeGdt[2]);\r
-  CopyMem (DataGdt, CodeGdt, sizeof (GDT32));\r
-\r
-  DataGdt->Type = 0x2;\r
-  //\r
-  // read/write data\r
-  //\r
-  DataGdt->BaseHi = 0x0;\r
-  //\r
-  // Base = 0\r
-  //\r
-  DataGdt->BaseMid = 0x0;\r
-  //\r
-  DataGdt->BaseLo = 0x0;\r
-  //\r
-  DataGdt->LimitHi = 0x0F;\r
-  //\r
-  // Limit = 4Gb\r
-  //\r
-  DataGdt->LimitLo = 0xFFFF;\r
-  //\r
-  DataGdt->Granularity = 0x1;\r
-  //\r
-  //\r
-  // Compute selector value\r
-  //\r
-  IntThunk->RealModeGdtDesc.Limit = (UINT16) (sizeof (IntThunk->RealModeGdt) - 1);\r
-  CopyMem (&IntThunk->RealModeGdtDesc.Base, (UINT32 *) &IntThunk->RealModeGdt, sizeof (UINT32));\r
-  //\r
-  //  IntThunk->RealModeGdtDesc.Base = *((UINT32*) &IntThunk->RealModeGdt);\r
-  //\r
-  IntThunk->RealModeIdtDesc.Limit = 0xFFFF;\r
-  IntThunk->RealModeIdtDesc.Base  = 0;\r
-  IntThunk->LowCodeSelector       = (UINT32) ((UINTN) CodeGdt - IntThunk->RealModeGdtDesc.Base);\r
-  IntThunk->LowDataSelector       = (UINT32) ((UINTN) DataGdt - IntThunk->RealModeGdtDesc.Base);\r
-\r
-  //\r
-  // Initialize low real-mode code thunk\r
-  //\r
-  RealModeTemplate (&CodeStart, &CodeEnd, &ReverseThunkStart, IntThunk);\r
-\r
-  TempData                        = (UINTN) &(IntThunk->Code);\r
-  IntThunk->LowReverseThunkStart  = ((UINT32) TempData + (UINT32) (ReverseThunkStart - CodeStart));\r
-\r
-  EsalSetSalDataArea (TempData, (UINTN) IntThunk);\r
-  CopyMem (IntThunk->Code, (VOID *) CodeStart, CodeEnd - CodeStart);\r
-\r
-  IntThunk->EfiToLegacy16InitTable.ReverseThunkCallSegment = EFI_SEGMENT (*((UINT32 *) &IntThunk->LowReverseThunkStart));\r
-  IntThunk->EfiToLegacy16InitTable.ReverseThunkCallOffset = EFI_OFFSET (*((UINT32 *) &IntThunk->LowReverseThunkStart));\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Thunk to 16-bit real mode and execute a software interrupt with a vector\r
-  of BiosInt. Regs will contain the 16-bit register context on entry and\r
-  exit.\r
-\r
-  @param  This               Protocol instance pointer.\r
-  @param  BiosInt            Processor interrupt vector to invoke\r
-  @param  Regs               Register contexted passed into (and returned) from\r
-                             thunk to  16-bit mode\r
-\r
-  @retval FALSE              Thunk completed, and there were no BIOS errors in the\r
-                             target code. See Regs for status.\r
-  @retval TRUE               There was a BIOS erro in the target code.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LegacyBiosInt86 (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL           *This,\r
-  IN  UINT8                             BiosInt,\r
-  IN  EFI_IA32_REGISTER_SET             *Regs\r
-  )\r
-{\r
-  EFI_STATUS            Status;\r
-  LEGACY_BIOS_INSTANCE  *Private;\r
-  LOW_MEMORY_THUNK      *IntThunk;\r
-  UINT16                *Stack16;\r
-  EFI_TPL               OriginalTpl;\r
-  UINTN                 IaSegment;\r
-  UINTN                 IaOffset;\r
-  UINTN                 *Address;\r
-  UINTN                 TempData;\r
-\r
-  Private   = LEGACY_BIOS_INSTANCE_FROM_THIS (This);\r
-  IntThunk  = Private->IntThunk;\r
-\r
-  //\r
-  // Get the current flat GDT, IDT, and SS and store them in Private->IntThunk.\r
-  //\r
-  Status = LegacyBiosGetFlatDescs (Private);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  Regs->X.Flags.Reserved1 = 1;\r
-  Regs->X.Flags.Reserved2 = 0;\r
-  Regs->X.Flags.Reserved3 = 0;\r
-  Regs->X.Flags.Reserved4 = 0;\r
-  Regs->X.Flags.IOPL      = 3;\r
-  Regs->X.Flags.NT        = 0;\r
-  Regs->X.Flags.IF        = 1;\r
-  Regs->X.Flags.TF        = 0;\r
-  Regs->X.Flags.CF        = 0;\r
-  //\r
-  // Clear the error flag; thunk code may set it.\r
-  //\r
-  Stack16 = (UINT16 *) (IntThunk->Stack + LOW_STACK_SIZE);\r
-\r
-  //\r
-  // Copy regs to low memory stack\r
-  //\r
-  Stack16 -= sizeof (EFI_IA32_REGISTER_SET) / sizeof (UINT16);\r
-  CopyMem (Stack16, Regs, sizeof (EFI_IA32_REGISTER_SET));\r
-\r
-  //\r
-  // Provide low stack esp\r
-  //\r
-  TempData            = ((UINTN) Stack16) - ((UINTN) IntThunk);\r
-  IntThunk->LowStack  = *((UINT32 *) &TempData);\r
-\r
-  //\r
-  // Stack for reverse thunk flat mode.\r
-  //    It must point to top of stack (end of stack space).\r
-  //\r
-  TempData                = ((UINTN) IntThunk->RevThunkStack) + LOW_STACK_SIZE;\r
-  IntThunk->RevFlatStack  = *((UINT32 *) &TempData);\r
-\r
-  //\r
-  // The call to Legacy16 is a critical section to EFI\r
-  //\r
-  OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);\r
-\r
-  //\r
-  // Set Legacy16 state. 0x08, 0x70 is legacy 8259 vector bases.\r
-  //\r
-  Status = Private->Legacy8259->SetMode (Private->Legacy8259, Efi8259LegacyMode, NULL, NULL);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Call the real mode thunk code\r
-  //\r
-  TempData  = BiosInt * 4;\r
-  Address   = (UINTN *) TempData;\r
-  IaOffset  = 0xFFFF & (*Address);\r
-  IaSegment = 0xFFFF & ((*Address) >> 16);\r
-\r
-  Status = BiosIntCall (\r
-            BiosInt,\r
-            (UINT16) IaSegment,\r
-            (UINT16) IaOffset,\r
-            (EFI_IA32_REGISTER_SET *) Stack16,\r
-            IntThunk,\r
-            IntThunk->LowStack\r
-            );\r
-\r
-  //\r
-  // Check for errors with the thunk\r
-  //\r
-  switch (Status) {\r
-  case THUNK_OK:\r
-    break;\r
-\r
-  case THUNK_ERR_A20_UNSUP:\r
-  case THUNK_ERR_A20_FAILED:\r
-  default:\r
-    //\r
-    // For all errors, set EFLAGS.CF (used by legacy BIOS to indicate error).\r
-    //\r
-    Regs->X.Flags.CF = 1;\r
-    break;\r
-  }\r
-\r
-  Status  = Private->Legacy8259->SetMode (Private->Legacy8259, Efi8259ProtectedMode, NULL, NULL);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // End critical section\r
-  //\r
-  gBS->RestoreTPL (OriginalTpl);\r
-\r
-  //\r
-  // Return the resulting registers\r
-  //\r
-  CopyMem (Regs, Stack16, sizeof (EFI_IA32_REGISTER_SET));\r
-\r
-  return (BOOLEAN) (Regs->X.Flags.CF != 0);\r
-}\r
-\r
-\r
-/**\r
-  Thunk to 16-bit real mode and call Segment:Offset. Regs will contain the\r
-  16-bit register context on entry and exit. Arguments can be passed on\r
-  the Stack argument\r
-\r
-  @param  This               Protocol instance pointer.\r
-  @param  Segment            Segemnt of 16-bit mode call\r
-  @param  Offset             Offset of 16-bit mdoe call\r
-  @param  Regs               Register contexted passed into (and returned) from\r
-                             thunk to  16-bit mode\r
-  @param  Stack              Caller allocated stack used to pass arguments\r
-  @param  StackSize          Size of Stack in bytes\r
-\r
-  @retval FALSE              Thunk completed, and there were no BIOS errors in the\r
-                             target code. See Regs for status.\r
-  @retval TRUE               There was a BIOS erro in the target code.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LegacyBiosFarCall86 (\r
-  IN EFI_LEGACY_BIOS_PROTOCOL           *This,\r
-  IN  UINT16                            Segment,\r
-  IN  UINT16                            Offset,\r
-  IN  EFI_IA32_REGISTER_SET             *Regs,\r
-  IN  VOID                              *Stack,\r
-  IN  UINTN                             StackSize\r
-  )\r
-{\r
-  EFI_STATUS            Status;\r
-  LEGACY_BIOS_INSTANCE  *Private;\r
-  LOW_MEMORY_THUNK      *IntThunk;\r
-  UINT16                *Stack16;\r
-  EFI_TPL               OriginalTpl;\r
-  UINTN                 IaSegment;\r
-  UINTN                 IaOffset;\r
-  UINTN                 TempData;\r
-\r
-  Private   = LEGACY_BIOS_INSTANCE_FROM_THIS (This);\r
-  IntThunk  = Private->IntThunk;\r
-  IaSegment = Segment;\r
-  IaOffset  = Offset;\r
-\r
-  //\r
-  // Get the current flat GDT and IDT and store them in Private->IntThunk.\r
-  //\r
-  Status = LegacyBiosGetFlatDescs (Private);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  Regs->X.Flags.Reserved1 = 1;\r
-  Regs->X.Flags.Reserved2 = 0;\r
-  Regs->X.Flags.Reserved3 = 0;\r
-  Regs->X.Flags.Reserved4 = 0;\r
-  Regs->X.Flags.IOPL      = 3;\r
-  Regs->X.Flags.NT        = 0;\r
-  Regs->X.Flags.IF        = 1;\r
-  Regs->X.Flags.TF        = 0;\r
-  Regs->X.Flags.CF        = 0;\r
-  //\r
-  // Clear the error flag; thunk code may set it.\r
-  //\r
-  Stack16 = (UINT16 *) (IntThunk->Stack + LOW_STACK_SIZE);\r
-  if (Stack != NULL && StackSize != 0) {\r
-    //\r
-    // Copy Stack to low memory stack\r
-    //\r
-    Stack16 -= StackSize / sizeof (UINT16);\r
-    CopyMem (Stack16, Stack, StackSize);\r
-  }\r
-  //\r
-  // Copy regs to low memory stack\r
-  //\r
-  Stack16 -= sizeof (EFI_IA32_REGISTER_SET) / sizeof (UINT16);\r
-  CopyMem (Stack16, Regs, sizeof (EFI_IA32_REGISTER_SET));\r
-\r
-  //\r
-  // Provide low stack esp\r
-  //\r
-  TempData            = ((UINTN) Stack16) - ((UINTN) IntThunk);\r
-  IntThunk->LowStack  = *((UINT32 *) &TempData);\r
-\r
-  //\r
-  // The call to Legacy16 is a critical section to EFI\r
-  //\r
-  OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);\r
-\r
-  //\r
-  // Set Legacy16 state. 0x08, 0x70 is legacy 8259 vector bases.\r
-  //\r
-  Status = Private->Legacy8259->SetMode (Private->Legacy8259, Efi8259LegacyMode, NULL, NULL);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Call the real mode thunk code\r
-  //\r
-  Status = BiosIntCall (\r
-            0x100,\r
-            (UINT16) IaSegment,\r
-            (UINT16) IaOffset,\r
-            (EFI_IA32_REGISTER_SET *) Stack16,\r
-            IntThunk,\r
-            IntThunk->LowStack\r
-            );\r
-\r
-  //\r
-  // Check for errors with the thunk\r
-  //\r
-  switch (Status) {\r
-  case THUNK_OK:\r
-    break;\r
-\r
-  case THUNK_ERR_A20_UNSUP:\r
-  case THUNK_ERR_A20_FAILED:\r
-  default:\r
-    //\r
-    // For all errors, set EFLAGS.CF (used by legacy BIOS to indicate error).\r
-    //\r
-    Regs->X.Flags.CF = 1;\r
-    break;\r
-  }\r
-  //\r
-  // Restore protected mode interrupt state\r
-  //\r
-  Status = Private->Legacy8259->SetMode (Private->Legacy8259, Efi8259ProtectedMode, NULL, NULL);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // End critical section\r
-  //\r
-  gBS->RestoreTPL (OriginalTpl);\r
-\r
-  //\r
-  // Return the resulting registers\r
-  //\r
-  CopyMem (Regs, Stack16, sizeof (EFI_IA32_REGISTER_SET));\r
-  Stack16 += sizeof (EFI_IA32_REGISTER_SET) / sizeof (UINT16);\r
-\r
-  if (Stack != NULL && StackSize != 0) {\r
-    //\r
-    // Copy low memory stack to Stack\r
-    //\r
-    CopyMem (Stack, Stack16, StackSize);\r
-    Stack16 += StackSize / sizeof (UINT16);\r
-  }\r
-\r
-  return (BOOLEAN) (Regs->X.Flags.CF != 0);\r
-}\r
index a1b94b4..6eb01fc 100644 (file)
@@ -29,7 +29,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF\r
+#  VALID_ARCHITECTURES           = IA32 X64\r
 #\r
 \r
 [Sources]\r
   LegacyBbs.c\r
   LegacySio.c\r
 \r
-[Sources.IPF]\r
-  Ipf/IpfThunk.s\r
-  Ipf/Thunk.c\r
-  Ipf/IpfThunk.i\r
-  Ipf/IpfBootSupport.c\r
-  Ipf/IpfThunk.h\r
-\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   MdeModulePkg/MdeModulePkg.dec\r
   UefiRuntimeServicesTableLib\r
   BaseLib\r
 \r
-[LibraryClasses.IPF]\r
-  IoLib\r
-  UefiRuntimeServicesTableLib\r
-\r
-\r
 [Guids]\r
   gEfiDiskInfoIdeInterfaceGuid                  ## SOMETIMES_CONSUMES ##GUID #Used in LegacyBiosBuildIdeData() to assure device is a disk\r
   gEfiSmbiosTableGuid                           ## SOMETIMES_CONSUMES ##SystemTable\r
index 497a711..1e84772 100644 (file)
@@ -169,12 +169,6 @@ typedef struct {
 #define CONVENTIONAL_MEMORY_TOP 0xA0000   // 640 KB\r
 #define INITIAL_VALUE_BELOW_1K  0x0\r
 \r
-#elif defined (MDE_CPU_IPF)\r
-\r
-#define NUM_REAL_GDT_ENTRIES  3\r
-#define CONVENTIONAL_MEMORY_TOP 0x80000   // 512 KB\r
-#define INITIAL_VALUE_BELOW_1K  0xff\r
-\r
 #endif\r
 \r
 #pragma pack(1)\r
@@ -346,79 +340,6 @@ typedef struct {
   BBS_TABLE                         BbsTable[MAX_BBS_ENTRIES];\r
 } LOW_MEMORY_THUNK;\r
 \r
-#elif defined (MDE_CPU_IPF)\r
-\r
-typedef struct {\r
-  //\r
-  // Space for the code\r
-  //  The address of Code is also the beginning of the relocated Thunk code\r
-  //\r
-  CHAR8                             Code[4096]; // ?\r
-  //\r
-  // The address of the Reverse Thunk code\r
-  //  Note that this member CONTAINS the address of the relocated reverse thunk\r
-  //  code unlike the member variable 'Code', which IS the address of the Thunk\r
-  //  code.\r
-  //\r
-  UINT32                            LowReverseThunkStart;\r
-\r
-  //\r
-  // Data for the code (cs releative)\r
-  //\r
-  DESCRIPTOR32                      GdtDesc;          // Protected mode GDT\r
-  DESCRIPTOR32                      IdtDesc;          // Protected mode IDT\r
-  UINT32                            FlatSs;\r
-  UINT32                            FlatEsp;\r
-\r
-  UINT32                            LowCodeSelector;  // Low code selector in GDT\r
-  UINT32                            LowDataSelector;  // Low data selector in GDT\r
-  UINT32                            LowStack;\r
-  DESCRIPTOR32                      RealModeIdtDesc;\r
-\r
-  //\r
-  // real-mode GDT (temporary GDT with two real mode segment descriptors)\r
-  //\r
-  GDT32                             RealModeGdt[NUM_REAL_GDT_ENTRIES];\r
-  DESCRIPTOR32                      RealModeGdtDesc;\r
-\r
-  //\r
-  // Members specifically for the reverse thunk\r
-  //  The RevReal* members are used to store the current state of real mode\r
-  //  before performing the reverse thunk.  The RevFlat* members must be set\r
-  //  before calling the reverse thunk assembly code.\r
-  //\r
-  UINT16                            RevRealDs;\r
-  UINT16                            RevRealSs;\r
-  UINT32                            RevRealEsp;\r
-  DESCRIPTOR32                      RevRealIdtDesc;\r
-  UINT16                            RevFlatDataSelector;  // Flat data selector in GDT\r
-  UINT32                            RevFlatStack;\r
-\r
-  //\r
-  // A low memory stack\r
-  //\r
-  CHAR8                             Stack[LOW_STACK_SIZE];\r
-\r
-  //\r
-  // Stack for flat mode after reverse thunk\r
-  // @bug - This may no longer be necessary if the reverse thunk interface\r
-  //           is changed to have the flat stack in a different location.\r
-  //\r
-  CHAR8                             RevThunkStack[LOW_STACK_SIZE];\r
-\r
-  //\r
-  // Legacy16 Init memory map info\r
-  //\r
-  EFI_TO_COMPATIBILITY16_INIT_TABLE EfiToLegacy16InitTable;\r
-\r
-  EFI_TO_COMPATIBILITY16_BOOT_TABLE EfiToLegacy16BootTable;\r
-\r
-  CHAR8                             InterruptRedirectionCode[32];\r
-  EFI_LEGACY_INSTALL_PCI_HANDLER    PciHandler;\r
-  EFI_DISPATCH_OPROM_TABLE          DispatchOpromTable;\r
-  BBS_TABLE                         BbsTable[MAX_BBS_ENTRIES];\r
-} LOW_MEMORY_THUNK;\r
-\r
 #endif\r
 \r
 //\r
index d3077fd..84e1d89 100644 (file)
@@ -25,7 +25,7 @@
   PLATFORM_VERSION               = 0.96\r
   DSC_SPECIFICATION              = 0x00010005\r
   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll\r
-  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|EBC|ARM\r
+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM\r
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT\r
   SKUID_IDENTIFIER               = DEFAULT\r
 \r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06\r
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000\r
 \r
-[PcdsFixedAtBuild.IPF]\r
-  gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000\r
-\r
-###################################################################################################\r
-#\r
-# Components Section - list of the modules and components that will be processed by compilation\r
-#                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
-#\r
-# Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
-#       into firmware volume images. This section is just a list of modules to compile from\r
-#       source into UEFI-compliant binaries.\r
-#       It is the FDF file that contains information on combining binary files into firmware\r
-#       volume images, whose concept is beyond UEFI and is described in PI specification.\r
-#       Binary modules do not need to be listed in this section, as they should be\r
-#       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
-#       Logo (Logo.bmp), and etc.\r
-#       There may also be modules listed in this section that are not required in the FDF file,\r
-#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
-#       generated for it, but the binary will not be put into any firmware volume.\r
-#\r
-###################################################################################################\r
-\r
 [Components]\r
   IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
   IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
   IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaArchCustomDecompressLib.inf\r
 \r
-[Components.IA32,Components.X64,Components.IPF]\r
+[Components.IA32,Components.X64]\r
   IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
 \r
 [Components.IA32]\r
       IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
   }\r
 \r
-[Components.IPF]\r
-  IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIoDxe.inf {\r
-    <LibraryClasses>\r
-      IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
-  }\r
-\r
 [BuildOptions]\r
   *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
index 18417d1..ee64fa0 100644 (file)
@@ -2,7 +2,7 @@
 #  This library instance produces UefiDecompressLib and Tiano Custom decompression algorithm.\r
 #  Tiano custom decompression algorithm shares most of code with Uefi Decompress algorithm.\r
 #\r
-#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -26,7 +26,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 28b4693..16b531c 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # Capsule library instance for DXE_DRIVER, DXE_RUNTIME_DRIVER.\r
 #\r
-# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -26,7 +26,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index a97d4e8..95a0e67 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  Framework DXE report status code library to support EFI1.1 and UEFI2.0 system.\r
 #\r
-#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
   FILE_GUID                      = 3ddc3b12-99ea-4364-b315-6310a2050be5\r
   MODULE_TYPE                    = DXE_DRIVER\r
   VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ReportStatusCodeLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE\r
+  LIBRARY_CLASS                  = ReportStatusCodeLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE\r
 \r
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index bdffad1..c9fe7de 100644 (file)
@@ -30,7 +30,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 79a1195..efe3080 100644 (file)
@@ -25,7 +25,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 127c7de..df485ac 100644 (file)
@@ -5,7 +5,7 @@
 #  LZMA SDK 16.04 was placed in the public domain on 2016-10-04.\r
 #  It was released on the http://www.7-zip.org/sdk.html website.\r
 #\r
-#  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -30,7 +30,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 12a063f..3c56d8f 100644 (file)
   FILE_GUID                      = bda39d3a-451b-4350-8266-81ab10fa0523\r
   MODULE_TYPE                    = PEIM\r
   VERSION_STRING                 = 1.0\r
-  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\r
+  LIBRARY_CLASS                  = DebugLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE PEIM SEC PEI_CORE UEFI_APPLICATION UEFI_DRIVER\r
 \r
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 2391deb..f62b42e 100644 (file)
@@ -29,7 +29,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 4b5e911..130b648 100644 (file)
@@ -29,7 +29,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 8b9077a..5c216ea 100644 (file)
@@ -24,7 +24,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 415397e..047fbee 100644 (file)
@@ -30,7 +30,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index e11c81d..7fec0c9 100644 (file)
@@ -37,7 +37,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 882f3d0..e24ae08 100644 (file)
@@ -26,7 +26,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 #  DRIVER_BINDING                =  gVgaClassDriverBinding\r
 #  COMPONENT_NAME                =  gVgaClassComponentName\r
index 02d533c..76689b2 100644 (file)
@@ -45,7 +45,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index f9dede8..03124d7 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  This driver takes DEBUG info from Data Hub and writes it to StdErr if it exists.\r
 #\r
-#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -24,7 +24,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 6844afb..ad50237 100644 (file)
@@ -4,7 +4,7 @@
 #  This driver produces Firmware Volume2 protocol with full services\r
 #  (read/write, get/set) based on Firmware Volume Block protocol.\r
 #\r
-# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials are\r
 # licensed and made available under the terms and conditions of the BSD License\r
@@ -29,7 +29,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 39f7d19..83f5f07 100644 (file)
@@ -29,7 +29,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 2e1956e..e0119c0 100644 (file)
@@ -30,7 +30,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 29ab566..1bf212c 100644 (file)
@@ -27,7 +27,7 @@
 \r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 82f9d1a..d484533 100644 (file)
@@ -25,7 +25,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r
index 04cef4a..83d2099 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  Status code PEIM which produces Status Code PPI.\r
 #\r
-#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -25,7 +25,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC\r
 #\r
 \r
 [Sources]\r