Star Zeng 53ec4d7f98 MdeModulePkg PiSmmCore: Introduce SMM Exit Boot Services and Legacy Boot.
And also SMM Ready To Boot.

The SMM Exit Boot Service protocol is to be published by the SMM
Foundation code to associate with EFI_EVENT_GROUP_EXIT_BOOT_SERVICES
to notify SMM driver that system enter exit boot services.

The SMM Legacy Boot protocol is to be published by the SMM
Foundation code to associate with EFI_EVENT_LEGACY_BOOT_GUID
to notify SMM driver that system enter legacy boot.

The SMM Ready To Boot protocol is to be published by the SMM
Foundation code to associate with EFI_EVENT_GROUP_READY_TO_BOOT
to notify SMM driver that system enter ready to boot.

After them, any SMM drivers can get protocol notify on what happened
in DXE phase, then there is no need to let each individual SMM driver
to register SMM Communication Handler for that.

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@17657 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-18 09:26:41 +00:00

95 lines
3.2 KiB
INI

## @file
# This module provide an SMM CIS compliant implementation of SMM IPL.
#
# Copyright (c) 2009 - 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 = PiSmmIpl
MODULE_UNI_FILE = PiSmmIpl.uni
FILE_GUID = 2FA2A6DA-11D5-4dc3-999A-749648B03C56
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
PI_SPECIFICATION_VERSION = 0x0001000A
ENTRY_POINT = SmmIplEntry
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64
#
[Sources]
PiSmmIpl.c
PiSmmCorePrivateData.h
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
UefiDriverEntryPoint
BaseLib
BaseMemoryLib
PeCoffLib
CacheMaintenanceLib
MemoryAllocationLib
DebugLib
UefiBootServicesTableLib
DxeServicesTableLib
UefiLib
UefiRuntimeLib
DxeServicesLib
PcdLib
[Protocols]
gEfiSmmBase2ProtocolGuid ## PRODUCES
gEfiSmmCommunicationProtocolGuid ## PRODUCES
gEfiSmmAccess2ProtocolGuid ## CONSUMES
## NOTIFY
## CONSUMES
gEfiSmmConfigurationProtocolGuid
gEfiSmmControl2ProtocolGuid ## CONSUMES
## NOTIFY
## SOMETIMES_CONSUMES
## UNDEFINED # Used to do smm communcation
gEfiDxeSmmReadyToLockProtocolGuid
gEfiCpuArchProtocolGuid ## SOMETIMES_CONSUMES
[Guids]
## CONSUMES ## Event
## PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventDxeDispatchGuid
gEfiEventReadyToBootGuid ## CONSUMES ## Event
## SOMETIMES_CONSUMES ## Event
## SOMETIMES_PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventLegacyBootGuid
## SOMETIMES_CONSUMES ## Event
## SOMETIMES_PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventExitBootServicesGuid
## SOMETIMES_CONSUMES ## Event
## SOMETIMES_PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventReadyToBootGuid
gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
gLoadFixedAddressConfigurationTableGuid ## SOMETIMES_CONSUMES ## SystemTable
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES
[Depex]
gEfiSmmAccess2ProtocolGuid AND gEfiSmmControl2ProtocolGuid
[UserExtensions.TianoCore."ExtraFiles"]
PiSmmIplExtra.uni