MdeModulePkg Variable: Align TPL level for (Smm)EndOfDxe callback
authorStar Zeng <>
Wed, 28 Mar 2018 09:27:50 +0000 (17:27 +0800)
committerStar Zeng <>
Fri, 30 Mar 2018 06:14:25 +0000 (14:14 +0800)
VariableRuntimeDxe will have OnEndOfDxe() callback function at
TPL_NOTIFY level on EndOfDxe event when DXE variable solution is
  Status = gBS->CreateEventEx (

VariableSmm will have SmmEndOfDxeCallback() callback function at
TPL_CALLBACK level on SmmEndOfDxe event when SMM variable solution
is used.
SmmIplGuidedEventNotify()  -  PiSmmIpl.c TPL_CALLBACK on EndOfDxe
SmmEndOfDxeHandler()  -  PiSmmCore.c install SmmEndOfDxe protocol
SmmEndOfDxeCallback() - VariableSmm.c

The TPL level for (Smm)EndOfDxe callback between VariableRuntimeDxe
and VariableSmm is inconsistent, it will make the unified platform
code could not make sure its TPL_NOTIFY EndOfDxe callback function
(to use variable lock/check) executed before (Smm)EndOfDxe callback
function in variable driver. The variable lock/check will start to
protect after (Smm)EndOfDxe callback function in variable driver is

This patch is to algin the TPL level to TPL_CALLBACK for (Smm)EndOfDxe
callback between VariableRuntimeDxe and VariableSmm.

Cc: Chasel Chiu <>
Cc: Ruiyu Ni <>
Cc: Liming Gao <>
Cc: Jiewen Yao <>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <>
Reviewed-by: Chasel Chiu <>

index b2a373cf98aa972a18b116394e65f5cb68c464fe..6b04f4f7b39451cbaff368919f8a0c27b1d0f911 100644 (file)
@@ -3,7 +3,7 @@
   and volatile storage space and install variable architecture protocol.\r
 Copyright (C) 2013, Red Hat, Inc.\r
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
@@ -547,7 +547,7 @@ VariableServiceInitialize (
   Status = gBS->CreateEventEx (\r
-                  TPL_NOTIFY,\r
+                  TPL_CALLBACK,\r