summaryrefslogtreecommitdiff
path: root/ShellBinPkg
diff options
context:
space:
mode:
authorJiewen Yao <jiewen.yao@intel.com>2016-04-22 15:49:28 +0800
committerJiewen Yao <jiewen.yao@intel.com>2016-04-29 12:49:26 +0800
commit91f51fcc84d9ce3b801fdd895e514cd5525975c7 (patch)
tree77bc48389a78472153f5e09a94a65334d8d424bc /ShellBinPkg
parent009264f5cf0fa0009ff96f307eaac88860a998a8 (diff)
downloadedk2-91f51fcc84d9ce3b801fdd895e514cd5525975c7.zip
edk2-91f51fcc84d9ce3b801fdd895e514cd5525975c7.tar.gz
edk2-91f51fcc84d9ce3b801fdd895e514cd5525975c7.tar.bz2
MdePkg-SmmMemLib: Enhance SmmIsBufferOutsideSmmValid() check for fixed comm buffer.
This patch adds more check in SmmIsBufferOutsideSmmValid(), to make sure that SMM communication buffer is only EfiReservedMemoryType/EfiRuntimeServicesCode/ EfiRuntimeServicesData/EfiACPIMemoryNVS. So that the communication buffer will not touch any OS memory. The assumption is that a platform reports valid SMM communication buffer at EndOfDxe, because EndOfDxe is last hook point that SMM code can call-out to get memory map information. A platform MUST finish SMM communication buffer allocation before EndOfDxe. If a DXE or OS driver need do communication after EndOfDxe, it can either allocate SMM communication buffer before EndOfDxe and save it, or consume EDKII_PI_SMM_COMMUNICATION_REGION_TABLE table to get general fixed comm buffer. This is designed to meet Microsoft WSMT table definition on FIXED_COMM_BUFFERS requirement. Cc: Liming Gao <liming.gao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'ShellBinPkg')
0 files changed, 0 insertions, 0 deletions