]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/SmmCpu: Block access-out only when static paging is used
authorJiewen Yao <jiewen.yao@intel.com>
Sat, 3 Nov 2018 11:59:01 +0000 (19:59 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Wed, 7 Nov 2018 16:13:26 +0000 (00:13 +0800)
commitc60d36b4d1ee1f69b7cca897d3621dfa951895c2
treee17cc028459a56d3ae8506e284fffe28f35526b7
parentb66e38b50134728614bbca2a2449a36a5dc2bd91
UefiCpuPkg/SmmCpu: Block access-out only when static paging is used

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 <jiewen.yao@intel.com>
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c