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
This commit is contained in:
Star Zeng
2015-06-18 09:26:41 +00:00
committed by lzeng14
parent 93e8630a8d
commit 53ec4d7f98
9 changed files with 278 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
## @file
# This module provide an SMM CIS compliant implementation of SMM IPL.
#
# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
# 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
@@ -73,6 +73,12 @@
## 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