mirror of https://github.com/acidanthera/audk.git
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
This commit is contained in:
parent
ef73b0a612
commit
856f592ccf
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This contains the installation function for the driver.
|
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
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -38,9 +38,9 @@ UINT8 mMasterBase = 0xff;
|
||||||
UINT8 mSlaveBase = 0xff;
|
UINT8 mSlaveBase = 0xff;
|
||||||
EFI_8259_MODE mMode = Efi8259ProtectedMode;
|
EFI_8259_MODE mMode = Efi8259ProtectedMode;
|
||||||
UINT16 mProtectedModeMask = 0xffff;
|
UINT16 mProtectedModeMask = 0xffff;
|
||||||
UINT16 mLegacyModeMask = FixedPcdGet16(Pcd8259LegacyModeMask);
|
UINT16 mLegacyModeMask;
|
||||||
UINT16 mProtectedModeEdgeLevel = 0x0000;
|
UINT16 mProtectedModeEdgeLevel = 0x0000;
|
||||||
UINT16 mLegacyModeEdgeLevel = FixedPcdGet16(Pcd8259LegacyModeEdgeLevel);
|
UINT16 mLegacyModeEdgeLevel;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Worker Functions
|
// Worker Functions
|
||||||
|
@ -588,6 +588,12 @@ Install8259 (
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_8259_IRQ Irq;
|
EFI_8259_IRQ Irq;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Initialze mask values from PCDs
|
||||||
|
//
|
||||||
|
mLegacyModeMask = PcdGet16 (Pcd8259LegacyModeMask);
|
||||||
|
mLegacyModeEdgeLevel = PcdGet16 (Pcd8259LegacyModeEdgeLevel);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Clear all pending interrupt
|
// Clear all pending interrupt
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
## @file
|
## @file
|
||||||
# 8259 Interrupt Controller driver
|
# 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
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# 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
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -40,9 +40,9 @@
|
||||||
gEfiLegacy8259ProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
gEfiLegacy8259ProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
||||||
gEfiPciIoProtocolGuid
|
gEfiPciIoProtocolGuid
|
||||||
|
|
||||||
[FixedPcd]
|
[Pcd]
|
||||||
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF
|
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask
|
||||||
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000
|
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
TRUE
|
TRUE
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
PACKAGE_GUID = B728689A-52D3-4b8c-AE89-2CE5514CC6DC
|
PACKAGE_GUID = B728689A-52D3-4b8c-AE89-2CE5514CC6DC
|
||||||
PACKAGE_VERSION = 0.1
|
PACKAGE_VERSION = 0.1
|
||||||
|
|
||||||
[PcdsFixedAtBuild]
|
[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
|
||||||
## Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined
|
## 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;
|
# 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.
|
# 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
|
# b) If all thunk call provied by CSM binary do not require legacy interrupt support, value should be set
|
||||||
# to 0xFFFF or 0xFFFE.
|
# 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
|
# 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
|
# 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.
|
# 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.
|
## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrrupt controller.
|
||||||
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002
|
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002
|
||||||
|
|
||||||
[PcdsFixedAtBuild, PcdsDynamic, PcdsPatchableInModule]
|
|
||||||
## This PCD specifies whether we need enable IsaAcpiCom1 device.
|
## This PCD specifies whether we need enable IsaAcpiCom1 device.
|
||||||
gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003
|
gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue