summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2012-10-16 08:57:52 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2012-10-16 08:57:52 +0000
commit6b52b72fb87d8ceaa9ac5c3969915ca7b87e17fc (patch)
treed0f39a389a8366f61638d5addcb8f206cded6925 /MdeModulePkg
parentf941becdd8e47543227315fe1f2622eb8a106b71 (diff)
downloadedk2-6b52b72fb87d8ceaa9ac5c3969915ca7b87e17fc.zip
edk2-6b52b72fb87d8ceaa9ac5c3969915ca7b87e17fc.tar.gz
edk2-6b52b72fb87d8ceaa9ac5c3969915ca7b87e17fc.tar.bz2
Update SmiManager() to invoke all root SMI handlers to following PI Spec.
signed-off-by: Jeff Fan <jeff.fan@intel.com> reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13850 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Core/PiSmmCore/Smi.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/MdeModulePkg/Core/PiSmmCore/Smi.c b/MdeModulePkg/Core/PiSmmCore/Smi.c
index 1868bbf..1111959 100644
--- a/MdeModulePkg/Core/PiSmmCore/Smi.c
+++ b/MdeModulePkg/Core/PiSmmCore/Smi.c
@@ -170,14 +170,20 @@ SmiManage (
// If a handler returns EFI_INTERRUPT_PENDING then no additional handlers
// will be processed and EFI_INTERRUPT_PENDING will be returned.
//
- return EFI_INTERRUPT_PENDING;
+ if (HandlerType != NULL) {
+ return EFI_INTERRUPT_PENDING;
+ }
+ break;
case EFI_SUCCESS:
//
// If a handler returns EFI_SUCCESS then no additional handlers will be processed.
// then the function will return EFI_SUCCESS.
//
- return EFI_SUCCESS;
+ if (HandlerType != NULL) {
+ return EFI_SUCCESS;
+ }
+ break;
case EFI_WARN_INTERRUPT_SOURCE_QUIESCED:
//