]> git.proxmox.com Git - mirror_edk2.git/commitdiff
PcAtChipsetPkg: Remove framework modules
authorHao A Wu <hao.a.wu@intel.com>
Mon, 27 May 2019 05:59:30 +0000 (13:59 +0800)
committerHao A Wu <hao.a.wu@intel.com>
Thu, 27 Jun 2019 00:14:19 +0000 (08:14 +0800)
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1844

The commit will remove the below modules from PcAtChipsetPkg:
* PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
* PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
* PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf

They are considered legacy framework components and will no longer be used
after the removal of IntelFramework[Module]Pkg.

Also, the unused (after the modules being removed) PCDs will be deleted in
package level DEC/UNI files.

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Hao A Wu <hao.a.wu@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
20 files changed:
PcAtChipsetPkg/8254TimerDxe/8254Timer.inf [deleted file]
PcAtChipsetPkg/8254TimerDxe/Timer.c [deleted file]
PcAtChipsetPkg/8254TimerDxe/Timer.h [deleted file]
PcAtChipsetPkg/8254TimerDxe/Timer.uni [deleted file]
PcAtChipsetPkg/8254TimerDxe/TimerExtra.uni [deleted file]
PcAtChipsetPkg/8259InterruptControllerDxe/8259.c [deleted file]
PcAtChipsetPkg/8259InterruptControllerDxe/8259.h [deleted file]
PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf [deleted file]
PcAtChipsetPkg/8259InterruptControllerDxe/Legacy8259.uni [deleted file]
PcAtChipsetPkg/8259InterruptControllerDxe/Legacy8259Extra.uni [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/ComponentName.c [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.uni [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/IsaAcpiExtra.uni [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/PcatIsaAcpi.c [deleted file]
PcAtChipsetPkg/IsaAcpiDxe/PcatIsaAcpi.h [deleted file]
PcAtChipsetPkg/PcAtChipsetPkg.dec
PcAtChipsetPkg/PcAtChipsetPkg.dsc
PcAtChipsetPkg/PcAtChipsetPkg.uni

diff --git a/PcAtChipsetPkg/8254TimerDxe/8254Timer.inf b/PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
deleted file mode 100644 (file)
index 751ed1c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-## @file\r
-# 8254 timer driver that provides Timer Arch protocol.\r
-#\r
-# Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-##\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = Timer\r
-  MODULE_UNI_FILE                = Timer.uni\r
-  FILE_GUID                      = f2765dec-6b41-11d5-8e71-00902707b35e\r
-  MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-\r
-  ENTRY_POINT                    = TimerDriverInitialize\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  IntelFrameworkPkg/IntelFrameworkPkg.dec\r
-\r
-[LibraryClasses]\r
-  UefiBootServicesTableLib\r
-  BaseLib\r
-  DebugLib\r
-  UefiDriverEntryPoint\r
-  IoLib\r
-\r
-[Sources]\r
-  Timer.h\r
-  Timer.c\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid       ## CONSUMES\r
-  gEfiLegacy8259ProtocolGuid    ## CONSUMES\r
-  gEfiTimerArchProtocolGuid     ## PRODUCES\r
-\r
-[Depex]\r
-  gEfiCpuArchProtocolGuid AND gEfiLegacy8259ProtocolGuid\r
-[UserExtensions.TianoCore."ExtraFiles"]\r
-  TimerExtra.uni\r
diff --git a/PcAtChipsetPkg/8254TimerDxe/Timer.c b/PcAtChipsetPkg/8254TimerDxe/Timer.c
deleted file mode 100644 (file)
index 67e22f5..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-/** @file\r
-  Timer Architectural Protocol as defined in the DXE CIS\r
-\r
-Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "Timer.h"\r
-\r
-//\r
-// The handle onto which the Timer Architectural Protocol will be installed\r
-//\r
-EFI_HANDLE                mTimerHandle = NULL;\r
-\r
-//\r
-// The Timer Architectural Protocol that this driver produces\r
-//\r
-EFI_TIMER_ARCH_PROTOCOL   mTimer = {\r
-  TimerDriverRegisterHandler,\r
-  TimerDriverSetTimerPeriod,\r
-  TimerDriverGetTimerPeriod,\r
-  TimerDriverGenerateSoftInterrupt\r
-};\r
-\r
-//\r
-// Pointer to the CPU Architectural Protocol instance\r
-//\r
-EFI_CPU_ARCH_PROTOCOL     *mCpu;\r
-\r
-//\r
-// Pointer to the Legacy 8259 Protocol instance\r
-//\r
-EFI_LEGACY_8259_PROTOCOL  *mLegacy8259;\r
-\r
-//\r
-// The notification function to call on every timer interrupt.\r
-// A bug in the compiler prevents us from initializing this here.\r
-//\r
-EFI_TIMER_NOTIFY mTimerNotifyFunction;\r
-\r
-//\r
-// The current period of the timer interrupt\r
-//\r
-volatile UINT64           mTimerPeriod = 0;\r
-\r
-//\r
-// Worker Functions\r
-//\r
-/**\r
-  Sets the counter value for Timer #0 in a legacy 8254 timer.\r
-\r
-  @param Count    The 16-bit counter value to program into Timer #0 of the legacy 8254 timer.\r
-**/\r
-VOID\r
-SetPitCount (\r
-  IN UINT16  Count\r
-  )\r
-{\r
-  IoWrite8 (TIMER_CONTROL_PORT, 0x36);\r
-  IoWrite8 (TIMER0_COUNT_PORT, (UINT8)(Count & 0xff));\r
-  IoWrite8 (TIMER0_COUNT_PORT, (UINT8)((Count >> 8) & 0xff));\r
-}\r
-\r
-/**\r
-  8254 Timer #0 Interrupt Handler.\r
-\r
-  @param InterruptType    The type of interrupt that occurred\r
-  @param SystemContext    A pointer to the system context when the interrupt occurred\r
-**/\r
-VOID\r
-EFIAPI\r
-TimerInterruptHandler (\r
-  IN EFI_EXCEPTION_TYPE   InterruptType,\r
-  IN EFI_SYSTEM_CONTEXT   SystemContext\r
-  )\r
-{\r
-  EFI_TPL OriginalTPL;\r
-\r
-  OriginalTPL = gBS->RaiseTPL (TPL_HIGH_LEVEL);\r
-\r
-  mLegacy8259->EndOfInterrupt (mLegacy8259, Efi8259Irq0);\r
-\r
-  if (mTimerNotifyFunction != NULL) {\r
-    //\r
-    // @bug : This does not handle missed timer interrupts\r
-    //\r
-    mTimerNotifyFunction (mTimerPeriod);\r
-  }\r
-\r
-  gBS->RestoreTPL (OriginalTPL);\r
-}\r
-\r
-/**\r
-\r
-  This function registers the handler NotifyFunction so it is called every time\r
-  the timer interrupt fires.  It also passes the amount of time since the last\r
-  handler call to the NotifyFunction.  If NotifyFunction is NULL, then the\r
-  handler is unregistered.  If the handler is registered, then EFI_SUCCESS is\r
-  returned.  If the CPU does not support registering a timer interrupt handler,\r
-  then EFI_UNSUPPORTED is returned.  If an attempt is made to register a handler\r
-  when a handler is already registered, then EFI_ALREADY_STARTED is returned.\r
-  If an attempt is made to unregister a handler when a handler is not registered,\r
-  then EFI_INVALID_PARAMETER is returned.  If an error occurs attempting to\r
-  register the NotifyFunction with the timer interrupt, then EFI_DEVICE_ERROR\r
-  is returned.\r
-\r
-\r
-  @param This             The EFI_TIMER_ARCH_PROTOCOL instance.\r
-  @param NotifyFunction   The function to call when a timer interrupt fires.  This\r
-                          function executes at TPL_HIGH_LEVEL.  The DXE Core will\r
-                          register a handler for the timer interrupt, so it can know\r
-                          how much time has passed.  This information is used to\r
-                          signal timer based events.  NULL will unregister the handler.\r
-\r
-  @retval        EFI_SUCCESS            The timer handler was registered.\r
-  @retval        EFI_UNSUPPORTED        The platform does not support timer interrupts.\r
-  @retval        EFI_ALREADY_STARTED    NotifyFunction is not NULL, and a handler is already\r
-                                        registered.\r
-  @retval        EFI_INVALID_PARAMETER  NotifyFunction is NULL, and a handler was not\r
-                                        previously registered.\r
-  @retval        EFI_DEVICE_ERROR       The timer handler could not be registered.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverRegisterHandler (\r
-  IN EFI_TIMER_ARCH_PROTOCOL  *This,\r
-  IN EFI_TIMER_NOTIFY         NotifyFunction\r
-  )\r
-{\r
-  //\r
-  // Check for invalid parameters\r
-  //\r
-  if (NotifyFunction == NULL && mTimerNotifyFunction == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  if (NotifyFunction != NULL && mTimerNotifyFunction != NULL) {\r
-    return EFI_ALREADY_STARTED;\r
-  }\r
-\r
-  mTimerNotifyFunction = NotifyFunction;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-\r
-  This function adjusts the period of timer interrupts to the value specified\r
-  by TimerPeriod.  If the timer period is updated, then the selected timer\r
-  period is stored in EFI_TIMER.TimerPeriod, and EFI_SUCCESS is returned.  If\r
-  the timer hardware is not programmable, then EFI_UNSUPPORTED is returned.\r
-  If an error occurs while attempting to update the timer period, then the\r
-  timer hardware will be put back in its state prior to this call, and\r
-  EFI_DEVICE_ERROR is returned.  If TimerPeriod is 0, then the timer interrupt\r
-  is disabled.  This is not the same as disabling the CPU's interrupts.\r
-  Instead, it must either turn off the timer hardware, or it must adjust the\r
-  interrupt controller so that a CPU interrupt is not generated when the timer\r
-  interrupt fires.\r
-\r
-\r
-  @param This            The EFI_TIMER_ARCH_PROTOCOL instance.\r
-  @param TimerPeriod     The rate to program the timer interrupt in 100 nS units.  If\r
-                         the timer hardware is not programmable, then EFI_UNSUPPORTED is\r
-                         returned.  If the timer is programmable, then the timer period\r
-                         will be rounded up to the nearest timer period that is supported\r
-                         by the timer hardware.  If TimerPeriod is set to 0, then the\r
-                         timer interrupts will be disabled.\r
-\r
-  @retval        EFI_SUCCESS       The timer period was changed.\r
-  @retval        EFI_UNSUPPORTED   The platform cannot change the period of the timer interrupt.\r
-  @retval        EFI_DEVICE_ERROR  The timer period could not be changed due to a device error.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverSetTimerPeriod (\r
-  IN EFI_TIMER_ARCH_PROTOCOL  *This,\r
-  IN UINT64                   TimerPeriod\r
-  )\r
-{\r
-  UINT64  TimerCount;\r
-\r
-  //\r
-  //  The basic clock is 1.19318 MHz or 0.119318 ticks per 100 ns.\r
-  //  TimerPeriod * 0.119318 = 8254 timer divisor. Using integer arithmetic\r
-  //  TimerCount = (TimerPeriod * 119318)/1000000.\r
-  //\r
-  //  Round up to next highest integer. This guarantees that the timer is\r
-  //  equal to or slightly longer than the requested time.\r
-  //  TimerCount = ((TimerPeriod * 119318) + 500000)/1000000\r
-  //\r
-  // Note that a TimerCount of 0 is equivalent to a count of 65,536\r
-  //\r
-  // Since TimerCount is limited to 16 bits for IA32, TimerPeriod is limited\r
-  // to 20 bits.\r
-  //\r
-  if (TimerPeriod == 0) {\r
-    //\r
-    // Disable timer interrupt for a TimerPeriod of 0\r
-    //\r
-    mLegacy8259->DisableIrq (mLegacy8259, Efi8259Irq0);\r
-  } else {\r
-\r
-    //\r
-    // Convert TimerPeriod into 8254 counts\r
-    //\r
-    TimerCount = DivU64x32 (MultU64x32 (119318, (UINT32) TimerPeriod) + 500000, 1000000);\r
-\r
-    //\r
-    // Check for overflow\r
-    //\r
-    if (TimerCount >= 65536) {\r
-      TimerCount = 0;\r
-      TimerPeriod = MAX_TIMER_TICK_DURATION;\r
-    }\r
-    //\r
-    // Program the 8254 timer with the new count value\r
-    //\r
-    SetPitCount ((UINT16) TimerCount);\r
-\r
-    //\r
-    // Enable timer interrupt\r
-    //\r
-    mLegacy8259->EnableIrq (mLegacy8259, Efi8259Irq0, FALSE);\r
-  }\r
-  //\r
-  // Save the new timer period\r
-  //\r
-  mTimerPeriod = TimerPeriod;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-\r
-  This function retrieves the period of timer interrupts in 100 ns units,\r
-  returns that value in TimerPeriod, and returns EFI_SUCCESS.  If TimerPeriod\r
-  is NULL, then EFI_INVALID_PARAMETER is returned.  If a TimerPeriod of 0 is\r
-  returned, then the timer is currently disabled.\r
-\r
-\r
-  @param This            The EFI_TIMER_ARCH_PROTOCOL instance.\r
-  @param TimerPeriod     A pointer to the timer period to retrieve in 100 ns units.  If\r
-                         0 is returned, then the timer is currently disabled.\r
-\r
-  @retval EFI_SUCCESS            The timer period was returned in TimerPeriod.\r
-  @retval EFI_INVALID_PARAMETER  TimerPeriod is NULL.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverGetTimerPeriod (\r
-  IN EFI_TIMER_ARCH_PROTOCOL   *This,\r
-  OUT UINT64                   *TimerPeriod\r
-  )\r
-{\r
-  if (TimerPeriod == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  *TimerPeriod = mTimerPeriod;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-\r
-  This function generates a soft timer interrupt. If the platform does not support soft\r
-  timer interrupts, then EFI_UNSUPPORTED is returned. Otherwise, EFI_SUCCESS is returned.\r
-  If a handler has been registered through the EFI_TIMER_ARCH_PROTOCOL.RegisterHandler()\r
-  service, then a soft timer interrupt will be generated. If the timer interrupt is\r
-  enabled when this service is called, then the registered handler will be invoked. The\r
-  registered handler should not be able to distinguish a hardware-generated timer\r
-  interrupt from a software-generated timer interrupt.\r
-\r
-\r
-  @param This              The EFI_TIMER_ARCH_PROTOCOL instance.\r
-\r
-  @retval EFI_SUCCESS       The soft timer interrupt was generated.\r
-  @retval EFI_UNSUPPORTED   The platform does not support the generation of soft timer interrupts.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverGenerateSoftInterrupt (\r
-  IN EFI_TIMER_ARCH_PROTOCOL  *This\r
-  )\r
-{\r
-  EFI_STATUS  Status;\r
-  UINT16      IRQMask;\r
-  EFI_TPL     OriginalTPL;\r
-\r
-  //\r
-  // If the timer interrupt is enabled, then the registered handler will be invoked.\r
-  //\r
-  Status = mLegacy8259->GetMask (mLegacy8259, NULL, NULL, &IRQMask, NULL);\r
-  ASSERT_EFI_ERROR (Status);\r
-  if ((IRQMask & 0x1) == 0) {\r
-    //\r
-    // Invoke the registered handler\r
-    //\r
-    OriginalTPL = gBS->RaiseTPL (TPL_HIGH_LEVEL);\r
-\r
-    if (mTimerNotifyFunction != NULL) {\r
-      //\r
-      // @bug : This does not handle missed timer interrupts\r
-      //\r
-      mTimerNotifyFunction (mTimerPeriod);\r
-    }\r
-\r
-    gBS->RestoreTPL (OriginalTPL);\r
-  } else {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Initialize the Timer Architectural Protocol driver\r
-\r
-  @param ImageHandle     ImageHandle of the loaded driver\r
-  @param SystemTable     Pointer to the System Table\r
-\r
-  @retval EFI_SUCCESS            Timer Architectural Protocol created\r
-  @retval EFI_OUT_OF_RESOURCES   Not enough resources available to initialize driver.\r
-  @retval EFI_DEVICE_ERROR       A device error occurred attempting to initialize the driver.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverInitialize (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-{\r
-  EFI_STATUS  Status;\r
-  UINT32      TimerVector;\r
-\r
-  //\r
-  // Initialize the pointer to our notify function.\r
-  //\r
-  mTimerNotifyFunction = NULL;\r
-\r
-  //\r
-  // Make sure the Timer Architectural Protocol is not already installed in the system\r
-  //\r
-  ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiTimerArchProtocolGuid);\r
-\r
-  //\r
-  // Find the CPU architectural protocol.\r
-  //\r
-  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **) &mCpu);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Find the Legacy8259 protocol.\r
-  //\r
-  Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **) &mLegacy8259);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Force the timer to be disabled\r
-  //\r
-  Status = TimerDriverSetTimerPeriod (&mTimer, 0);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Get the interrupt vector number corresponding to IRQ0 from the 8259 driver\r
-  //\r
-  TimerVector = 0;\r
-  Status      = mLegacy8259->GetVector (mLegacy8259, Efi8259Irq0, (UINT8 *) &TimerVector);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Install interrupt handler for 8254 Timer #0 (ISA IRQ0)\r
-  //\r
-  Status = mCpu->RegisterInterruptHandler (mCpu, TimerVector, TimerInterruptHandler);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Force the timer to be enabled at its default period\r
-  //\r
-  Status = TimerDriverSetTimerPeriod (&mTimer, DEFAULT_TIMER_TICK_DURATION);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Install the Timer Architectural Protocol onto a new handle\r
-  //\r
-  Status = gBS->InstallMultipleProtocolInterfaces (\r
-                  &mTimerHandle,\r
-                  &gEfiTimerArchProtocolGuid, &mTimer,\r
-                  NULL\r
-                  );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  return Status;\r
-}\r
-\r
diff --git a/PcAtChipsetPkg/8254TimerDxe/Timer.h b/PcAtChipsetPkg/8254TimerDxe/Timer.h
deleted file mode 100644 (file)
index 4c4b720..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/** @file\r
-  Private data structures\r
-\r
-Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-**/\r
-\r
-#ifndef _TIMER_H_\r
-#define _TIMER_H_\r
-\r
-#include <PiDxe.h>\r
-\r
-#include <Protocol/Cpu.h>\r
-#include <Protocol/Legacy8259.h>\r
-#include <Protocol/Timer.h>\r
-\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-\r
-//\r
-// The PCAT 8253/8254 has an input clock at 1.193182 MHz and Timer 0 is\r
-// initialized as a 16 bit free running counter that generates an interrupt(IRQ0)\r
-// each time the counter rolls over.\r
-//\r
-//   65536 counts\r
-// ---------------- * 1,000,000 uS/S = 54925.4 uS = 549254 * 100 ns\r
-//   1,193,182 Hz\r
-//\r
-\r
-//\r
-// The maximum tick duration for 8254 timer\r
-//\r
-#define MAX_TIMER_TICK_DURATION     549254\r
-//\r
-// The default timer tick duration is set to 10 ms = 100000 100 ns units\r
-//\r
-#define DEFAULT_TIMER_TICK_DURATION 100000\r
-#define TIMER_CONTROL_PORT          0x43\r
-#define TIMER0_COUNT_PORT           0x40\r
-\r
-//\r
-// Function Prototypes\r
-//\r
-/**\r
-  Initialize the Timer Architectural Protocol driver\r
-\r
-  @param ImageHandle     ImageHandle of the loaded driver\r
-  @param SystemTable     Pointer to the System Table\r
-\r
-  @retval EFI_SUCCESS            Timer Architectural Protocol created\r
-  @retval EFI_OUT_OF_RESOURCES   Not enough resources available to initialize driver.\r
-  @retval EFI_DEVICE_ERROR       A device error occurred attempting to initialize the driver.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverInitialize (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-;\r
-\r
-/**\r
-\r
-  This function adjusts the period of timer interrupts to the value specified\r
-  by TimerPeriod.  If the timer period is updated, then the selected timer\r
-  period is stored in EFI_TIMER.TimerPeriod, and EFI_SUCCESS is returned.  If\r
-  the timer hardware is not programmable, then EFI_UNSUPPORTED is returned.\r
-  If an error occurs while attempting to update the timer period, then the\r
-  timer hardware will be put back in its state prior to this call, and\r
-  EFI_DEVICE_ERROR is returned.  If TimerPeriod is 0, then the timer interrupt\r
-  is disabled.  This is not the same as disabling the CPU's interrupts.\r
-  Instead, it must either turn off the timer hardware, or it must adjust the\r
-  interrupt controller so that a CPU interrupt is not generated when the timer\r
-  interrupt fires.\r
-\r
-\r
-  @param This            The EFI_TIMER_ARCH_PROTOCOL instance.\r
-  @param NotifyFunction  The rate to program the timer interrupt in 100 nS units.  If\r
-                         the timer hardware is not programmable, then EFI_UNSUPPORTED is\r
-                         returned.  If the timer is programmable, then the timer period\r
-                         will be rounded up to the nearest timer period that is supported\r
-                         by the timer hardware.  If TimerPeriod is set to 0, then the\r
-                         timer interrupts will be disabled.\r
-\r
-  @retval        EFI_SUCCESS       The timer period was changed.\r
-  @retval        EFI_UNSUPPORTED   The platform cannot change the period of the timer interrupt.\r
-  @retval        EFI_DEVICE_ERROR  The timer period could not be changed due to a device error.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverRegisterHandler (\r
-  IN EFI_TIMER_ARCH_PROTOCOL  *This,\r
-  IN EFI_TIMER_NOTIFY         NotifyFunction\r
-  )\r
-;\r
-\r
-/**\r
-\r
-  This function adjusts the period of timer interrupts to the value specified\r
-  by TimerPeriod.  If the timer period is updated, then the selected timer\r
-  period is stored in EFI_TIMER.TimerPeriod, and EFI_SUCCESS is returned.  If\r
-  the timer hardware is not programmable, then EFI_UNSUPPORTED is returned.\r
-  If an error occurs while attempting to update the timer period, then the\r
-  timer hardware will be put back in its state prior to this call, and\r
-  EFI_DEVICE_ERROR is returned.  If TimerPeriod is 0, then the timer interrupt\r
-  is disabled.  This is not the same as disabling the CPU's interrupts.\r
-  Instead, it must either turn off the timer hardware, or it must adjust the\r
-  interrupt controller so that a CPU interrupt is not generated when the timer\r
-  interrupt fires.\r
-\r
-\r
-  @param This            The EFI_TIMER_ARCH_PROTOCOL instance.\r
-  @param TimerPeriod     The rate to program the timer interrupt in 100 nS units.  If\r
-                         the timer hardware is not programmable, then EFI_UNSUPPORTED is\r
-                         returned.  If the timer is programmable, then the timer period\r
-                         will be rounded up to the nearest timer period that is supported\r
-                         by the timer hardware.  If TimerPeriod is set to 0, then the\r
-                         timer interrupts will be disabled.\r
-\r
-  @retval        EFI_SUCCESS       The timer period was changed.\r
-  @retval        EFI_UNSUPPORTED   The platform cannot change the period of the timer interrupt.\r
-  @retval        EFI_DEVICE_ERROR  The timer period could not be changed due to a device error.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverSetTimerPeriod (\r
-  IN EFI_TIMER_ARCH_PROTOCOL  *This,\r
-  IN UINT64                   TimerPeriod\r
-  )\r
-;\r
-\r
-/**\r
-\r
-  This function retrieves the period of timer interrupts in 100 ns units,\r
-  returns that value in TimerPeriod, and returns EFI_SUCCESS.  If TimerPeriod\r
-  is NULL, then EFI_INVALID_PARAMETER is returned.  If a TimerPeriod of 0 is\r
-  returned, then the timer is currently disabled.\r
-\r
-\r
-  @param This            The EFI_TIMER_ARCH_PROTOCOL instance.\r
-  @param TimerPeriod     A pointer to the timer period to retrieve in 100 ns units.  If\r
-                         0 is returned, then the timer is currently disabled.\r
-\r
-  @retval EFI_SUCCESS            The timer period was returned in TimerPeriod.\r
-  @retval EFI_INVALID_PARAMETER  TimerPeriod is NULL.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverGetTimerPeriod (\r
-  IN EFI_TIMER_ARCH_PROTOCOL   *This,\r
-  OUT UINT64                   *TimerPeriod\r
-  )\r
-;\r
-\r
-/**\r
-\r
-  This function generates a soft timer interrupt. If the platform does not support soft\r
-  timer interrupts, then EFI_UNSUPPORTED is returned. Otherwise, EFI_SUCCESS is returned.\r
-  If a handler has been registered through the EFI_TIMER_ARCH_PROTOCOL.RegisterHandler()\r
-  service, then a soft timer interrupt will be generated. If the timer interrupt is\r
-  enabled when this service is called, then the registered handler will be invoked. The\r
-  registered handler should not be able to distinguish a hardware-generated timer\r
-  interrupt from a software-generated timer interrupt.\r
-\r
-\r
-  @param This              The EFI_TIMER_ARCH_PROTOCOL instance.\r
-\r
-  @retval EFI_SUCCESS       The soft timer interrupt was generated.\r
-  @retval EFI_UNSUPPORTED   The platform does not support the generation of soft timer interrupts.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TimerDriverGenerateSoftInterrupt (\r
-  IN EFI_TIMER_ARCH_PROTOCOL  *This\r
-  )\r
-;\r
-\r
-#endif\r
diff --git a/PcAtChipsetPkg/8254TimerDxe/Timer.uni b/PcAtChipsetPkg/8254TimerDxe/Timer.uni
deleted file mode 100644 (file)
index 7f3d35f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// /** @file\r
-// 8254 timer driver that provides Timer Arch protocol.\r
-//\r
-// 8254 timer driver that provides Timer Arch protocol.\r
-//\r
-// Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// **/\r
-\r
-\r
-#string STR_MODULE_ABSTRACT             #language en-US "8254 timer driver that provides Timer Arch protocol"\r
-\r
-#string STR_MODULE_DESCRIPTION          #language en-US "8254 timer driver that provides Timer Arch protocol."\r
-\r
diff --git a/PcAtChipsetPkg/8254TimerDxe/TimerExtra.uni b/PcAtChipsetPkg/8254TimerDxe/TimerExtra.uni
deleted file mode 100644 (file)
index 7a54767..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// /** @file\r
-// Timer Localized Strings and Content\r
-//\r
-// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// **/\r
-\r
-#string STR_PROPERTIES_MODULE_NAME\r
-#language en-US\r
-"8254 Timer DXE Driver"\r
-\r
-\r
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
deleted file mode 100644 (file)
index 1c2ac10..0000000
+++ /dev/null
@@ -1,622 +0,0 @@
-/** @file\r
-  This contains the installation function for the driver.\r
-\r
-Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "8259.h"\r
-\r
-//\r
-// Global for the Legacy 8259 Protocol that is produced by this driver\r
-//\r
-EFI_LEGACY_8259_PROTOCOL  mInterrupt8259 = {\r
-  Interrupt8259SetVectorBase,\r
-  Interrupt8259GetMask,\r
-  Interrupt8259SetMask,\r
-  Interrupt8259SetMode,\r
-  Interrupt8259GetVector,\r
-  Interrupt8259EnableIrq,\r
-  Interrupt8259DisableIrq,\r
-  Interrupt8259GetInterruptLine,\r
-  Interrupt8259EndOfInterrupt\r
-};\r
-\r
-//\r
-// Global for the handle that the Legacy 8259 Protocol is installed\r
-//\r
-EFI_HANDLE                m8259Handle             = NULL;\r
-\r
-UINT8                     mMasterBase             = 0xff;\r
-UINT8                     mSlaveBase              = 0xff;\r
-EFI_8259_MODE             mMode                   = Efi8259ProtectedMode;\r
-UINT16                    mProtectedModeMask      = 0xffff;\r
-UINT16                    mLegacyModeMask;\r
-UINT16                    mProtectedModeEdgeLevel = 0x0000;\r
-UINT16                    mLegacyModeEdgeLevel;\r
-\r
-//\r
-// Worker Functions\r
-//\r
-\r
-/**\r
-  Write to mask and edge/level triggered registers of master and slave PICs.\r
-\r
-  @param[in]  Mask       low byte for master PIC mask register,\r
-                         high byte for slave PIC mask register.\r
-  @param[in]  EdgeLevel  low byte for master PIC edge/level triggered register,\r
-                         high byte for slave PIC edge/level triggered register.\r
-\r
-**/\r
-VOID\r
-Interrupt8259WriteMask (\r
-  IN UINT16  Mask,\r
-  IN UINT16  EdgeLevel\r
-  )\r
-{\r
-  IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, (UINT8) Mask);\r
-  IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, (UINT8) (Mask >> 8));\r
-  IoWrite8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER, (UINT8) EdgeLevel);\r
-  IoWrite8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE, (UINT8) (EdgeLevel >> 8));\r
-}\r
-\r
-/**\r
-  Read from mask and edge/level triggered registers of master and slave PICs.\r
-\r
-  @param[out]  Mask       low byte for master PIC mask register,\r
-                          high byte for slave PIC mask register.\r
-  @param[out]  EdgeLevel  low byte for master PIC edge/level triggered register,\r
-                          high byte for slave PIC edge/level triggered register.\r
-\r
-**/\r
-VOID\r
-Interrupt8259ReadMask (\r
-  OUT UINT16  *Mask,\r
-  OUT UINT16  *EdgeLevel\r
-  )\r
-{\r
-  UINT16  MasterValue;\r
-  UINT16  SlaveValue;\r
-\r
-  if (Mask != NULL) {\r
-    MasterValue = IoRead8 (LEGACY_8259_MASK_REGISTER_MASTER);\r
-    SlaveValue  = IoRead8 (LEGACY_8259_MASK_REGISTER_SLAVE);\r
-\r
-    *Mask = (UINT16) (MasterValue | (SlaveValue << 8));\r
-  }\r
-\r
-  if (EdgeLevel != NULL) {\r
-    MasterValue = IoRead8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER);\r
-    SlaveValue  = IoRead8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE);\r
-\r
-    *EdgeLevel = (UINT16) (MasterValue | (SlaveValue << 8));\r
-  }\r
-}\r
-\r
-//\r
-// Legacy 8259 Protocol Interface Functions\r
-//\r
-\r
-/**\r
-  Sets the base address for the 8259 master and slave PICs.\r
-\r
-  @param[in]  This        Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  MasterBase  Interrupt vectors for IRQ0-IRQ7.\r
-  @param[in]  SlaveBase   Interrupt vectors for IRQ8-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS       The 8259 PIC was programmed successfully.\r
-  @retval  EFI_DEVICE_ERROR  There was an error while writing to the 8259 PIC.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259SetVectorBase (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN UINT8                     MasterBase,\r
-  IN UINT8                     SlaveBase\r
-  )\r
-{\r
-  UINT8   Mask;\r
-  EFI_TPL OriginalTpl;\r
-\r
-  OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);\r
-  //\r
-  // Set vector base for slave PIC\r
-  //\r
-  if (SlaveBase != mSlaveBase) {\r
-    mSlaveBase = SlaveBase;\r
-\r
-    //\r
-    // Initialization sequence is needed for setting vector base.\r
-    //\r
-\r
-    //\r
-    // Preserve interrtup mask register before initialization sequence\r
-    // because it will be cleared during initialization\r
-    //\r
-    Mask = IoRead8 (LEGACY_8259_MASK_REGISTER_SLAVE);\r
-\r
-    //\r
-    // ICW1: cascade mode, ICW4 write required\r
-    //\r
-    IoWrite8 (LEGACY_8259_CONTROL_REGISTER_SLAVE, 0x11);\r
-\r
-    //\r
-    // ICW2: new vector base (must be multiple of 8)\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, mSlaveBase);\r
-\r
-    //\r
-    // ICW3: slave indentification code must be 2\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, 0x02);\r
-\r
-    //\r
-    // ICW4: fully nested mode, non-buffered mode, normal EOI, IA processor\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, 0x01);\r
-\r
-    //\r
-    // Restore interrupt mask register\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, Mask);\r
-  }\r
-\r
-  //\r
-  // Set vector base for master PIC\r
-  //\r
-  if (MasterBase != mMasterBase) {\r
-    mMasterBase = MasterBase;\r
-\r
-    //\r
-    // Initialization sequence is needed for setting vector base.\r
-    //\r
-\r
-    //\r
-    // Preserve interrtup mask register before initialization sequence\r
-    // because it will be cleared during initialization\r
-    //\r
-    Mask = IoRead8 (LEGACY_8259_MASK_REGISTER_MASTER);\r
-\r
-    //\r
-    // ICW1: cascade mode, ICW4 write required\r
-    //\r
-    IoWrite8 (LEGACY_8259_CONTROL_REGISTER_MASTER, 0x11);\r
-\r
-    //\r
-    // ICW2: new vector base (must be multiple of 8)\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, mMasterBase);\r
-\r
-    //\r
-    // ICW3: slave PIC is cascaded on IRQ2\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, 0x04);\r
-\r
-    //\r
-    // ICW4: fully nested mode, non-buffered mode, normal EOI, IA processor\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, 0x01);\r
-\r
-    //\r
-    // Restore interrupt mask register\r
-    //\r
-    IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, Mask);\r
-  }\r
-\r
-  IoWrite8 (LEGACY_8259_CONTROL_REGISTER_SLAVE, LEGACY_8259_EOI);\r
-  IoWrite8 (LEGACY_8259_CONTROL_REGISTER_MASTER, LEGACY_8259_EOI);\r
-\r
-  gBS->RestoreTPL (OriginalTpl);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Gets the current 16-bit real mode and 32-bit protected-mode IRQ masks.\r
-\r
-  @param[in]   This                Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[out]  LegacyMask          16-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[out]  LegacyEdgeLevel     16-bit mode edge/level mask for IRQ-IRQ15.\r
-  @param[out]  ProtectedMask       32-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[out]  ProtectedEdgeLevel  32-bit mode edge/level mask for IRQ0-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS       The 8259 PIC was programmed successfully.\r
-  @retval  EFI_DEVICE_ERROR  There was an error while reading the 8259 PIC.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259GetMask (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  OUT UINT16                    *LegacyMask, OPTIONAL\r
-  OUT UINT16                    *LegacyEdgeLevel, OPTIONAL\r
-  OUT UINT16                    *ProtectedMask, OPTIONAL\r
-  OUT UINT16                    *ProtectedEdgeLevel OPTIONAL\r
-  )\r
-{\r
-  if (LegacyMask != NULL) {\r
-    *LegacyMask = mLegacyModeMask;\r
-  }\r
-\r
-  if (LegacyEdgeLevel != NULL) {\r
-    *LegacyEdgeLevel = mLegacyModeEdgeLevel;\r
-  }\r
-\r
-  if (ProtectedMask != NULL) {\r
-    *ProtectedMask = mProtectedModeMask;\r
-  }\r
-\r
-  if (ProtectedEdgeLevel != NULL) {\r
-    *ProtectedEdgeLevel = mProtectedModeEdgeLevel;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Sets the current 16-bit real mode and 32-bit protected-mode IRQ masks.\r
-\r
-  @param[in]  This                Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  LegacyMask          16-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[in]  LegacyEdgeLevel     16-bit mode edge/level mask for IRQ-IRQ15.\r
-  @param[in]  ProtectedMask       32-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[in]  ProtectedEdgeLevel  32-bit mode edge/level mask for IRQ0-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS       The 8259 PIC was programmed successfully.\r
-  @retval  EFI_DEVICE_ERROR  There was an error while writing the 8259 PIC.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259SetMask (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN UINT16                    *LegacyMask, OPTIONAL\r
-  IN UINT16                    *LegacyEdgeLevel, OPTIONAL\r
-  IN UINT16                    *ProtectedMask, OPTIONAL\r
-  IN UINT16                    *ProtectedEdgeLevel OPTIONAL\r
-  )\r
-{\r
-  if (LegacyMask != NULL) {\r
-    mLegacyModeMask = *LegacyMask;\r
-  }\r
-\r
-  if (LegacyEdgeLevel != NULL) {\r
-    mLegacyModeEdgeLevel = *LegacyEdgeLevel;\r
-  }\r
-\r
-  if (ProtectedMask != NULL) {\r
-    mProtectedModeMask = *ProtectedMask;\r
-  }\r
-\r
-  if (ProtectedEdgeLevel != NULL) {\r
-    mProtectedModeEdgeLevel = *ProtectedEdgeLevel;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Sets the mode of the PICs.\r
-\r
-  @param[in]  This       Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Mode       16-bit real or 32-bit protected mode.\r
-  @param[in]  Mask       The value with which to set the interrupt mask.\r
-  @param[in]  EdgeLevel  The value with which to set the edge/level mask.\r
-\r
-  @retval  EFI_SUCCESS            The mode was set successfully.\r
-  @retval  EFI_INVALID_PARAMETER  The mode was not set.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259SetMode (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_MODE             Mode,\r
-  IN UINT16                    *Mask, OPTIONAL\r
-  IN UINT16                    *EdgeLevel OPTIONAL\r
-  )\r
-{\r
-  if (Mode == mMode) {\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  if (Mode == Efi8259LegacyMode) {\r
-    //\r
-    // In Efi8259ProtectedMode, mask and edge/level trigger registers should\r
-    // be changed through this protocol, so we can track them in the\r
-    // corresponding module variables.\r
-    //\r
-    Interrupt8259ReadMask (&mProtectedModeMask, &mProtectedModeEdgeLevel);\r
-\r
-    if (Mask != NULL) {\r
-      //\r
-      // Update the Mask for the new mode\r
-      //\r
-      mLegacyModeMask = *Mask;\r
-    }\r
-\r
-    if (EdgeLevel != NULL) {\r
-      //\r
-      // Update the Edge/Level triggered mask for the new mode\r
-      //\r
-      mLegacyModeEdgeLevel = *EdgeLevel;\r
-    }\r
-\r
-    mMode = Mode;\r
-\r
-    //\r
-    // Write new legacy mode mask/trigger level\r
-    //\r
-    Interrupt8259WriteMask (mLegacyModeMask, mLegacyModeEdgeLevel);\r
-\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  if (Mode == Efi8259ProtectedMode) {\r
-    //\r
-    // Save the legacy mode mask/trigger level\r
-    //\r
-    Interrupt8259ReadMask (&mLegacyModeMask, &mLegacyModeEdgeLevel);\r
-    //\r
-    // Always force Timer to be enabled after return from 16-bit code.\r
-    // This always insures that on next entry, timer is counting.\r
-    //\r
-    mLegacyModeMask &= 0xFFFE;\r
-\r
-    if (Mask != NULL) {\r
-      //\r
-      // Update the Mask for the new mode\r
-      //\r
-      mProtectedModeMask = *Mask;\r
-    }\r
-\r
-    if (EdgeLevel != NULL) {\r
-      //\r
-      // Update the Edge/Level triggered mask for the new mode\r
-      //\r
-      mProtectedModeEdgeLevel = *EdgeLevel;\r
-    }\r
-\r
-    mMode = Mode;\r
-\r
-    //\r
-    // Write new protected mode mask/trigger level\r
-    //\r
-    Interrupt8259WriteMask (mProtectedModeMask, mProtectedModeEdgeLevel);\r
-\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  return EFI_INVALID_PARAMETER;\r
-}\r
-\r
-/**\r
-  Translates the IRQ into a vector.\r
-\r
-  @param[in]   This    Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]   Irq     IRQ0-IRQ15.\r
-  @param[out]  Vector  The vector that is assigned to the IRQ.\r
-\r
-  @retval  EFI_SUCCESS            The Vector that matches Irq was returned.\r
-  @retval  EFI_INVALID_PARAMETER  Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259GetVector (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN  EFI_8259_IRQ              Irq,\r
-  OUT UINT8                     *Vector\r
-  )\r
-{\r
-  if ((UINT32)Irq > Efi8259Irq15) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  if (Irq <= Efi8259Irq7) {\r
-    *Vector = (UINT8) (mMasterBase + Irq);\r
-  } else {\r
-    *Vector = (UINT8) (mSlaveBase + (Irq - Efi8259Irq8));\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Enables the specified IRQ.\r
-\r
-  @param[in]  This            Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Irq             IRQ0-IRQ15.\r
-  @param[in]  LevelTriggered  0 = Edge triggered; 1 = Level triggered.\r
-\r
-  @retval  EFI_SUCCESS            The Irq was enabled on the 8259 PIC.\r
-  @retval  EFI_INVALID_PARAMETER  The Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259EnableIrq (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_IRQ              Irq,\r
-  IN BOOLEAN                   LevelTriggered\r
-  )\r
-{\r
-  if ((UINT32)Irq > Efi8259Irq15) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  mProtectedModeMask = (UINT16) (mProtectedModeMask & ~(1 << Irq));\r
-  if (LevelTriggered) {\r
-    mProtectedModeEdgeLevel = (UINT16) (mProtectedModeEdgeLevel | (1 << Irq));\r
-  } else {\r
-    mProtectedModeEdgeLevel = (UINT16) (mProtectedModeEdgeLevel & ~(1 << Irq));\r
-  }\r
-\r
-  Interrupt8259WriteMask (mProtectedModeMask, mProtectedModeEdgeLevel);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Disables the specified IRQ.\r
-\r
-  @param[in]  This  Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Irq   IRQ0-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS            The Irq was disabled on the 8259 PIC.\r
-  @retval  EFI_INVALID_PARAMETER  The Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259DisableIrq (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_IRQ              Irq\r
-  )\r
-{\r
-  if ((UINT32)Irq > Efi8259Irq15) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  mProtectedModeMask = (UINT16) (mProtectedModeMask | (1 << Irq));\r
-\r
-  mProtectedModeEdgeLevel = (UINT16) (mProtectedModeEdgeLevel & ~(1 << Irq));\r
-\r
-  Interrupt8259WriteMask (mProtectedModeMask, mProtectedModeEdgeLevel);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Reads the PCI configuration space to get the interrupt number that is assigned to the card.\r
-\r
-  @param[in]   This       Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]   PciHandle  PCI function for which to return the vector.\r
-  @param[out]  Vector     IRQ number that corresponds to the interrupt line.\r
-\r
-  @retval  EFI_SUCCESS  The interrupt line value was read successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259GetInterruptLine (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                PciHandle,\r
-  OUT UINT8                     *Vector\r
-  )\r
-{\r
-  EFI_PCI_IO_PROTOCOL *PciIo;\r
-  UINT8               InterruptLine;\r
-  EFI_STATUS          Status;\r
-\r
-  Status = gBS->HandleProtocol (\r
-                  PciHandle,\r
-                  &gEfiPciIoProtocolGuid,\r
-                  (VOID **) &PciIo\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  PciIo->Pci.Read (\r
-               PciIo,\r
-               EfiPciIoWidthUint8,\r
-               PCI_INT_LINE_OFFSET,\r
-               1,\r
-               &InterruptLine\r
-               );\r
-  //\r
-  // Interrupt line is same location for standard PCI cards, standard\r
-  // bridge and CardBus bridge.\r
-  //\r
-  *Vector = InterruptLine;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Issues the End of Interrupt (EOI) commands to PICs.\r
-\r
-  @param[in]  This  Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Irq   The interrupt for which to issue the EOI command.\r
-\r
-  @retval  EFI_SUCCESS            The EOI command was issued.\r
-  @retval  EFI_INVALID_PARAMETER  The Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259EndOfInterrupt (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_IRQ              Irq\r
-  )\r
-{\r
-  if ((UINT32)Irq > Efi8259Irq15) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  if (Irq >= Efi8259Irq8) {\r
-    IoWrite8 (LEGACY_8259_CONTROL_REGISTER_SLAVE, LEGACY_8259_EOI);\r
-  }\r
-\r
-  IoWrite8 (LEGACY_8259_CONTROL_REGISTER_MASTER, LEGACY_8259_EOI);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Driver Entry point.\r
-\r
-  @param[in]  ImageHandle  ImageHandle of the loaded driver.\r
-  @param[in]  SystemTable  Pointer to the EFI System Table.\r
-\r
-  @retval  EFI_SUCCESS  One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCCESS  Error installing Legacy 8259 Protocol.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Install8259 (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-{\r
-  EFI_STATUS   Status;\r
-  EFI_8259_IRQ Irq;\r
-\r
-  //\r
-  // Initialze mask values from PCDs\r
-  //\r
-  mLegacyModeMask      = PcdGet16 (Pcd8259LegacyModeMask);\r
-  mLegacyModeEdgeLevel = PcdGet16 (Pcd8259LegacyModeEdgeLevel);\r
-\r
-  //\r
-  // Clear all pending interrupt\r
-  //\r
-  for (Irq = Efi8259Irq0; Irq <= Efi8259Irq15; Irq++) {\r
-    Interrupt8259EndOfInterrupt (&mInterrupt8259, Irq);\r
-  }\r
-\r
-  //\r
-  // Set the 8259 Master base to 0x68 and the 8259 Slave base to 0x70\r
-  //\r
-  Status = Interrupt8259SetVectorBase (&mInterrupt8259, PROTECTED_MODE_BASE_VECTOR_MASTER, PROTECTED_MODE_BASE_VECTOR_SLAVE);\r
-\r
-  //\r
-  // Set all 8259 interrupts to edge triggered and disabled\r
-  //\r
-  Interrupt8259WriteMask (mProtectedModeMask, mProtectedModeEdgeLevel);\r
-\r
-  //\r
-  // Install 8259 Protocol onto a new handle\r
-  //\r
-  Status = gBS->InstallProtocolInterface (\r
-                  &m8259Handle,\r
-                  &gEfiLegacy8259ProtocolGuid,\r
-                  EFI_NATIVE_INTERFACE,\r
-                  &mInterrupt8259\r
-                  );\r
-  return Status;\r
-}\r
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.h b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.h
deleted file mode 100644 (file)
index a874e11..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/** @file\r
-  Driver implementing the Tiano Legacy 8259 Protocol\r
-\r
-Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef _8259_H__\r
-#define _8259_H__\r
-\r
-#include <FrameworkDxe.h>\r
-\r
-#include <Protocol/Legacy8259.h>\r
-#include <Protocol/PciIo.h>\r
-\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-#include <IndustryStandard/Pci.h>\r
-\r
-// 8259 Hardware definitions\r
-\r
-#define LEGACY_MODE_BASE_VECTOR_MASTER                    0x08\r
-#define LEGACY_MODE_BASE_VECTOR_SLAVE                     0x70\r
-\r
-#define PROTECTED_MODE_BASE_VECTOR_MASTER                 0x68\r
-#define PROTECTED_MODE_BASE_VECTOR_SLAVE                  0x70\r
-\r
-#define LEGACY_8259_CONTROL_REGISTER_MASTER               0x20\r
-#define LEGACY_8259_MASK_REGISTER_MASTER                  0x21\r
-#define LEGACY_8259_CONTROL_REGISTER_SLAVE                0xA0\r
-#define LEGACY_8259_MASK_REGISTER_SLAVE                   0xA1\r
-#define LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER  0x4D0\r
-#define LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE   0x4D1\r
-\r
-#define LEGACY_8259_EOI                                   0x20\r
-\r
-// Protocol Function Prototypes\r
-\r
-/**\r
-  Sets the base address for the 8259 master and slave PICs.\r
-\r
-  @param[in]  This        Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  MasterBase  Interrupt vectors for IRQ0-IRQ7.\r
-  @param[in]  SlaveBase   Interrupt vectors for IRQ8-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS       The 8259 PIC was programmed successfully.\r
-  @retval  EFI_DEVICE_ERROR  There was an error while writing to the 8259 PIC.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259SetVectorBase (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN UINT8                     MasterBase,\r
-  IN UINT8                     SlaveBase\r
-  );\r
-\r
-/**\r
-  Gets the current 16-bit real mode and 32-bit protected-mode IRQ masks.\r
-\r
-  @param[in]   This                Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[out]  LegacyMask          16-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[out]  LegacyEdgeLevel     16-bit mode edge/level mask for IRQ-IRQ15.\r
-  @param[out]  ProtectedMask       32-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[out]  ProtectedEdgeLevel  32-bit mode edge/level mask for IRQ0-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS       The 8259 PIC was programmed successfully.\r
-  @retval  EFI_DEVICE_ERROR  There was an error while reading the 8259 PIC.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259GetMask (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  OUT UINT16                    *LegacyMask, OPTIONAL\r
-  OUT UINT16                    *LegacyEdgeLevel, OPTIONAL\r
-  OUT UINT16                    *ProtectedMask, OPTIONAL\r
-  OUT UINT16                    *ProtectedEdgeLevel OPTIONAL\r
-  );\r
-\r
-/**\r
-  Sets the current 16-bit real mode and 32-bit protected-mode IRQ masks.\r
-\r
-  @param[in]  This                Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  LegacyMask          16-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[in]  LegacyEdgeLevel     16-bit mode edge/level mask for IRQ-IRQ15.\r
-  @param[in]  ProtectedMask       32-bit mode interrupt mask for IRQ0-IRQ15.\r
-  @param[in]  ProtectedEdgeLevel  32-bit mode edge/level mask for IRQ0-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS       The 8259 PIC was programmed successfully.\r
-  @retval  EFI_DEVICE_ERROR  There was an error while writing the 8259 PIC.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259SetMask (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN UINT16                    *LegacyMask, OPTIONAL\r
-  IN UINT16                    *LegacyEdgeLevel, OPTIONAL\r
-  IN UINT16                    *ProtectedMask, OPTIONAL\r
-  IN UINT16                    *ProtectedEdgeLevel OPTIONAL\r
-  );\r
-\r
-/**\r
-  Sets the mode of the PICs.\r
-\r
-  @param[in]  This       Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Mode       16-bit real or 32-bit protected mode.\r
-  @param[in]  Mask       The value with which to set the interrupt mask.\r
-  @param[in]  EdgeLevel  The value with which to set the edge/level mask.\r
-\r
-  @retval  EFI_SUCCESS            The mode was set successfully.\r
-  @retval  EFI_INVALID_PARAMETER  The mode was not set.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259SetMode (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_MODE             Mode,\r
-  IN UINT16                    *Mask, OPTIONAL\r
-  IN UINT16                    *EdgeLevel OPTIONAL\r
-  );\r
-\r
-/**\r
-  Translates the IRQ into a vector.\r
-\r
-  @param[in]   This    Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]   Irq     IRQ0-IRQ15.\r
-  @param[out]  Vector  The vector that is assigned to the IRQ.\r
-\r
-  @retval  EFI_SUCCESS            The Vector that matches Irq was returned.\r
-  @retval  EFI_INVALID_PARAMETER  Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259GetVector (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN  EFI_8259_IRQ              Irq,\r
-  OUT UINT8                     *Vector\r
-  );\r
-\r
-/**\r
-  Enables the specified IRQ.\r
-\r
-  @param[in]  This            Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Irq             IRQ0-IRQ15.\r
-  @param[in]  LevelTriggered  0 = Edge triggered; 1 = Level triggered.\r
-\r
-  @retval  EFI_SUCCESS            The Irq was enabled on the 8259 PIC.\r
-  @retval  EFI_INVALID_PARAMETER  The Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259EnableIrq (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_IRQ              Irq,\r
-  IN BOOLEAN                   LevelTriggered\r
-  );\r
-\r
-/**\r
-  Disables the specified IRQ.\r
-\r
-  @param[in]  This  Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Irq   IRQ0-IRQ15.\r
-\r
-  @retval  EFI_SUCCESS            The Irq was disabled on the 8259 PIC.\r
-  @retval  EFI_INVALID_PARAMETER  The Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259DisableIrq (\r
-  IN EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN EFI_8259_IRQ              Irq\r
-  );\r
-\r
-/**\r
-  Reads the PCI configuration space to get the interrupt number that is assigned to the card.\r
-\r
-  @param[in]   This       Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]   PciHandle  PCI function for which to return the vector.\r
-  @param[out]  Vector     IRQ number that corresponds to the interrupt line.\r
-\r
-  @retval  EFI_SUCCESS  The interrupt line value was read successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259GetInterruptLine (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                PciHandle,\r
-  OUT UINT8                     *Vector\r
-  );\r
-\r
-/**\r
-  Issues the End of Interrupt (EOI) commands to PICs.\r
-\r
-  @param[in]  This  Indicates the EFI_LEGACY_8259_PROTOCOL instance.\r
-  @param[in]  Irq   The interrupt for which to issue the EOI command.\r
-\r
-  @retval  EFI_SUCCESS            The EOI command was issued.\r
-  @retval  EFI_INVALID_PARAMETER  The Irq is not valid.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Interrupt8259EndOfInterrupt (\r
-  IN  EFI_LEGACY_8259_PROTOCOL  *This,\r
-  IN  EFI_8259_IRQ              Irq\r
-  );\r
-\r
-#endif\r
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
deleted file mode 100644 (file)
index 530596a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-## @file\r
-# 8259 Interrupt Controller driver that provides Legacy 8259 protocol.\r
-#\r
-# Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-##\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = Legacy8259\r
-  MODULE_UNI_FILE                = Legacy8259.uni\r
-  FILE_GUID                      = 79CA4208-BBA1-4a9a-8456-E1E66A81484E\r
-  MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-  ENTRY_POINT                    = Install8259\r
-\r
-[Sources]\r
-  8259.c\r
-  8259.h\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  IntelFrameworkPkg/IntelFrameworkPkg.dec\r
-  PcAtChipsetPkg/PcAtChipsetPkg.dec\r
-\r
-[LibraryClasses]\r
-  UefiBootServicesTableLib\r
-  DebugLib\r
-  UefiDriverEntryPoint\r
-  IoLib\r
-  PcdLib\r
-\r
-[Protocols]\r
-  gEfiLegacy8259ProtocolGuid                    ## PRODUCES\r
-  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMES\r
-\r
-[Pcd]\r
-  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask      ## CONSUMES\r
-  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel ## CONSUMES\r
-\r
-[Depex]\r
-  TRUE\r
-\r
-[UserExtensions.TianoCore."ExtraFiles"]\r
-  Legacy8259Extra.uni\r
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/Legacy8259.uni b/PcAtChipsetPkg/8259InterruptControllerDxe/Legacy8259.uni
deleted file mode 100644 (file)
index d035292..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// /** @file\r
-// 8259 Interrupt Controller driver that provides Legacy 8259 protocol.\r
-//\r
-// 8259 Interrupt Controller driver that provides Legacy 8259 protocol.\r
-//\r
-// Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// **/\r
-\r
-\r
-#string STR_MODULE_ABSTRACT             #language en-US "8259 Interrupt Controller driver that provides Legacy 8259 protocol"\r
-\r
-#string STR_MODULE_DESCRIPTION          #language en-US "8259 Interrupt Controller driver that provides Legacy 8259 protocol."\r
-\r
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/Legacy8259Extra.uni b/PcAtChipsetPkg/8259InterruptControllerDxe/Legacy8259Extra.uni
deleted file mode 100644 (file)
index ee43f69..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// /** @file\r
-// Legacy8259 Localized Strings and Content\r
-//\r
-// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// **/\r
-\r
-#string STR_PROPERTIES_MODULE_NAME\r
-#language en-US\r
-"Legacy 8259 Interrupt Controller DXE Driver"\r
-\r
-\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/ComponentName.c b/PcAtChipsetPkg/IsaAcpiDxe/ComponentName.c
deleted file mode 100644 (file)
index 7e50125..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-/** @file\r
-    UEFI Component Name(2) protocol implementation for IsaAcpi driver.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-**/\r
-\r
-#include "PcatIsaAcpi.h"\r
-\r
-//\r
-// EFI Component Name Functions\r
-//\r
-/**\r
-  Retrieves a Unicode string that is the user readable name of the driver.\r
-\r
-  This function retrieves the user readable name of a driver in the form of a\r
-  Unicode string. If the driver specified by This has a user readable name in\r
-  the language specified by Language, then a pointer to the driver name is\r
-  returned in DriverName, and EFI_SUCCESS is returned. If the driver specified\r
-  by This does not support the language specified by Language,\r
-  then EFI_UNSUPPORTED is returned.\r
-\r
-  @param  This[in]              A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or\r
-                                EFI_COMPONENT_NAME_PROTOCOL instance.\r
-\r
-  @param  Language[in]          A pointer to a Null-terminated ASCII string\r
-                                array indicating the language. This is the\r
-                                language of the driver name that the caller is\r
-                                requesting, and it must match one of the\r
-                                languages specified in SupportedLanguages. The\r
-                                number of languages supported by a driver is up\r
-                                to the driver writer. Language is specified\r
-                                in RFC 4646 or ISO 639-2 language code format.\r
-\r
-  @param  DriverName[out]       A pointer to the Unicode string to return.\r
-                                This Unicode string is the name of the\r
-                                driver specified by This in the language\r
-                                specified by Language.\r
-\r
-  @retval EFI_SUCCESS           The Unicode string for the Driver specified by\r
-                                This and the language specified by Language was\r
-                                returned in DriverName.\r
-\r
-  @retval EFI_INVALID_PARAMETER Language is NULL.\r
-\r
-  @retval EFI_INVALID_PARAMETER DriverName is NULL.\r
-\r
-  @retval EFI_UNSUPPORTED       The driver specified by This does not support\r
-                                the language specified by Language.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiComponentNameGetDriverName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
-  IN  CHAR8                        *Language,\r
-  OUT CHAR16                       **DriverName\r
-  );\r
-\r
-/**\r
-  Retrieves a Unicode string that is the user readable name of the controller\r
-  that is being managed by a driver.\r
-\r
-  This function retrieves the user readable name of the controller specified by\r
-  ControllerHandle and ChildHandle in the form of a Unicode string. If the\r
-  driver specified by This has a user readable name in the language specified by\r
-  Language, then a pointer to the controller name is returned in ControllerName,\r
-  and EFI_SUCCESS is returned.  If the driver specified by This is not currently\r
-  managing the controller specified by ControllerHandle and ChildHandle,\r
-  then EFI_UNSUPPORTED is returned.  If the driver specified by This does not\r
-  support the language specified by Language, then EFI_UNSUPPORTED is returned.\r
-\r
-  @param  This[in]              A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or\r
-                                EFI_COMPONENT_NAME_PROTOCOL instance.\r
-\r
-  @param  ControllerHandle[in]  The handle of a controller that the driver\r
-                                specified by This is managing.  This handle\r
-                                specifies the controller whose name is to be\r
-                                returned.\r
-\r
-  @param  ChildHandle[in]       The handle of the child controller to retrieve\r
-                                the name of.  This is an optional parameter that\r
-                                may be NULL.  It will be NULL for device\r
-                                drivers.  It will also be NULL for a bus drivers\r
-                                that wish to retrieve the name of the bus\r
-                                controller.  It will not be NULL for a bus\r
-                                driver that wishes to retrieve the name of a\r
-                                child controller.\r
-\r
-  @param  Language[in]          A pointer to a Null-terminated ASCII string\r
-                                array indicating the language.  This is the\r
-                                language of the driver name that the caller is\r
-                                requesting, and it must match one of the\r
-                                languages specified in SupportedLanguages. The\r
-                                number of languages supported by a driver is up\r
-                                to the driver writer. Language is specified in\r
-                                RFC 4646 or ISO 639-2 language code format.\r
-\r
-  @param  ControllerName[out]   A pointer to the Unicode string to return.\r
-                                This Unicode string is the name of the\r
-                                controller specified by ControllerHandle and\r
-                                ChildHandle in the language specified by\r
-                                Language from the point of view of the driver\r
-                                specified by This.\r
-\r
-  @retval EFI_SUCCESS           The Unicode string for the user readable name in\r
-                                the language specified by Language for the\r
-                                driver specified by This was returned in\r
-                                DriverName.\r
-\r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
-\r
-  @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
-                                EFI_HANDLE.\r
-\r
-  @retval EFI_INVALID_PARAMETER Language is NULL.\r
-\r
-  @retval EFI_INVALID_PARAMETER ControllerName is NULL.\r
-\r
-  @retval EFI_UNSUPPORTED       The driver specified by This is not currently\r
-                                managing the controller specified by\r
-                                ControllerHandle and ChildHandle.\r
-\r
-  @retval EFI_UNSUPPORTED       The driver specified by This does not support\r
-                                the language specified by Language.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiComponentNameGetControllerName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   ControllerHandle,\r
-  IN  EFI_HANDLE                   ChildHandle        OPTIONAL,\r
-  IN  CHAR8                        *Language,\r
-  OUT CHAR16                       **ControllerName\r
-  );\r
-\r
-//\r
-// EFI Component Name Protocol\r
-//\r
-\r
-EFI_COMPONENT_NAME2_PROTOCOL gPcatIsaAcpiComponentName2 = {\r
-  (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)     PcatIsaAcpiComponentNameGetDriverName,\r
-  (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) PcatIsaAcpiComponentNameGetControllerName,\r
-  "en"\r
-};\r
-\r
-EFI_COMPONENT_NAME_PROTOCOL  gPcatIsaAcpiComponentName = {\r
-  PcatIsaAcpiComponentNameGetDriverName,\r
-  PcatIsaAcpiComponentNameGetControllerName,\r
-  "eng"\r
-};\r
-\r
-\r
-EFI_UNICODE_STRING_TABLE mPcatIsaAcpiDriverNameTable[] = {\r
-  {\r
-    "eng;en",\r
-    L"PC-AT ISA Device Enumeration Driver"\r
-  },\r
-  {\r
-    NULL,\r
-    NULL\r
-  }\r
-};\r
-\r
-/**\r
-  Retrieves a Unicode string that is the user readable name of the driver.\r
-\r
-  This function retrieves the user readable name of a driver in the form of a\r
-  Unicode string. If the driver specified by This has a user readable name in\r
-  the language specified by Language, then a pointer to the driver name is\r
-  returned in DriverName, and EFI_SUCCESS is returned. If the driver specified\r
-  by This does not support the language specified by Language,\r
-  then EFI_UNSUPPORTED is returned.\r
-\r
-  @param  This[in]              A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or\r
-                                EFI_COMPONENT_NAME_PROTOCOL instance.\r
-\r
-  @param  Language[in]          A pointer to a Null-terminated ASCII string\r
-                                array indicating the language. This is the\r
-                                language of the driver name that the caller is\r
-                                requesting, and it must match one of the\r
-                                languages specified in SupportedLanguages. The\r
-                                number of languages supported by a driver is up\r
-                                to the driver writer. Language is specified\r
-                                in RFC 4646 or ISO 639-2 language code format.\r
-\r
-  @param  DriverName[out]       A pointer to the Unicode string to return.\r
-                                This Unicode string is the name of the\r
-                                driver specified by This in the language\r
-                                specified by Language.\r
-\r
-  @retval EFI_SUCCESS           The Unicode string for the Driver specified by\r
-                                This and the language specified by Language was\r
-                                returned in DriverName.\r
-\r
-  @retval EFI_INVALID_PARAMETER Language is NULL.\r
-\r
-  @retval EFI_INVALID_PARAMETER DriverName is NULL.\r
-\r
-  @retval EFI_UNSUPPORTED       The driver specified by This does not support\r
-                                the language specified by Language.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiComponentNameGetDriverName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
-  IN  CHAR8                        *Language,\r
-  OUT CHAR16                       **DriverName\r
-  )\r
-{\r
-  return LookupUnicodeString2 (\r
-           Language,\r
-           This->SupportedLanguages,\r
-           mPcatIsaAcpiDriverNameTable,\r
-           DriverName,\r
-           (BOOLEAN)(This == &gPcatIsaAcpiComponentName)\r
-           );\r
-}\r
-\r
-/**\r
-  Retrieves a Unicode string that is the user readable name of the controller\r
-  that is being managed by a driver.\r
-\r
-  This function retrieves the user readable name of the controller specified by\r
-  ControllerHandle and ChildHandle in the form of a Unicode string. If the\r
-  driver specified by This has a user readable name in the language specified by\r
-  Language, then a pointer to the controller name is returned in ControllerName,\r
-  and EFI_SUCCESS is returned.  If the driver specified by This is not currently\r
-  managing the controller specified by ControllerHandle and ChildHandle,\r
-  then EFI_UNSUPPORTED is returned.  If the driver specified by This does not\r
-  support the language specified by Language, then EFI_UNSUPPORTED is returned.\r
-\r
-  @param  This[in]              A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or\r
-                                EFI_COMPONENT_NAME_PROTOCOL instance.\r
-\r
-  @param  ControllerHandle[in]  The handle of a controller that the driver\r
-                                specified by This is managing.  This handle\r
-                                specifies the controller whose name is to be\r
-                                returned.\r
-\r
-  @param  ChildHandle[in]       The handle of the child controller to retrieve\r
-                                the name of.  This is an optional parameter that\r
-                                may be NULL.  It will be NULL for device\r
-                                drivers.  It will also be NULL for a bus drivers\r
-                                that wish to retrieve the name of the bus\r
-                                controller.  It will not be NULL for a bus\r
-                                driver that wishes to retrieve the name of a\r
-                                child controller.\r
-\r
-  @param  Language[in]          A pointer to a Null-terminated ASCII string\r
-                                array indicating the language.  This is the\r
-                                language of the driver name that the caller is\r
-                                requesting, and it must match one of the\r
-                                languages specified in SupportedLanguages. The\r
-                                number of languages supported by a driver is up\r
-                                to the driver writer. Language is specified in\r
-                                RFC 4646 or ISO 639-2 language code format.\r
-\r
-  @param  ControllerName[out]   A pointer to the Unicode string to return.\r
-                                This Unicode string is the name of the\r
-                                controller specified by ControllerHandle and\r
-                                ChildHandle in the language specified by\r
-                                Language from the point of view of the driver\r
-                                specified by This.\r
-\r
-  @retval EFI_SUCCESS           The Unicode string for the user readable name in\r
-                                the language specified by Language for the\r
-                                driver specified by This was returned in\r
-                                DriverName.\r
-\r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
-\r
-  @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
-                                EFI_HANDLE.\r
-\r
-  @retval EFI_INVALID_PARAMETER Language is NULL.\r
-\r
-  @retval EFI_INVALID_PARAMETER ControllerName is NULL.\r
-\r
-  @retval EFI_UNSUPPORTED       The driver specified by This is not currently\r
-                                managing the controller specified by\r
-                                ControllerHandle and ChildHandle.\r
-\r
-  @retval EFI_UNSUPPORTED       The driver specified by This does not support\r
-                                the language specified by Language.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiComponentNameGetControllerName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   ControllerHandle,\r
-  IN  EFI_HANDLE                   ChildHandle        OPTIONAL,\r
-  IN  CHAR8                        *Language,\r
-  OUT CHAR16                       **ControllerName\r
-  )\r
-{\r
-  return EFI_UNSUPPORTED;\r
-}\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c b/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c
deleted file mode 100644 (file)
index a6d777f..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-/** @file\r
-  ISA ACPI Protocol Implementation\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-**/\r
-\r
-#include "PcatIsaAcpi.h"\r
-\r
-//\r
-// Platform specific data for the ISA devices that are present.in the platform\r
-//\r
-\r
-//\r
-// COM 1 UART Controller\r
-//\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom1DeviceResources[] = {\r
-  {EfiIsaAcpiResourceIo,        0, 0x3f8, 0x3ff},\r
-  {EfiIsaAcpiResourceInterrupt, 0, 4,     0},\r
-  {EfiIsaAcpiResourceEndOfList, 0, 0,     0}\r
-};\r
-\r
-//\r
-// COM 2 UART Controller\r
-//\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom2DeviceResources[] = {\r
-  {EfiIsaAcpiResourceIo,        0, 0x2f8, 0x2ff},\r
-  {EfiIsaAcpiResourceInterrupt, 0, 3,     0},\r
-  {EfiIsaAcpiResourceEndOfList, 0, 0,     0}\r
-};\r
-\r
-//\r
-// PS/2 Keyboard Controller\r
-//\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE  mPcatIsaAcpiPs2KeyboardDeviceResources[] = {\r
-  {EfiIsaAcpiResourceIo,        0, 0x60, 0x64},\r
-  {EfiIsaAcpiResourceInterrupt, 0, 1,     0},\r
-  {EfiIsaAcpiResourceEndOfList, 0, 0,     0}\r
-};\r
-\r
-//\r
-// PS/2 Mouse Controller\r
-//\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE  mPcatIsaAcpiPs2MouseDeviceResources[] = {\r
-  {EfiIsaAcpiResourceIo,        0, 0x60, 0x64},\r
-  {EfiIsaAcpiResourceInterrupt, 0, 12,     0},\r
-  {EfiIsaAcpiResourceEndOfList, 0, 0,     0}\r
-};\r
-\r
-//\r
-// Floppy Disk Controller\r
-//\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiFloppyResources[] = {\r
-  {EfiIsaAcpiResourceIo,        0, 0x3f0, 0x3f7},\r
-  {EfiIsaAcpiResourceInterrupt, 0, 6,     0},\r
-  {EfiIsaAcpiResourceDma,       EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_COMPATIBLE | EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_WIDTH_8 | EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SINGLE_MODE, 2,     0},\r
-  {EfiIsaAcpiResourceEndOfList, 0, 0,     0}\r
-};\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiCom1Device = {\r
-  {EISA_PNP_ID(0x501), 0}, mPcatIsaAcpiCom1DeviceResources\r
-}; // COM 1 UART Controller\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiCom2Device = {\r
-  {EISA_PNP_ID(0x501), 1}, mPcatIsaAcpiCom2DeviceResources\r
-}; // COM 2 UART Controller\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiPs2KeyboardDevice = {\r
-  {EISA_PNP_ID(0x303), 0}, mPcatIsaAcpiPs2KeyboardDeviceResources\r
-}; // PS/2 Keyboard Controller\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiPs2MouseDevice = {\r
-  {EISA_PNP_ID(0x303), 1}, mPcatIsaAcpiPs2MouseDeviceResources\r
-}; // PS/2 Mouse Controller\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiFloppyADevice = {\r
-  {EISA_PNP_ID(0x604), 0}, mPcatIsaAcpiFloppyResources\r
-}; // Floppy Disk Controller A:\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiFloppyBDevice = {\r
-  {EISA_PNP_ID(0x604), 1}, mPcatIsaAcpiFloppyResources\r
-}; // Floppy Disk Controller B:\r
-\r
-//\r
-// Table of ISA Controllers\r
-//\r
-EFI_ISA_ACPI_RESOURCE_LIST gPcatIsaAcpiDeviceList[7] = {{{0, 0}, NULL}};\r
-\r
-/**\r
-  Initialize gPcatIsaAcpiDeviceList.\r
-**/\r
-VOID\r
-InitializePcatIsaAcpiDeviceList (\r
-  VOID\r
-  )\r
-{\r
-  UINTN  Index;\r
-\r
-  Index = 0;\r
-  if (PcdGetBool (PcdIsaAcpiCom1Enable)) {\r
-    CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiCom1Device, sizeof(mPcatIsaAcpiCom1Device));\r
-    Index++;\r
-  }\r
-  if (PcdGetBool (PcdIsaAcpiCom2Enable)) {\r
-    CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiCom2Device, sizeof(mPcatIsaAcpiCom2Device));\r
-    Index++;\r
-  }\r
-  if (PcdGetBool (PcdIsaAcpiPs2KeyboardEnable)) {\r
-    CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiPs2KeyboardDevice, sizeof(mPcatIsaAcpiPs2KeyboardDevice));\r
-    Index++;\r
-  }\r
-  if (PcdGetBool (PcdIsaAcpiPs2MouseEnable)) {\r
-    CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiPs2MouseDevice, sizeof(mPcatIsaAcpiPs2MouseDevice));\r
-    Index++;\r
-  }\r
-  if (PcdGetBool (PcdIsaAcpiFloppyAEnable)) {\r
-    CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiFloppyADevice, sizeof(mPcatIsaAcpiFloppyADevice));\r
-    Index++;\r
-  }\r
-  if (PcdGetBool (PcdIsaAcpiFloppyBEnable)) {\r
-    CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiFloppyBDevice, sizeof(mPcatIsaAcpiFloppyBDevice));\r
-    Index++;\r
-  }\r
-}\r
-\r
-//\r
-// ISA ACPI Protocol Functions\r
-//\r
-/**\r
-  Enumerate the ISA devices on the ISA bus.\r
-\r
-  @param Device             Point to device ID instance\r
-  @param IsaAcpiDevice      On return, point to resource data for Isa device\r
-  @param NextIsaAcpiDevice  On return, point to resource data for next Isa device\r
-**/\r
-VOID\r
-IsaDeviceLookup (\r
-  IN  EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  OUT EFI_ISA_ACPI_RESOURCE_LIST  **IsaAcpiDevice,\r
-  OUT EFI_ISA_ACPI_RESOURCE_LIST  **NextIsaAcpiDevice\r
-  )\r
-{\r
-  UINTN  Index;\r
-\r
-  *IsaAcpiDevice = NULL;\r
-  if (NextIsaAcpiDevice != NULL) {\r
-    *NextIsaAcpiDevice = NULL;\r
-  }\r
-  if (Device == NULL) {\r
-    Index = 0;\r
-  } else {\r
-    for(Index = 0; gPcatIsaAcpiDeviceList[Index].ResourceItem != NULL; Index++) {\r
-      if (Device->HID == gPcatIsaAcpiDeviceList[Index].Device.HID &&\r
-          Device->UID == gPcatIsaAcpiDeviceList[Index].Device.UID    ) {\r
-        break;\r
-      }\r
-    }\r
-    if (gPcatIsaAcpiDeviceList[Index].ResourceItem == NULL) {\r
-      return;\r
-    }\r
-    *IsaAcpiDevice = &(gPcatIsaAcpiDeviceList[Index]);\r
-    Index++;\r
-  }\r
-  if (gPcatIsaAcpiDeviceList[Index].ResourceItem != NULL && NextIsaAcpiDevice != NULL) {\r
-    *NextIsaAcpiDevice = &(gPcatIsaAcpiDeviceList[Index]);\r
-  }\r
-}\r
-\r
-/**\r
-  Enumerate the ISA devices on the ISA bus\r
-\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-\r
-  @retval EFI_NOT_FOUND  Can not found the next Isa device.\r
-  @retval EFI_SUCCESS    Success retrieve the next Isa device for enumration.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaDeviceEnumerate (\r
-  IN  EFI_ISA_ACPI_PROTOCOL   *This,\r
-  OUT EFI_ISA_ACPI_DEVICE_ID  **Device\r
-  )\r
-{\r
-  EFI_ISA_ACPI_RESOURCE_LIST  *IsaAcpiDevice;\r
-  EFI_ISA_ACPI_RESOURCE_LIST  *NextIsaAcpiDevice;\r
-\r
-  IsaDeviceLookup (*Device, &IsaAcpiDevice, &NextIsaAcpiDevice);\r
-  if (NextIsaAcpiDevice == NULL) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
-  *Device = &(NextIsaAcpiDevice->Device);\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Set ISA device power\r
-\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param OnOff           TRUE for setting isa device power on,\r
-                         FALSE for setting isa device power off\r
-\r
-  @return EFI_SUCCESS    Success to change power status for isa device.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaDeviceSetPower (\r
-  IN EFI_ISA_ACPI_PROTOCOL   *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID  *Device,\r
-  IN BOOLEAN                 OnOff\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Get current resource for the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param ResourceList    On return, point to resources instances for given isa device\r
-\r
-  @retval EFI_NOT_FOUND Can not found the resource instance for given isa device\r
-  @retval EFI_SUCCESS   Success to get resource instance for given isa device.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaGetCurrentResource (\r
-  IN  EFI_ISA_ACPI_PROTOCOL       *This,\r
-  IN  EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  OUT EFI_ISA_ACPI_RESOURCE_LIST  **ResourceList\r
-  )\r
-{\r
-  IsaDeviceLookup (Device, ResourceList, NULL);\r
-  if (*ResourceList == NULL) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Get possible resource for the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param ResourceList    On return, point to resources instances for given isa device\r
-\r
-  @retval EFI_SUCCESS   Success to get resource instance for given isa device.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaGetPossibleResource (\r
-  IN  EFI_ISA_ACPI_PROTOCOL       *This,\r
-  IN  EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  OUT EFI_ISA_ACPI_RESOURCE_LIST  **ResourceList\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Set resource for the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param ResourceList    Point to resources instances for given isa device\r
-\r
-  @return EFI_SUCCESS  Success to set resource.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaSetResource (\r
-  IN EFI_ISA_ACPI_PROTOCOL       *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  IN EFI_ISA_ACPI_RESOURCE_LIST  *ResourceList\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Enable/Disable the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param Enable          Enable/Disable\r
-\r
-  @return EFI_SUCCESS  Success to enable/disable.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaEnableDevice (\r
-  IN EFI_ISA_ACPI_PROTOCOL   *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID  *Device,\r
-  IN BOOLEAN                 Enable\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Initialize the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-\r
-  @return EFI_SUCCESS  Success to initialize.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaInitDevice (\r
-  IN EFI_ISA_ACPI_PROTOCOL   *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID  *Device\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Initialize the ISA interface.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-\r
-  @return EFI_SUCCESS  Success to initialize ISA interface.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaInterfaceInit (\r
-  IN EFI_ISA_ACPI_PROTOCOL  *This\r
-)\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf b/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
deleted file mode 100644 (file)
index 650d4df..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-## @file\r
-# IsaAcpi driver to install EFI_ISA_ACPI_PROTOCOL.\r
-#\r
-# Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>\r
-# SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-#\r
-##\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = IsaAcpi\r
-  MODULE_UNI_FILE                = IsaAcpi.uni\r
-  FILE_GUID                      = 38A0EC22-FBE7-4911-8BC1-176E0D6C1DBD\r
-  MODULE_TYPE                    = UEFI_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-\r
-  ENTRY_POINT                    = PcatIsaAcpiDriverEntryPoint\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
-  PcAtChipsetPkg/PcAtChipsetPkg.dec\r
-\r
-[LibraryClasses]\r
-  UefiDriverEntryPoint\r
-  UefiBootServicesTableLib\r
-  UefiLib\r
-  BaseMemoryLib\r
-  PcdLib\r
-\r
-[Sources]\r
-  PcatIsaAcpi.h\r
-  PcatIsaAcpi.c\r
-  IsaAcpi.c\r
-  ComponentName.c\r
-\r
-[Protocols]\r
-  gEfiPciIoProtocolGuid     ## TO_START\r
-  gEfiIsaAcpiProtocolGuid   ## BY_START\r
-\r
-[Pcd]\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable        ## SOMETIMES_CONSUMES\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom2Enable        ## SOMETIMES_CONSUMES\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2KeyboardEnable ## SOMETIMES_CONSUMES\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2MouseEnable    ## SOMETIMES_CONSUMES\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyAEnable     ## SOMETIMES_CONSUMES\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyBEnable     ## SOMETIMES_CONSUMES\r
-[UserExtensions.TianoCore."ExtraFiles"]\r
-  IsaAcpiExtra.uni\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.uni b/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.uni
deleted file mode 100644 (file)
index 526a979..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// /** @file\r
-// Component description file for PCAT ISA ACPI driver\r
-//\r
-// PCAT ISA ACPI driver for a Generic PC Platform.\r
-//\r
-// Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// **/\r
-\r
-\r
-#string STR_MODULE_ABSTRACT             #language en-US "PCAT ISA ACPI driver for a Generic PC Platform"\r
-\r
-#string STR_MODULE_DESCRIPTION          #language en-US "PCAT ISA ACPI driver for a Generic PC Platform."\r
-\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpiExtra.uni b/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpiExtra.uni
deleted file mode 100644 (file)
index 07f740d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// /** @file\r
-// IsaAcpi Localized Strings and Content\r
-//\r
-// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// **/\r
-\r
-#string STR_PROPERTIES_MODULE_NAME\r
-#language en-US\r
-"PCAT ISA ACPI DXE Driver"\r
-\r
-\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/PcatIsaAcpi.c b/PcAtChipsetPkg/IsaAcpiDxe/PcatIsaAcpi.c
deleted file mode 100644 (file)
index 035bfaf..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-/** @file\r
-  EFI PCAT ISA ACPI Driver for a Generic PC Platform\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "PcatIsaAcpi.h"\r
-\r
-//\r
-//  PcatIsaAcpi Driver Binding Protocol\r
-//\r
-EFI_DRIVER_BINDING_PROTOCOL gPcatIsaAcpiDriverBinding = {\r
-  PcatIsaAcpiDriverBindingSupported,\r
-  PcatIsaAcpiDriverBindingStart,\r
-  PcatIsaAcpiDriverBindingStop,\r
-  0xa,\r
-  NULL,\r
-  NULL\r
-};\r
-\r
-/**\r
-  the entry point of the PcatIsaAcpi driver.\r
-\r
-  @param ImageHandle     Handle for driver image\r
-  @param SystemTable     Point to EFI_SYSTEM_TABLE\r
-\r
-  @return Success or not for installing driver binding protocol\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverEntryPoint (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-{\r
-  return EfiLibInstallDriverBindingComponentName2 (\r
-           ImageHandle,\r
-           SystemTable,\r
-           &gPcatIsaAcpiDriverBinding,\r
-           ImageHandle,\r
-           &gPcatIsaAcpiComponentName,\r
-           &gPcatIsaAcpiComponentName2\r
-           );\r
-}\r
-\r
-/**\r
-  ControllerDriver Protocol Method\r
-\r
-  @param This                 Driver Binding protocol instance pointer.\r
-  @param Controller           Handle of device to test.\r
-  @param RemainingDevicePath  Optional parameter use to pick a specific child\r
-                              device to start.\r
-  @retval EFI_SUCCESS         This driver supports this device.\r
-  @retval other               This driver does not support this device.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverBindingSupported (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-{\r
-  EFI_STATUS           Status;\r
-  EFI_PCI_IO_PROTOCOL  *PciIo;\r
-  PCI_TYPE00           Pci;\r
-  UINTN                SegmentNumber;\r
-  UINTN                BusNumber;\r
-  UINTN                DeviceNumber;\r
-  UINTN                FunctionNumber;\r
-\r
-  //\r
-  // Get PciIo protocol instance\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Controller,\r
-                  &gEfiPciIoProtocolGuid,\r
-                  (VOID**)&PciIo,\r
-                  This->DriverBindingHandle,\r
-                  Controller,\r
-                  EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                  );\r
-  if (EFI_ERROR(Status)) {\r
-    return Status;\r
-  }\r
-\r
-  Status = PciIo->Pci.Read (\r
-                    PciIo,\r
-                    EfiPciIoWidthUint32,\r
-                    0,\r
-                    sizeof(Pci) / sizeof(UINT32),\r
-                    &Pci);\r
-\r
-  if (!EFI_ERROR (Status)) {\r
-    Status = EFI_UNSUPPORTED;\r
-    if ((Pci.Hdr.Command & 0x03) == 0x03) {\r
-      if (Pci.Hdr.ClassCode[2] == PCI_CLASS_BRIDGE) {\r
-        //\r
-        // See if this is a standard PCI to ISA Bridge from the Base Code and Class Code\r
-        //\r
-        if (Pci.Hdr.ClassCode[1] == PCI_CLASS_BRIDGE_ISA) {\r
-          Status = EFI_SUCCESS;\r
-        }\r
-\r
-        //\r
-        // See if this is an Intel PCI to ISA bridge in Positive Decode Mode\r
-        //\r
-        if (Pci.Hdr.ClassCode[1] == PCI_CLASS_BRIDGE_ISA_PDECODE &&\r
-            Pci.Hdr.VendorId     == 0x8086                          ) {\r
-          //\r
-          // See if this is on Function #0 to avoid false positives on\r
-          // PCI_CLASS_BRIDGE_OTHER that has the same value as\r
-          // PCI_CLASS_BRIDGE_ISA_PDECODE\r
-          //\r
-          Status = PciIo->GetLocation (\r
-                            PciIo,\r
-                            &SegmentNumber,\r
-                            &BusNumber,\r
-                            &DeviceNumber,\r
-                            &FunctionNumber\r
-                            );\r
-          if (!EFI_ERROR (Status) && FunctionNumber == 0) {\r
-            Status = EFI_SUCCESS;\r
-          } else {\r
-            Status = EFI_UNSUPPORTED;\r
-          }\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-  gBS->CloseProtocol (\r
-         Controller,\r
-         &gEfiPciIoProtocolGuid,\r
-         This->DriverBindingHandle,\r
-         Controller\r
-         );\r
-\r
-  return Status;\r
-}\r
-\r
-/**\r
-  Install EFI_ISA_ACPI_PROTOCOL.\r
-\r
-  @param  This                 Driver Binding protocol instance pointer.\r
-  @param  ControllerHandle     Handle of device to bind driver to.\r
-  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
-                               device to start.\r
-\r
-  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
-  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
-  @retval other                This driver does not support this device\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverBindingStart (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-{\r
-  EFI_STATUS           Status;\r
-  EFI_PCI_IO_PROTOCOL  *PciIo;\r
-  PCAT_ISA_ACPI_DEV    *PcatIsaAcpiDev;\r
-  UINT64               Supports;\r
-  UINT64               OriginalAttributes;\r
-  BOOLEAN              Enabled;\r
-\r
-  Enabled = FALSE;\r
-  Supports = 0;\r
-  PcatIsaAcpiDev = NULL;\r
-  OriginalAttributes = 0;\r
-  //\r
-  // Open the PCI I/O Protocol Interface\r
-  //\r
-  PciIo = NULL;\r
-  Status = gBS->OpenProtocol (\r
-                  Controller,\r
-                  &gEfiPciIoProtocolGuid,\r
-                  (VOID**)&PciIo,\r
-                  This->DriverBindingHandle,\r
-                  Controller,\r
-                  EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  //\r
-  // Get supported PCI attributes\r
-  //\r
-  Status = PciIo->Attributes (\r
-                    PciIo,\r
-                    EfiPciIoAttributeOperationSupported,\r
-                    0,\r
-                    &Supports\r
-                    );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  Supports &= (UINT64) (EFI_PCI_IO_ATTRIBUTE_ISA_IO | EFI_PCI_IO_ATTRIBUTE_ISA_IO_16);\r
-  if (Supports == 0 || Supports == (EFI_PCI_IO_ATTRIBUTE_ISA_IO | EFI_PCI_IO_ATTRIBUTE_ISA_IO_16)) {\r
-    Status = EFI_UNSUPPORTED;\r
-    goto Done;\r
-  }\r
-\r
-  Status = PciIo->Attributes (\r
-                    PciIo,\r
-                    EfiPciIoAttributeOperationGet,\r
-                    0,\r
-                    &OriginalAttributes\r
-                    );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  Status = PciIo->Attributes (\r
-                    PciIo,\r
-                    EfiPciIoAttributeOperationEnable,\r
-                    EFI_PCI_DEVICE_ENABLE | Supports | EFI_PCI_IO_ATTRIBUTE_ISA_MOTHERBOARD_IO,\r
-                    NULL\r
-                    );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  Enabled = TRUE;\r
-  //\r
-  // Allocate memory for the PCAT ISA ACPI Device structure\r
-  //\r
-  PcatIsaAcpiDev = NULL;\r
-  Status = gBS->AllocatePool (\r
-                  EfiBootServicesData,\r
-                  sizeof(PCAT_ISA_ACPI_DEV),\r
-                  (VOID**)&PcatIsaAcpiDev\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  //\r
-  // Initialize the PCAT ISA ACPI Device structure\r
-  //\r
-  PcatIsaAcpiDev->Signature          = PCAT_ISA_ACPI_DEV_SIGNATURE;\r
-  PcatIsaAcpiDev->Handle             = Controller;\r
-  PcatIsaAcpiDev->PciIo              = PciIo;\r
-  PcatIsaAcpiDev->OriginalAttributes = OriginalAttributes;\r
-\r
-  //\r
-  // Initialize PcatIsaAcpiDeviceList\r
-  //\r
-  InitializePcatIsaAcpiDeviceList ();\r
-\r
-  //\r
-  // IsaAcpi interface\r
-  //\r
-  (PcatIsaAcpiDev->IsaAcpi).DeviceEnumerate  = IsaDeviceEnumerate;\r
-  (PcatIsaAcpiDev->IsaAcpi).SetPower         = IsaDeviceSetPower;\r
-  (PcatIsaAcpiDev->IsaAcpi).GetCurResource   = IsaGetCurrentResource;\r
-  (PcatIsaAcpiDev->IsaAcpi).GetPosResource   = IsaGetPossibleResource;\r
-  (PcatIsaAcpiDev->IsaAcpi).SetResource      = IsaSetResource;\r
-  (PcatIsaAcpiDev->IsaAcpi).EnableDevice     = IsaEnableDevice;\r
-  (PcatIsaAcpiDev->IsaAcpi).InitDevice       = IsaInitDevice;\r
-  (PcatIsaAcpiDev->IsaAcpi).InterfaceInit    = IsaInterfaceInit;\r
-\r
-  //\r
-  // Install the ISA ACPI Protocol interface\r
-  //\r
-  Status = gBS->InstallMultipleProtocolInterfaces (\r
-                  &Controller,\r
-                  &gEfiIsaAcpiProtocolGuid, &PcatIsaAcpiDev->IsaAcpi,\r
-                  NULL\r
-                  );\r
-\r
-Done:\r
-  if (EFI_ERROR (Status)) {\r
-    if (PciIo != NULL && Enabled) {\r
-      PciIo->Attributes (\r
-               PciIo,\r
-               EfiPciIoAttributeOperationSet,\r
-               OriginalAttributes,\r
-               NULL\r
-               );\r
-    }\r
-    gBS->CloseProtocol (\r
-           Controller,\r
-           &gEfiPciIoProtocolGuid,\r
-           This->DriverBindingHandle,\r
-           Controller\r
-           );\r
-    if (PcatIsaAcpiDev != NULL) {\r
-      gBS->FreePool (PcatIsaAcpiDev);\r
-    }\r
-    return Status;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Stop this driver on ControllerHandle. Support stopping any child handles\r
-  created by this driver.\r
-\r
-  @param  This              Protocol instance pointer.\r
-  @param  ControllerHandle  Handle of device to stop driver on\r
-  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
-                            children is zero stop the entire bus driver.\r
-  @param  ChildHandleBuffer List of Child Handles to Stop.\r
-\r
-  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
-  @retval other             This driver was not removed from this device\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverBindingStop (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN UINTN                        NumberOfChildren,\r
-  IN EFI_HANDLE                   *ChildHandleBuffer\r
-  )\r
-{\r
-  EFI_STATUS             Status;\r
-  EFI_ISA_ACPI_PROTOCOL  *IsaAcpi;\r
-  PCAT_ISA_ACPI_DEV      *PcatIsaAcpiDev;\r
-\r
-  //\r
-  // Get the ISA ACPI Protocol Interface\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Controller,\r
-                  &gEfiIsaAcpiProtocolGuid,\r
-                  (VOID**)&IsaAcpi,\r
-                  This->DriverBindingHandle,\r
-                  Controller,\r
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  //\r
-  // Get the PCAT ISA ACPI Device structure from the ISA ACPI Protocol\r
-  //\r
-  PcatIsaAcpiDev = PCAT_ISA_ACPI_DEV_FROM_THIS (IsaAcpi);\r
-\r
-  //\r
-  // Restore PCI attributes\r
-  //\r
-  Status = PcatIsaAcpiDev->PciIo->Attributes (\r
-                                    PcatIsaAcpiDev->PciIo,\r
-                                    EfiPciIoAttributeOperationSet,\r
-                                    PcatIsaAcpiDev->OriginalAttributes,\r
-                                    NULL\r
-                                    );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  //\r
-  // Uninstall protocol interface: EFI_ISA_ACPI_PROTOCOL\r
-  //\r
-  Status = gBS->UninstallProtocolInterface (\r
-                  Controller,\r
-                  &gEfiIsaAcpiProtocolGuid, &PcatIsaAcpiDev->IsaAcpi\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  gBS->CloseProtocol (\r
-         Controller,\r
-         &gEfiPciIoProtocolGuid,\r
-         This->DriverBindingHandle,\r
-         Controller\r
-         );\r
-\r
-  gBS->FreePool (PcatIsaAcpiDev);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
diff --git a/PcAtChipsetPkg/IsaAcpiDxe/PcatIsaAcpi.h b/PcAtChipsetPkg/IsaAcpiDxe/PcatIsaAcpi.h
deleted file mode 100644 (file)
index 4b7cc2a..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/** @file\r
-  EFI PCAT ISA ACPI Driver for a Generic PC Platform\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef _PCAT_ISA_ACPI_H_\r
-#define _PCAT_ISA_ACPI_H_\r
-\r
-#include <PiDxe.h>\r
-\r
-#include <IndustryStandard/Pci.h>\r
-\r
-#include <Protocol/DevicePath.h>\r
-#include <Protocol/PciIo.h>\r
-#include <Protocol/IsaIo.h>\r
-#include <Protocol/DriverBinding.h>\r
-#include <Protocol/ComponentName.h>\r
-#include <Protocol/ComponentName2.h>\r
-\r
-\r
-#include <Library/UefiLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-#include <Protocol/IsaAcpi.h>\r
-//\r
-// PCAT ISA ACPI device private data structure\r
-//\r
-#define PCAT_ISA_ACPI_DEV_SIGNATURE  SIGNATURE_32('L','P','C','D')\r
-\r
-typedef struct {\r
-  UINTN                  Signature;\r
-  EFI_HANDLE             Handle;\r
-  EFI_ISA_ACPI_PROTOCOL  IsaAcpi;\r
-  EFI_PCI_IO_PROTOCOL    *PciIo;\r
-  UINT64                 OriginalAttributes;\r
-} PCAT_ISA_ACPI_DEV;\r
-\r
-#define PCAT_ISA_ACPI_DEV_FROM_THIS(a) BASE_CR(a, PCAT_ISA_ACPI_DEV, IsaAcpi)\r
-\r
-//\r
-// Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gPcatIsaAcpiDriverBinding;\r
-\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gPcatIsaAcpiComponentName2;\r
-\r
-extern EFI_COMPONENT_NAME_PROTOCOL  gPcatIsaAcpiComponentName;\r
-\r
-\r
-//\r
-// Prototypes for Driver model protocol interface\r
-//\r
-/**\r
-  ControllerDriver Protocol Method\r
-\r
-  @param This                 Driver Binding protocol instance pointer.\r
-  @param Controller           Handle of device to test.\r
-  @param RemainingDevicePath  Optional parameter use to pick a specific child\r
-                              device to start.\r
-  @retval EFI_SUCCESS         This driver supports this device.\r
-  @retval other               This driver does not support this device.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverBindingSupported (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  );\r
-\r
-/**\r
-  Install EFI_ISA_ACPI_PROTOCOL.\r
-\r
-  @param  This                 Driver Binding protocol instance pointer.\r
-  @param  ControllerHandle     Handle of device to bind driver to.\r
-  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
-                               device to start.\r
-\r
-  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
-  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
-  @retval other                This driver does not support this device\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverBindingStart (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  );\r
-\r
-/**\r
-  Stop this driver on ControllerHandle. Support stopping any child handles\r
-  created by this driver.\r
-\r
-  @param  This              Protocol instance pointer.\r
-  @param  ControllerHandle  Handle of device to stop driver on\r
-  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
-                            children is zero stop the entire bus driver.\r
-  @param  ChildHandleBuffer List of Child Handles to Stop.\r
-\r
-  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
-  @retval other             This driver was not removed from this device\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PcatIsaAcpiDriverBindingStop (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   Controller,\r
-  IN  UINTN                        NumberOfChildren,\r
-  IN  EFI_HANDLE                   *ChildHandleBuffer\r
-  );\r
-\r
-//\r
-// Prototypes for the ISA ACPI protocol interface\r
-//\r
-/**\r
-  Enumerate the ISA devices on the ISA bus\r
-\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-\r
-  @retval EFI_NOT_FOUND Can not found the next Isa device.\r
-  @retval EFI_SUCCESS    Success retrieve the next Isa device for enumration.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaDeviceEnumerate (\r
-  IN  EFI_ISA_ACPI_PROTOCOL   *This,\r
-  OUT EFI_ISA_ACPI_DEVICE_ID  **Device\r
-  );\r
-\r
-/**\r
-  Set ISA device power\r
-\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param OnOff           TRUE for setting isa device power on,\r
-                         FALSE for setting isa device power off\r
-\r
-  @return EFI_SUCCESS    Success to change power status for isa device.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaDeviceSetPower (\r
-  IN EFI_ISA_ACPI_PROTOCOL   *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID  *Device,\r
-  IN BOOLEAN                 OnOff\r
-  );\r
-\r
-/**\r
-  Get current resource for the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param ResourceList    On return, point to resources instances for given isa device\r
-\r
-  @retval EFI_NOT_FOUND Can not found the resource instance for given isa device\r
-  @retval EFI_SUCCESS   Success to get resource instance for given isa device.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaGetCurrentResource (\r
-  IN  EFI_ISA_ACPI_PROTOCOL       *This,\r
-  IN  EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  OUT EFI_ISA_ACPI_RESOURCE_LIST  **ResourceList\r
-  );\r
-\r
-/**\r
-  Get possible resource for the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param ResourceList    On return, point to resources instances for given isa device\r
-\r
-  @retval EFI_SUCCESS   Success to get resource instance for given isa device.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaGetPossibleResource (\r
-  IN  EFI_ISA_ACPI_PROTOCOL       *This,\r
-  IN  EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  OUT EFI_ISA_ACPI_RESOURCE_LIST  **ResourceList\r
-  );\r
-\r
-/**\r
-  Set resource for the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param ResourceList    Point to resources instances for given isa device\r
-\r
-  @return EFI_SUCCESS  Success to set resource.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaSetResource (\r
-  IN EFI_ISA_ACPI_PROTOCOL       *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID      *Device,\r
-  IN EFI_ISA_ACPI_RESOURCE_LIST  *ResourceList\r
-  );\r
-\r
-/**\r
-  Enable/Disable the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-  @param Enable          Enable/Disable\r
-\r
-  @return EFI_SUCCESS  Success to enable/disable.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaEnableDevice (\r
-  IN EFI_ISA_ACPI_PROTOCOL   *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID  *Device,\r
-  IN BOOLEAN                 Enable\r
-  );\r
-\r
-/**\r
-  Initialize the specific ISA device.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-  @param Device          Point to device ID instance\r
-\r
-  @return EFI_SUCCESS  Success to initialize.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaInitDevice (\r
-  IN EFI_ISA_ACPI_PROTOCOL   *This,\r
-  IN EFI_ISA_ACPI_DEVICE_ID  *Device\r
-  );\r
-\r
-/**\r
-  Initialize the ISA interface.\r
-\r
-  @param This            Point to instance of EFI_ISA_ACPI_PROTOCOL\r
-\r
-  @return EFI_SUCCESS  Success to initialize ISA interface.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IsaInterfaceInit (\r
-  IN EFI_ISA_ACPI_PROTOCOL  *This\r
-  );\r
-\r
-/**\r
-  Initialize the ISA device list.\r
-**/\r
-VOID\r
-InitializePcatIsaAcpiDeviceList (\r
-  VOID\r
-  );\r
-\r
-#endif\r
index ce4863965c1bafed6e3e9e83024ae719026e84c7..d99d91496be4f431fc8e9035d3477ee8e2407bf6 100644 (file)
   gPcAtChipsetPkgTokenSpaceGuid.PcdHpetMsiEnable|TRUE|BOOLEAN|0x00001000\r
 \r
 [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]\r
-  ## Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined<BR><BR>\r
-  #  1) If platform only support pure UEFI, value should be set to 0xFFFF or 0xFFFE;\r
-  #     Because only clock interrupt is allowed in legacy mode in pure UEFI platform.<BR>\r
-  #  2) If platform install CSM and use thunk module:<BR>\r
-  #     a) If thunk call provided by CSM binary requires some legacy interrupt support, the corresponding bit\r
-  #        should be opened as 0.<BR>\r
-  #        For example, if keyboard interfaces provided CSM binary use legacy keyboard interrupt in 8259 bit 1, then\r
-  #        the value should be set to 0xFFFC.<BR>\r
-  #     b) If all thunk call provied by CSM binary do not require legacy interrupt support, value should be set\r
-  #        to 0xFFFF or 0xFFFE.<BR>\r
-  #\r
-  #  The default value of legacy mode mask could be changed by EFI_LEGACY_8259_PROTOCOL->SetMask(). But it is rarely\r
-  #  need change it except some special cases such as when initializing the CSM binary, it should be set to 0xFFFF to\r
-  #  mask all legacy interrupt. Please restore the original legacy mask value if changing is made for these special case.<BR>\r
-  # @Prompt 8259 Legacy Mode mask.\r
-  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF|UINT16|0x00000001\r
-\r
-  ## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrrupt controller.\r
-  #  For the corresponding bits, 0 = Edge triggered and 1 = Level triggered.\r
-  # @Prompt 8259 Legacy Mode edge level.\r
-  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002\r
-\r
-  ## Indicates if we need enable IsaAcpiCom1 device.<BR><BR>\r
-  #   TRUE  - Enables IsaAcpiCom1 device.<BR>\r
-  #   FALSE - Doesn't enable IsaAcpiCom1 device.<BR>\r
-  # @Prompt Enable IsaAcpiCom1 device.\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003\r
-\r
-  ## Indicates if we need enable IsaAcpiCom2 device.<BR><BR>\r
-  #   TRUE  - Enables IsaAcpiCom2 device.<BR>\r
-  #   FALSE - Doesn't enable IsaAcpiCom2 device.<BR>\r
-  # @Prompt Enable IsaAcpiCom12 device.\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom2Enable|TRUE|BOOLEAN|0x00000004\r
-\r
-  ## Indicates if we need enable IsaAcpiPs2Keyboard device.<BR><BR>\r
-  #   TRUE  - Enables IsaAcpiPs2Keyboard device.<BR>\r
-  #   FALSE - Doesn't enable IsaAcpiPs2Keyboard device.<BR>\r
-  # @Prompt Enable IsaAcpiPs2Keyboard device.\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2KeyboardEnable|TRUE|BOOLEAN|0x00000005\r
-\r
-  ## Indicates if we need enable IsaAcpiPs2Mouse device.<BR><BR>\r
-  #   TRUE  - Enables IsaAcpiPs2Mouse device.<BR>\r
-  #   FALSE - Doesn't enable IsaAcpiPs2Mouse device.<BR>\r
-  # @Prompt Enable IsaAcpiPs2Mouse device.\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2MouseEnable|TRUE|BOOLEAN|0x00000006\r
-\r
-  ## Indicates if we need enable IsaAcpiFloppyA device.<BR><BR>\r
-  #   TRUE  - Enables IsaAcpiFloppyA device.<BR>\r
-  #   FALSE - Doesn't enable IsaAcpiFloppyA device.<BR>\r
-  # @Prompt Enable IsaAcpiFloppyA device.\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyAEnable|TRUE|BOOLEAN|0x00000007\r
-\r
-  ## Indicates if we need enable IsaAcpiFloppyB device.<BR><BR>\r
-  #   TRUE  - Enables IsaAcpiFloppyB device.<BR>\r
-  #   FALSE - Doesn't enable IsaAcpiFloppyB device.<BR>\r
-  # @Prompt Enable IsaAcpiFloppyB device.\r
-  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyBEnable|TRUE|BOOLEAN|0x00000008\r
-\r
   ## This PCD specifies the base address of the HPET timer.\r
   # @Prompt HPET base address.\r
   gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress|0xFED00000|UINT32|0x00000009\r
index 4b311aa8fed58b13190dfd770753b45c026fd5a1..01a3ee716a989c34ada38841ea84507e6ec23647 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  PC/AT Chipset Package\r
 #\r
-#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
 \r
 [Components]\r
-  PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
   PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf\r
-  PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
   PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
-  PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
   PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf\r
   PcAtChipsetPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
   PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf\r
index d8d8a8a08fedbe03e7800c24206ecc23ff1d3320..166180c2e443bd0f86ccee5e52512984a8715033 100644 (file)
@@ -4,7 +4,7 @@
 // This package is designed to public interfaces and implementation which follows\r
 // PcAt defacto standard.\r
 //\r
-// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>\r
 //\r
 // SPDX-License-Identifier: BSD-2-Clause-Patent\r
 //\r
 \r
 \r
 \r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_Pcd8259LegacyModeMask_PROMPT  #language en-US "8259 Legacy Mode mask"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_Pcd8259LegacyModeMask_HELP  #language en-US "Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined<BR><BR>\n"\r
-                                                                                      "1) If platform only support pure UEFI, value should be set to 0xFFFF or 0xFFFE; Because only clock interrupt is allowed in legacy mode in pure UEFI platform.<BR>\n"\r
-                                                                                      "2) If platform install CSM and use thunk module:<BR>\n"\r
-                                                                                      "a) If thunk call provided by CSM binary requires some legacy interrupt support, the corresponding bit should be opened as 0.<BR>\n"\r
-                                                                                      "For example, if keyboard interfaces provided CSM binary use legacy keyboard interrupt in 8259 bit 1, then the value should be set to 0xFFFC.<BR>\n"\r
-                                                                                      "b) If all thunk call provided by CSM binary do not require legacy interrupt support, value should be set to 0xFFFF or 0xFFFE.<BR>\n"\r
-                                                                                      "The default value of legacy mode mask could be changed by EFI_LEGACY_8259_PROTOCOL->SetMask(). But it is rarely need change it except some special cases such as when initializing the CSM binary, it should be set to 0xFFFF to mask all legacy interrupt. Please restore the original legacy mask value if changing is made for these special case.<BR>"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_Pcd8259LegacyModeEdgeLevel_PROMPT  #language en-US "8259 Legacy Mode edge level"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_Pcd8259LegacyModeEdgeLevel_HELP  #language en-US "Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrupt controller.\"                                                                                           \"For the corresponding bits, 0 = Edge triggered and 1 = Level triggered."\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiCom1Enable_PROMPT  #language en-US "Enable IsaAcpiCom1 device"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiCom1Enable_HELP  #language en-US "Indicates if we need enable IsaAcpiCom1 device.<BR><BR>\n"\r
-                                                                                     "TRUE  - Enables IsaAcpiCom1 device.<BR>\n"\r
-                                                                                     "FALSE - Doesn't enable IsaAcpiCom1 device.<BR>"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiCom2Enable_PROMPT  #language en-US "Enable IsaAcpiCom12 device"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiCom2Enable_HELP  #language en-US "Indicates if we need enable IsaAcpiCom2 device.<BR><BR>\n"\r
-                                                                                     "TRUE  - Enables IsaAcpiCom2 device.<BR>\n"\r
-                                                                                     "FALSE - Doesn't enable IsaAcpiCom2 device.<BR>"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiPs2KeyboardEnable_PROMPT  #language en-US "Enable IsaAcpiPs2Keyboard device"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiPs2KeyboardEnable_HELP  #language en-US "Indicates if we need enable IsaAcpiPs2Keyboard device.<BR><BR>\n"\r
-                                                                                            "TRUE  - Enables IsaAcpiPs2Keyboard device.<BR>\n"\r
-                                                                                            "FALSE - Doesn't enable IsaAcpiPs2Keyboard device.<BR>"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiPs2MouseEnable_PROMPT  #language en-US "Enable IsaAcpiPs2Mouse device"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiPs2MouseEnable_HELP  #language en-US "Indicates if we need enable IsaAcpiPs2Mouse device.<BR><BR>\n"\r
-                                                                                         "TRUE  - Enables IsaAcpiPs2Mouse device.<BR>\n"\r
-                                                                                         "FALSE - Doesn't enable IsaAcpiPs2Mouse device.<BR>"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiFloppyAEnable_PROMPT  #language en-US "Enable IsaAcpiFloppyA device"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiFloppyAEnable_HELP  #language en-US "Indicates if we need enable IsaAcpiFloppyA device.<BR><BR>\n"\r
-                                                                                        "TRUE  - Enables IsaAcpiFloppyA device.<BR>\n"\r
-                                                                                        "FALSE - Doesn't enable IsaAcpiFloppyA device.<BR>"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiFloppyBEnable_PROMPT  #language en-US "Enable IsaAcpiFloppyB device"\r
-\r
-#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdIsaAcpiFloppyBEnable_HELP  #language en-US "Indicates if we need enable IsaAcpiFloppyB device.<BR><BR>\n"\r
-                                                                                        "TRUE  - Enables IsaAcpiFloppyB device.<BR>\n"\r
-                                                                                        "FALSE - Doesn't enable IsaAcpiFloppyB device.<BR>"\r
-\r
 #string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdHpetBaseAddress_PROMPT  #language en-US "HPET base address"\r
 \r
 #string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdHpetBaseAddress_HELP  #language en-US "This PCD specifies the base address of the HPET timer."\r