On 04/03/19 09:00, Hao Wu wrote:
> 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.
>
> Cc: Jordan Justen
> Cc: Laszlo Ersek
> Cc: Ard Biesheuvel
> Cc: David Woodhouse
> Cc: Ray Ni
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Hao Wu
> ---
> OvmfPkg/OvmfPkg.dec | 26
> 1 file changed, 26 insertions(+)
>
> diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec
> index fb89ebf3ad..cb838422aa 100644
> --- a/OvmfPkg/OvmfPkg.dec
> +++ b/OvmfPkg/OvmfPkg.dec
> @@ -128,6 +128,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 0x 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 0x 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 0x to mask all legacy interrupt. Please restore the
> + # original legacy mask value if changing is made for these special case.
> + gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0x|UINT16|0x28
> +
> + ## 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|0x|UINT16|0x29
> +
> [PcdsDynamic, PcdsDynamicEx]
>gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2
>gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10
>
Thank you for wrapping the comments so nicely!
(1) In PcAtChipsetPkg.dec, both PCDs are declared under:
[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
but in OvmfPkg, this patch introduces both PCDs under just
[PcdsFixedAtBuild]
I think that's fine for now, but please mention this change in the
commit message.
(2) OVMF's PCD token space seems to have some holes, namely at: 3
decimal, 5 decimal, and 0x17.
Can you introduce the new PCDs with tokens 3 and 5, just to decrease the
fragmentation?
With (1) and (2) addressed:
Reviewed-by: Laszlo Ersek
Thanks,
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel