Files
system76-edk2/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf
Star Zeng 716087e2be MdeModulePkg CapsuleX64: Reduce reserved memory consumption
We are going to reduce reserved memory consumption by page table buffer,
then OS can have more available memory to use.
Take PhysicalAddressBits = 48 and 2MB page granularity as example,
1:1 Virtual to Physical identity mapping page table buffer needs to be
((512 + 1) * 512 + 1) * 4096 = 1075843072 bytes = 0x40201000 bytes.

The code is updated to build 4G page table by default and only use 8 extra
pages to handles > 4G request by page fault.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18069 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-27 03:04:41 +00:00

60 lines
1.7 KiB
INI

## @file
# CapsuleX64 module handles >4GB capsule blocks.
#
# The X64 entrypoint to process capsule in long mode.
# This module is built as X64.
#
# Caution: This module requires additional review when modified.
# This driver will have external input - capsule image.
# This external input must be validated carefully to avoid security issue like
# buffer overflow, integer overflow.
#
# Copyright (c) 2011 - 2015, 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
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = CapsuleX64
MODULE_UNI_FILE = CapsuleX64.uni
FILE_GUID = F7FDE4A6-294C-493c-B50F-9734553BB757
MODULE_TYPE = PEIM
VERSION_STRING = 1.0
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = X64
#
[Sources]
X64/X64Entry.c
X64/PageFaultHandler.asm
X64/PageFaultHandler.S
Common/CapsuleCoalesce.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
DebugLib
CpuExceptionHandlerLib
DebugAgentLib
[Depex]
FALSE
[UserExtensions.TianoCore."ExtraFiles"]
CapsuleX64Extra.uni