Currently, we will allocate StartupVector buffer under 1MB at entry point function. But some modules may allocate some hard code address under 1MB. For example, LegacyBiosDxe driver tries to manage some legacy range under 640KB. To avoid the conflicts, we move StartupVector buffer allocation to End Of DXE event callback function. v4: Update the Context parameter is used as a pointer to AcpiCpuDataEx, then we needn't to add the global variable. Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Michael Kinney <michael.d.kinney@intel.com>
69 lines
2.2 KiB
INI
69 lines
2.2 KiB
INI
## @file
|
|
# ACPI CPU Data initialization module
|
|
#
|
|
# This module initializes the ACPI_CPU_DATA structure and registers the address
|
|
# of this structure in the PcdCpuS3DataAddress PCD. This is a generic/simple
|
|
# version of this module. It does not provide a machine check handler or CPU
|
|
# register initialization tables for ACPI S3 resume. It also only supports the
|
|
# number of CPUs reported by the MP Services Protocol, so this module does not
|
|
# support hot plug CPUs. This module can be copied into a CPU specific package
|
|
# and customized if these additional features are required.
|
|
#
|
|
# Copyright (c) 2013-2016, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2015, Red Hat, Inc.
|
|
#
|
|
# 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 = CpuS3DataDxe
|
|
MODULE_UNI_FILE = CpuS3DataDxe.uni
|
|
FILE_GUID = 4D2E57EE-0E3F-44DD-93C4-D3B57E96945D
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = CpuS3DataInitialize
|
|
|
|
# The following information is for reference only and not required by the build
|
|
# tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
|
|
[Sources]
|
|
CpuS3Data.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiDriverEntryPoint
|
|
UefiBootServicesTableLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
BaseLib
|
|
MtrrLib
|
|
|
|
[Guids]
|
|
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
|
|
|
|
[Protocols]
|
|
gEfiMpServiceProtocolGuid ## CONSUMES
|
|
|
|
[Pcd]
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## PRODUCES
|
|
|
|
[Depex]
|
|
gEfiMpServiceProtocolGuid
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
CpuS3DataDxeExtra.uni
|