audk/IntelSiliconPkg
Star Zeng 8c09f30010 IntelSiliconPkg VTdDxe: Option to force no early access attr request
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1272

To have high confidence in usage for platform, add option (BIT2 of
PcdVTdPolicyPropertyMask) to force no IOMMU access attribute request
recording before DMAR table is installed.

Check PcdVTdPolicyPropertyMask BIT2 before RequestAccessAttribute()
and ProcessRequestedAccessAttribute(), then RequestAccessAttribute(),
ProcessRequestedAccessAttribute() and mAccessRequestXXX variables
could be optimized by compiler when PcdVTdPolicyPropertyMask BIT2 = 1.

Test done:
1: Created case that has IOMMU access attribute request before DMAR
   table is installed, ASSERT was triggered after setting
   PcdVTdPolicyPropertyMask BIT2 to 1.

2. Confirmed RequestAccessAttribute(), ProcessRequestedAccessAttribute()
   and mAccessRequestXXX variables were optimized by compiler after
   setting PcdVTdPolicyPropertyMask BIT2 to 1.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2018-10-25 11:50:43 +08:00
..
Feature IntelSiliconPkg VTdDxe: Option to force no early access attr request 2018-10-25 11:50:43 +08:00
Include IntelSiliconPkg: Move MicrocodeUpdate from UefiCpuPkg 2017-11-30 09:25:28 +08:00
Library/DxeSmbiosDataHobLib IntelSiliconPkg: Fix format issues 2016-12-20 10:51:16 +08:00
IntelSiliconPkg.dec IntelSiliconPkg VTdDxe: Option to force no early access attr request 2018-10-25 11:50:43 +08:00
IntelSiliconPkg.dsc IntelSiliconPkg: Update MicrocodeUpdate build path in dsc 2017-12-01 09:31:52 +08:00