Laszlo, I appreciate your Reviewed-by on the new PCD creation. But let's continue discussing on the other mail thread: [edk2-devel] [PATCH v2 2/2] UefiCpuPkg/PiSmmCpu: PcdCpuSmmAccessOut controls SMM access-out policy
Thanks, Ray > -----Original Message----- > From: Laszlo Ersek <[email protected]> > Sent: Thursday, August 1, 2019 6:22 AM > To: [email protected]; Ni, Ray <[email protected]> > Cc: Dong, Eric <[email protected]>; Yao, Jiewen <[email protected]> > Subject: Re: [edk2-devel] [PATCH v2 1/2] UefiCpuPkg: Add PCD > PcdCpuSmmAccessOut to control SMM access out > > On 07/31/19 18:38, Ni, Ray wrote: > > There is a requirement to allow SMM code access non-SMRAM memory > after > > ReadyToLock. > > The requirement was expected to be satisfied by commit: > > c60d36b4d1ee1f69b7cca897d3621dfa951895c2 > > * UefiCpuPkg/SmmCpu: Block access-out only when static paging is used > > > > Commit c60d36b4 re-interpreted the PcdCpuSmmStaticPageTable as a way > > to control whether SMM module can access non-SMRAM memory after > > ReadyToLock. > > It brought confusion because "static page table" means the page table > > is created in advance and there is no dynamic page table modification > > at runtime. It only applies to 64bit environment because page table > > for memory below 4GB is always created in advance. But the control of > > whether allowing SMM module access non-SMRAM memory can also be > > applied to 32bit environment. > > It makes more sense to have a separate PCD as proposed in this patch > > to control the policy. > > > > Signed-off-by: Ray Ni <[email protected]> > > Cc: Eric Dong <[email protected]> > > Cc: Laszlo Ersek <[email protected]> > > Cc: Jiewen Yao <[email protected]> > > --- > > UefiCpuPkg/UefiCpuPkg.dec | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec > > index 6ddf0cd224..24b44bae39 100644 > > --- a/UefiCpuPkg/UefiCpuPkg.dec > > +++ b/UefiCpuPkg/UefiCpuPkg.dec > > @@ -246,6 +246,13 @@ [PcdsFixedAtBuild, PcdsPatchableInModule, > PcdsDynamic, PcdsDynamicEx] > > # @Prompt Use static page table for all memory in SMM. > > > > > gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStaticPageTable|TRUE|BOOLEAN > |0x3213 > > 210D > > > > + ## Controls whether SMM modules can access all non-SMRAM memory > after SmmReadyToLock. > > + # TRUE - SMM modules can access all non-SMRAM memory after > SmmReadyToLock.<BR> > > + # FALSE - SMM modules can only access reserved, runtime and ACPI > NVS type of non-SMRAM memory > > + # after SmmReadyToLock.<BR> > > + # @Prompt SMM modules can access all non-SMRAM memory after > SmmReadyToLock. > > + > > + > gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmAccessOut|FALSE|BOOLEAN|0x3 > 213210 > > + F > > + > > ## Specifies timeout value in microseconds for the BSP in SMM to wait for > all APs to come into SMM. > > # @Prompt AP synchronization timeout value in SMM. > > > > > gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|1000000|UINT64 > |0x3213 > > 2104 > > > > Reviewed-by: Laszlo Ersek <[email protected]> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44727): https://edk2.groups.io/g/devel/message/44727 Mute This Topic: https://groups.io/mt/32668871/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
