From 460ffed242af83000945f69f75e381426c172ac8 Mon Sep 17 00:00:00 2001 From: Hao Wu Date: Tue, 2 Apr 2019 15:28:50 +0800 Subject: [PATCH] OvmfPkg/OvmfPkg.dec: Add 8259-related PCDs in OVMF DEC file REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1496 According to the DEC file in PcAtChipsetPkg, this commit adds the two 8259-driver-related PCDs into the OvmfPkg DEC file. Please note that, instead of adding the two PCDs under section: [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule] as in PcAtChipsetPkg.dec file, they are added in section: [PcdsFixedAtBuild] in OvmfPkg.dec instead. Cc: Jordan Justen Cc: Ard Biesheuvel Cc: David Woodhouse Cc: Ray Ni Signed-off-by: Hao Wu Reviewed-by: Laszlo Ersek --- OvmfPkg/OvmfPkg.dec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec index d59508db56..cc2a4909af 100644 --- a/OvmfPkg/OvmfPkg.dec +++ b/OvmfPkg/OvmfPkg.dec @@ -122,6 +122,32 @@ gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize|0x0|UINT32|0x1a gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDecompressionScratchEnd|0x0|UINT32|0x1f + ## 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. + # 2) If platform install CSM and use thunk module: + # a) If thunk call provided by CSM binary requires some legacy interrupt + # support, the corresponding bit should be opened as 0. + # For example, if keyboard interfaces provided CSM binary use legacy + # keyboard interrupt in 8259 bit 1, then the value should be set to + # 0xFFFC. + # b) If all thunk call provied by CSM binary do not require legacy + # interrupt support, value should be set to 0xFFFF or 0xFFFE. + # + # 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. + gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF|UINT16|0x3 + + ## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy + # mode's interrrupt controller. + # For the corresponding bits, 0 = Edge triggered and 1 = Level triggered. + gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x5 + [PcdsDynamic, PcdsDynamicEx] gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10 -- 2.39.2