summaryrefslogtreecommitdiff
path: root/PcAtChipsetPkg
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2011-05-04 20:56:30 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2011-05-04 20:56:30 +0000
commit856f592ccf397bd55a242375fc1854a190c776e1 (patch)
tree374cf02dbaff21834d83b45142447d07d0caf88d /PcAtChipsetPkg
parentef73b0a612e9c276816a08e48d70c78d8133fb8d (diff)
Update 8259 PCDs to support Dynamic and DynamicEx and PatchableInModule
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11618 6f19259b-4bc3-4df7-8a09-765794883524
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 ec23bd939..5a862d13b 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 5dae80548..22aeeb32e 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 c67c2f9f2..91b05b0cd 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