summaryrefslogtreecommitdiff
path: root/PcAtChipsetPkg
diff options
context:
space:
mode:
Diffstat (limited to 'PcAtChipsetPkg')
-rw-r--r--PcAtChipsetPkg/8259InterruptControllerDxe/8259.c12
-rw-r--r--PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf8
-rw-r--r--PcAtChipsetPkg/PcAtChipsetPkg.dec5
3 files changed, 14 insertions, 11 deletions
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
index ec23bd9396..5a862d13b8 100644
--- a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
+++ b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
@@ -1,7 +1,7 @@
/** @file
This contains the installation function for the driver.
-Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -38,9 +38,9 @@ UINT8 mMasterBase = 0xff;
UINT8 mSlaveBase = 0xff;
EFI_8259_MODE mMode = Efi8259ProtectedMode;
UINT16 mProtectedModeMask = 0xffff;
-UINT16 mLegacyModeMask = FixedPcdGet16(Pcd8259LegacyModeMask);
+UINT16 mLegacyModeMask;
UINT16 mProtectedModeEdgeLevel = 0x0000;
-UINT16 mLegacyModeEdgeLevel = FixedPcdGet16(Pcd8259LegacyModeEdgeLevel);
+UINT16 mLegacyModeEdgeLevel;
//
// Worker Functions
@@ -589,6 +589,12 @@ Install8259 (
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++) {
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
index 5dae80548b..22aeeb32e0 100644
--- a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
+++ b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
@@ -1,7 +1,7 @@
## @file
# 8259 Interrupt Controller driver
#
-# Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -40,9 +40,9 @@
gEfiLegacy8259ProtocolGuid # PROTOCOL ALWAYS_PRODUCED
gEfiPciIoProtocolGuid
-[FixedPcd]
- gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF
- gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000
+[Pcd]
+ gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask
+ gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel
[Depex]
TRUE
diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.dec b/PcAtChipsetPkg/PcAtChipsetPkg.dec
index c67c2f9f21..91b05b0cdd 100644
--- a/PcAtChipsetPkg/PcAtChipsetPkg.dec
+++ b/PcAtChipsetPkg/PcAtChipsetPkg.dec
@@ -22,7 +22,7 @@
PACKAGE_GUID = B728689A-52D3-4b8c-AE89-2CE5514CC6DC
PACKAGE_VERSION = 0.1
-[PcdsFixedAtBuild]
+[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
## Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined
# 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.
@@ -34,8 +34,6 @@
# b) If all thunk call provied by CSM binary do not require legacy interrupt support, value should be set
# to 0xFFFF or 0xFFFE.
#
- # Because the value is used as intialization value, PCD's type should be FixedAtBuild.
- #
# 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.
@@ -45,7 +43,6 @@
## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrrupt controller.
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002
-[PcdsFixedAtBuild, PcdsDynamic, PcdsPatchableInModule]
## This PCD specifies whether we need enable IsaAcpiCom1 device.
gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003