mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-31 03:03:46 +01:00 
			
		
		
		
	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. When BIOS does not support long mode waking vector, only allocate 2 pages (1G page enabled) or 6 pages for 4G page table, and 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@18068 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			90 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| # AcpiS3Save module installs ACPI S3 Save protocol to prepare S3 boot data.
 | |
| #
 | |
| # Copyright (c) 2006 - 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                      = AcpiS3SaveDxe
 | |
|   MODULE_UNI_FILE                = AcpiS3SaveDxe.uni
 | |
|   FILE_GUID                      = 2BDED685-F733-455f-A840-43A22B791FB3
 | |
|   MODULE_TYPE                    = DXE_DRIVER
 | |
|   VERSION_STRING                 = 1.0
 | |
| 
 | |
|   ENTRY_POINT                    = InstallAcpiS3Save
 | |
| 
 | |
| #
 | |
| # The following information is for reference only and not required by the build tools.
 | |
| #
 | |
| #  VALID_ARCHITECTURES           = IA32 X64
 | |
| #
 | |
| 
 | |
| [Sources]
 | |
|   AcpiS3Save.h
 | |
|   AcpiS3Save.c
 | |
|   AcpiVariableThunkPlatform.c
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   MdeModulePkg/MdeModulePkg.dec
 | |
|   IntelFrameworkPkg/IntelFrameworkPkg.dec
 | |
|   IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   PcdLib
 | |
|   UefiRuntimeServicesTableLib
 | |
|   UefiBootServicesTableLib
 | |
|   UefiDriverEntryPoint
 | |
|   BaseMemoryLib
 | |
|   HobLib
 | |
|   UefiLib
 | |
|   LockBoxLib
 | |
|   DebugLib
 | |
|   DxeServicesLib
 | |
| 
 | |
| [Guids]
 | |
|   gEfiAcpiVariableGuid                          ## PRODUCES  ## UNDEFINED # LockBox Save Data.
 | |
|   gEfiAcpiS3ContextGuid                         ## PRODUCES  ## UNDEFINED # LockBox Save Data.
 | |
|   gEfiAcpi20TableGuid                           ## SOMETIMES_CONSUMES  ## SystemTable
 | |
|   gEfiAcpi10TableGuid                           ## SOMETIMES_CONSUMES  ## SystemTable
 | |
|   ## SOMETIMES_CONSUMES ## Variable:L"AcpiGlobalVariable"
 | |
|   ## SOMETIMES_PRODUCES ## Variable:L"AcpiGlobalVariable"
 | |
|   gEfiAcpiVariableCompatiblityGuid
 | |
| 
 | |
| [Protocols]
 | |
|   gEfiAcpiS3SaveProtocolGuid                    ## PRODUCES
 | |
|   gFrameworkEfiMpServiceProtocolGuid            ## SOMETIMES_CONSUMES
 | |
|   ## NOTIFY
 | |
|   ## SOMETIMES_CONSUMES
 | |
|   gEdkiiVariableLockProtocolGuid
 | |
| 
 | |
| [FeaturePcd]
 | |
|   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport          ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport          ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode                 ## CONSUMES
 | |
| 
 | |
| [Pcd]
 | |
|   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize    ## SOMETIMES_CONSUMES
 | |
|   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize       ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable                         ## CONSUMES
 | |
| 
 | |
| [Depex]
 | |
|   #
 | |
|   # Note: the extra dependency of gEfiMpServiceProtocolGuid is to ensure that ACPI variable is set by MpDxe driver before
 | |
|   # AcpiS3SaveDxe module is executed. 
 | |
|   #
 | |
|   gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiMpServiceProtocolGuid
 | |
| 
 | |
| [UserExtensions.TianoCore."ExtraFiles"]
 | |
|   AcpiS3SaveDxeExtra.uni
 |