UefiCpuPkg/PiSmmCpuDxeSmm: Impl IsSmmCommBufferForbiddenAddress for MM
Since all accessible NON-MMRAM memory shall be in ResourceDescriptor HOBs, check the ResourceDescriptor HOBs to return if the Address is forbidden or not for MM CPU. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Dun Tan <dun.tan@intel.com> Cc: Hongbin1 Zhang <hongbin1.zhang@intel.com> Cc: Wei6 Xu <wei6.xu@intel.com> Cc: Yuanhao Xie <yuanhao.xie@intel.com>
This commit is contained in:
parent
9ee5334796
commit
167e902624
|
@ -46,6 +46,34 @@ GetSmmProfileData (
|
||||||
return SmmProfileDataHob.MemoryAllocation->AllocDescriptor.MemoryBaseAddress;
|
return SmmProfileDataHob.MemoryAllocation->AllocDescriptor.MemoryBaseAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return if the Address is forbidden as SMM communication buffer.
|
||||||
|
|
||||||
|
@param[in] Address the address to be checked
|
||||||
|
|
||||||
|
@return TRUE The address is forbidden as SMM communication buffer.
|
||||||
|
@return FALSE The address is allowed as SMM communication buffer.
|
||||||
|
**/
|
||||||
|
BOOLEAN
|
||||||
|
IsSmmCommBufferForbiddenAddress (
|
||||||
|
IN UINT64 Address
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EFI_PEI_HOB_POINTERS Hob;
|
||||||
|
|
||||||
|
Hob.Raw = GetFirstHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR);
|
||||||
|
while (Hob.Raw != NULL) {
|
||||||
|
if ((Address >= Hob.ResourceDescriptor->PhysicalStart) && (Address < Hob.ResourceDescriptor->PhysicalStart + Hob.ResourceDescriptor->ResourceLength)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
Hob.Raw = GET_NEXT_HOB (Hob);
|
||||||
|
Hob.Raw = GetNextHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, Hob.Raw);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Build Memory Region from ResourceDescriptor HOBs by excluding Logging attribute range.
|
Build Memory Region from ResourceDescriptor HOBs by excluding Logging attribute range.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue