reviewed-by: [email protected]

thank you!
Yao, Jiewen


> 在 2018年11月7日,下午4:58,Ni, Ruiyu <[email protected]> 写道:
> 
> From: Jiewen Yao <[email protected]>
> 
> When static paging is disabled, page table for below 4GB is created
> and page table for above 4GB is created dynamically in page fault
> handler.
> 
> Today's implementation only allow SMM access-out to below types of
> memory address no matter static paging is enabled or not:
> 1. Reserved, run time and ACPI NVS type
> 2. MMIO
> 
> But certain platform feature like RAS may need to access other types
> of memory from SMM. Today's code blocks these platforms.
> This patch simplifies the policy to only block when static paging
> is used so that the static paging can be disabled in these platforms
> to meet their SMM access-out need.
> 
> Setting PcdCpuSmmStaticPageTable to FALSE can disable the static
> paging.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Jiewen Yao <[email protected]>
> Signed-off-by: Ruiyu Ni <[email protected]>
> Cc: Eric Dong <[email protected]>
> Cc: Jiewen Yao <[email protected]>
> Acked-by: Laszlo Ersek <[email protected]>
> ---
> UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c 
> b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
> index 5bb7d57238..117502dafa 100644
> --- a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
> +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
> @@ -1,7 +1,7 @@
> /** @file
> Page Fault (#PF) handler for X64 processors
> 
> -Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
> 
> This program and the accompanying materials
> @@ -890,7 +890,7 @@ SmiPFHandler (
>       CpuDeadLoop ();
>     }
> 
> -    if (IsSmmCommBufferForbiddenAddress (PFAddress)) {
> +    if (mCpuSmmStaticPageTable && IsSmmCommBufferForbiddenAddress 
> (PFAddress)) {
>       DumpCpuContext (InterruptType, SystemContext);
>       DEBUG ((DEBUG_ERROR, "Access SMM communication forbidden address 
> (0x%lx)!\n", PFAddress));
>       DEBUG_CODE (
> -- 
> 2.16.1.windows.1
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to