summaryrefslogtreecommitdiffstats
path: root/IntelSiliconPkg
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2018-03-05 22:10:16 +0800
committerStar Zeng <star.zeng@intel.com>2018-03-09 10:01:54 +0800
commitaa512b0eb4fa92e4961926d355436122a1b812b3 (patch)
tree3a1112f8d5c91165fddbdd93e5c98f56a1373f29 /IntelSiliconPkg
parent41ba79ea1e184605c194dcc07be3d16538e4d08a (diff)
downloadedk2-aa512b0eb4fa92e4961926d355436122a1b812b3.tar.gz
edk2-aa512b0eb4fa92e4961926d355436122a1b812b3.tar.bz2
edk2-aa512b0eb4fa92e4961926d355436122a1b812b3.zip
IntelSiliconPkg VTdPmrPei: Add PcdVTdPeiDmaBufferSize(S3)
Add PcdVTdPeiDmaBufferSize(S3) to replace the hard coded value TOTAL_DMA_BUFFER_SIZE and TOTAL_DMA_BUFFER_SIZE_S3 in IntelVTdPmrPei. Cc: Jiewen Yao <jiewen.yao@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> (cherry picked from commit 339cb0af96f768bfefee81bf7995a608adeb2125)
Diffstat (limited to 'IntelSiliconPkg')
-rw-r--r--IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.c7
-rw-r--r--IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf4
-rw-r--r--IntelSiliconPkg/IntelSiliconPkg.dec18
3 files changed, 22 insertions, 7 deletions
diff --git a/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.c b/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.c
index 2b2df1f425..27847f4331 100644
--- a/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.c
+++ b/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.c
@@ -29,9 +29,6 @@
#include "IntelVTdPmrPei.h"
-#define TOTAL_DMA_BUFFER_SIZE SIZE_4MB
-#define TOTAL_DMA_BUFFER_SIZE_S3 SIZE_1MB
-
EFI_GUID mVTdInfoGuid = {
0x222f5e30, 0x5cd, 0x49c6, { 0x8a, 0xc, 0x36, 0xd6, 0x58, 0x41, 0xe0, 0x82 }
};
@@ -798,9 +795,9 @@ IntelVTdPmrInitialize (
PeiServicesGetBootMode (&BootMode);
if (BootMode == BOOT_ON_S3_RESUME) {
- DmaBufferInfo->DmaBufferSize = TOTAL_DMA_BUFFER_SIZE_S3;
+ DmaBufferInfo->DmaBufferSize = PcdGet32 (PcdVTdPeiDmaBufferSizeS3);
} else {
- DmaBufferInfo->DmaBufferSize = TOTAL_DMA_BUFFER_SIZE;
+ DmaBufferInfo->DmaBufferSize = PcdGet32 (PcdVTdPeiDmaBufferSize);
}
Status = PeiServicesNotifyPpi (&mVTdInfoNotifyDesc);
diff --git a/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf b/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf
index e6d0323acc..5b688d5cbf 100644
--- a/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf
+++ b/IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf
@@ -4,7 +4,7 @@
# This driver initializes VTd engine based upon EDKII_VTD_INFO_PPI
# and provide DMA protection in PEI.
#
-# Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -54,6 +54,8 @@
[Pcd]
gIntelSiliconPkgTokenSpaceGuid.PcdVTdPolicyPropertyMask ## CONSUMES
+ gIntelSiliconPkgTokenSpaceGuid.PcdVTdPeiDmaBufferSize ## CONSUMES
+ gIntelSiliconPkgTokenSpaceGuid.PcdVTdPeiDmaBufferSizeS3 ## CONSUMES
[Depex]
gEfiPeiMasterBootModePpiGuid AND
diff --git a/IntelSiliconPkg/IntelSiliconPkg.dec b/IntelSiliconPkg/IntelSiliconPkg.dec
index a15d3dee39..c0cf58fa6c 100644
--- a/IntelSiliconPkg/IntelSiliconPkg.dec
+++ b/IntelSiliconPkg/IntelSiliconPkg.dec
@@ -3,7 +3,7 @@
#
# This package provides common open source Intel silicon modules.
#
-# Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials are licensed and made available under
# the terms and conditions of the BSD License that accompanies this distribution.
# The full text of the license may be found at
@@ -61,3 +61,19 @@
# @Prompt The policy for VTd driver behavior.
gIntelSiliconPkgTokenSpaceGuid.PcdVTdPolicyPropertyMask|1|UINT8|0x00000002
+ ## Declares VTd PEI DMA buffer size.<BR><BR>
+ # When this PCD value is referred by platform to calculate the required
+ # memory size for PEI (InstallPeiMemory), the PMR alignment requirement
+ # needs be considered to be added with this PCD value for alignment
+ # adjustment need by AllocateAlignedPages.
+ # @Prompt The VTd PEI DMA buffer size.
+ gIntelSiliconPkgTokenSpaceGuid.PcdVTdPeiDmaBufferSize|0x00400000|UINT32|0x00000003
+
+ ## Declares VTd PEI DMA buffer size for S3.<BR><BR>
+ # When this PCD value is referred by platform to calculate the required
+ # memory size for PEI S3 (InstallPeiMemory), the PMR alignment requirement
+ # needs be considered to be added with this PCD value for alignment
+ # adjustment need by AllocateAlignedPages.
+ # @Prompt The VTd PEI DMA buffer size for S3.
+ gIntelSiliconPkgTokenSpaceGuid.PcdVTdPeiDmaBufferSizeS3|0x00200000|UINT32|0x00000004
+