IntelSiliconPkg/IntelVTdPmrPei: Parse RMRR table.
authorJiewen Yao <jiewen.yao@intel.com>
Fri, 15 Sep 2017 04:29:10 +0000 (12:29 +0800)
committerJiewen Yao <jiewen.yao@intel.com>
Wed, 20 Sep 2017 06:45:43 +0000 (14:45 +0800)
commit8e9da4ba3c4a4eeded7651f629330df3a9e5a780
tree03237bafb8059be7c6cfc613ba9e256290ac2171
parentf02c531967785780ad14fbc8475d8322dfd0909b
IntelSiliconPkg/IntelVTdPmrPei: Parse RMRR table.

In order to support PEI graphic, we let VTdPmrPei driver
parse DMAR table RMRR entry and allow the UMA access.

If a system has no PEI IGD, no RMRR is needed. The behavior
is unchanged.

If a system has PEI IGD, it must report RMRR in PEI phase.
The PeiVTdPrm will program the IGD VTd engine to skip the
RMRR region, and program the rest PCI VTd engine to skip
the another DMA buffer allocated in PEI phase for other
device driver.

Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmr.c
IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.c
IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.h