gLibraryStructorCall = {\r
SUP_MODULE_BASE : TemplateString("""${BEGIN}\r
Status = ${Function} ();\r
- ASSERT_EFI_ERROR (Status);${END}\r
+ ASSERT_RETURN_ERROR (Status);${END}\r
"""),\r
\r
'PEI' : TemplateString("""${BEGIN}\r
VOID\r
)\r
{\r
-${BEGIN} EFI_STATUS Status;\r
+${BEGIN} RETURN_STATUS Status;\r
${FunctionCall}${END}\r
}\r
"""),\r
gBasicHeaderFile = "Base.h"\r
\r
gModuleTypeHeaderFile = {\r
- SUP_MODULE_BASE : [gBasicHeaderFile],\r
+ SUP_MODULE_BASE : [gBasicHeaderFile, "Library/DebugLib.h"],\r
SUP_MODULE_SEC : ["PiPei.h", "Library/DebugLib.h"],\r
SUP_MODULE_PEI_CORE : ["PiPei.h", "Library/DebugLib.h", "Library/PeiCoreEntryPoint.h"],\r
SUP_MODULE_PEIM : ["PiPei.h", "Library/DebugLib.h", "Library/PeimEntryPoint.h"],\r
SUP_MODULE_SMM_CORE : ["PiDxe.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiDriverEntryPoint.h"],\r
SUP_MODULE_MM_STANDALONE : ["PiMm.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/StandaloneMmDriverEntryPoint.h"],\r
SUP_MODULE_MM_CORE_STANDALONE : ["PiMm.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/StandaloneMmCoreEntryPoint.h"],\r
- SUP_MODULE_USER_DEFINED : [gBasicHeaderFile]\r
+ SUP_MODULE_USER_DEFINED : [gBasicHeaderFile, "Library/DebugLib.h"]\r
}\r
\r
## Autogen internal worker macro to define DynamicEx PCD name includes both the TokenSpaceGuidName\r
if Lib.ModuleType in [SUP_MODULE_BASE, SUP_MODULE_SEC]:\r
ConstructorPrototypeString.Append(gLibraryStructorPrototype[SUP_MODULE_BASE].Replace(Dict))\r
ConstructorCallingString.Append(gLibraryStructorCall[SUP_MODULE_BASE].Replace(Dict))\r
- elif Lib.ModuleType in SUP_MODULE_SET_PEI:\r
- ConstructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict))\r
- ConstructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
- SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
- ConstructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict))\r
- ConstructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
- ConstructorPrototypeString.Append(gLibraryStructorPrototype['MM'].Replace(Dict))\r
- ConstructorCallingString.Append(gLibraryStructorCall['MM'].Replace(Dict))\r
+ if Info.ModuleType not in [SUP_MODULE_BASE, SUP_MODULE_USER_DEFINED]:\r
+ if Lib.ModuleType in SUP_MODULE_SET_PEI:\r
+ ConstructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict))\r
+ ConstructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict))\r
+ elif Lib.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
+ ConstructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict))\r
+ ConstructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict))\r
+ elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
+ ConstructorPrototypeString.Append(gLibraryStructorPrototype['MM'].Replace(Dict))\r
+ ConstructorCallingString.Append(gLibraryStructorCall['MM'].Replace(Dict))\r
\r
if str(ConstructorPrototypeString) == '':\r
ConstructorPrototypeList = []\r
if Info.IsLibrary:\r
AutoGenH.Append("${BEGIN}${FunctionPrototype}${END}", Dict)\r
else:\r
- if Info.ModuleType in [SUP_MODULE_BASE, SUP_MODULE_SEC]:\r
+ if Info.ModuleType in [SUP_MODULE_BASE, SUP_MODULE_SEC, SUP_MODULE_USER_DEFINED]:\r
AutoGenC.Append(gLibraryString[SUP_MODULE_BASE].Replace(Dict))\r
elif Info.ModuleType in SUP_MODULE_SET_PEI:\r
AutoGenC.Append(gLibraryString['PEI'].Replace(Dict))\r
if Lib.ModuleType in [SUP_MODULE_BASE, SUP_MODULE_SEC]:\r
DestructorPrototypeString.Append(gLibraryStructorPrototype[SUP_MODULE_BASE].Replace(Dict))\r
DestructorCallingString.Append(gLibraryStructorCall[SUP_MODULE_BASE].Replace(Dict))\r
- elif Lib.ModuleType in SUP_MODULE_SET_PEI:\r
- DestructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict))\r
- DestructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
- SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
- DestructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict))\r
- DestructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
- DestructorPrototypeString.Append(gLibraryStructorPrototype['MM'].Replace(Dict))\r
- DestructorCallingString.Append(gLibraryStructorCall['MM'].Replace(Dict))\r
+ if Info.ModuleType not in [SUP_MODULE_BASE, SUP_MODULE_USER_DEFINED]:\r
+ if Lib.ModuleType in SUP_MODULE_SET_PEI:\r
+ DestructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict))\r
+ DestructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict))\r
+ elif Lib.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
+ DestructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict))\r
+ DestructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict))\r
+ elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
+ DestructorPrototypeString.Append(gLibraryStructorPrototype['MM'].Replace(Dict))\r
+ DestructorCallingString.Append(gLibraryStructorCall['MM'].Replace(Dict))\r
\r
if str(DestructorPrototypeString) == '':\r
DestructorPrototypeList = []\r
if Info.IsLibrary:\r
AutoGenH.Append("${BEGIN}${FunctionPrototype}${END}", Dict)\r
else:\r
- if Info.ModuleType in [SUP_MODULE_BASE, SUP_MODULE_SEC]:\r
+ if Info.ModuleType in [SUP_MODULE_BASE, SUP_MODULE_SEC, SUP_MODULE_USER_DEFINED]:\r
AutoGenC.Append(gLibraryString[SUP_MODULE_BASE].Replace(Dict))\r
elif Info.ModuleType in SUP_MODULE_SET_PEI:\r
AutoGenC.Append(gLibraryString['PEI'].Replace(Dict))\r
# @param AutoGenH The TemplateString object for header file\r
#\r
def CreateModuleUnloadImageCode(Info, AutoGenC, AutoGenH):\r
- if Info.IsLibrary or Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_SEC]:\r
+ if Info.IsLibrary or Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE, SUP_MODULE_SEC]:\r
return\r
\r
ModuleUnloadImageList = []\r