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