mirror of https://github.com/acidanthera/audk.git
MdePkg: Add PcdSpeculationBarrierType
Add gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType that uses the PCD type FixedAtBuild. This performs a build time selection for the type of speculation barrier to use in the BaseLib function SpeculationBarrier(). The recommended speculation barrier for x86 is LFENCE and this is the default value for this PCD. x86 CPUs that do not support LFENCE must select one of the other supported values which includes CPUID and nothing. Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Brian J. Johnson <brian.johnson@hpe.com>
This commit is contained in:
parent
0c40c9c925
commit
a41b12574e
|
@ -2062,6 +2062,15 @@
|
|||
# @Prompt Enable control flow enforcement.
|
||||
gEfiMdePkgTokenSpaceGuid.PcdControlFlowEnforcementPropertyMask|0x0|UINT32|0x30001017
|
||||
|
||||
## Indicates the type of instruction sequence to use for a speculation
|
||||
# barrier. The default instruction sequence is LFENCE.<BR><BR>
|
||||
# 0x00 - No operation.<BR>
|
||||
# 0x01 - LFENCE (IA32/X64).<BR>
|
||||
# 0x02 - CPUID (IA32/X64).<BR>
|
||||
# Other - reserved
|
||||
# @Prompt Speculation Barrier Type.
|
||||
gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x01|UINT8|0x30001018
|
||||
|
||||
[PcdsFixedAtBuild,PcdsPatchableInModule]
|
||||
## Indicates the maximum length of unicode string used in the following
|
||||
# BaseLib functions: StrLen(), StrSize(), StrCmp(), StrnCmp(), StrCpy(), StrnCpy()<BR><BR>
|
||||
|
|
|
@ -149,6 +149,14 @@
|
|||
" BIT0 - SMM CET Shadow Stack is enabled.<BR>\n"
|
||||
" Other - reserved"
|
||||
|
||||
#string STR_gEfiMdePkgTokenSpaceGuid_PcdSpeculationBarrierType_PROMPT #language en-US "Speculation Barrier Type."
|
||||
|
||||
#string STR_gEfiMdePkgTokenSpaceGuid_PcdSpeculationBarrierType_HELP #language en-US "Indicates the type of instruction sequence to use for a speculation.barrier. The default instruction sequence is LFENCE.<BR><BR>\n"
|
||||
"0x00 - No operation.<BR>\n"
|
||||
"0x01 - LFENCE (IA32/X64).<BR>\n"
|
||||
"0x02 - CPUID (IA32/X64).<BR>\n"
|
||||
"Other - reserved"
|
||||
|
||||
#string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_PROMPT #language en-US "Maximum Length of Ascii String"
|
||||
|
||||
#string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_HELP #language en-US "Sets the maximum number of ASCII characters used for string functions. This affects the following BaseLib functions: AsciiStrLen(), AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(), AsciiStrCpy(), AsciiStrnCpy(). <BR><BR>\n"
|
||||
|
|
Loading…
Reference in New Issue