]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenC.py
BaseTools: fix imports
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenC.py
index 3b396491d0235020c3567850a0018d771d34ed81..e224568db1ed14d76dead4be053ccc2dfdb7a3fa 100644 (file)
@@ -18,7 +18,7 @@ import string
 import collections\r
 import struct\r
 from Common import EdkLogger\r
-\r
+from Common import GlobalData\r
 from Common.BuildToolError import *\r
 from Common.DataType import *\r
 from Common.Misc import *\r
@@ -266,7 +266,7 @@ EFI_STATUS
 EFIAPI\r
 ${Function} (\r
   IN EFI_HANDLE            ImageHandle,\r
-  IN EFI_SMM_SYSTEM_TABLE2 *MmSystemTable\r
+  IN EFI_MM_SYSTEM_TABLE   *MmSystemTable\r
   );\r
 ${END}\r
 """)\r
@@ -279,7 +279,7 @@ EFI_STATUS
 EFIAPI\r
 ProcessModuleEntryPointList (\r
   IN EFI_HANDLE            ImageHandle,\r
-  IN EFI_SMM_SYSTEM_TABLE2 *MmSystemTable\r
+  IN EFI_MM_SYSTEM_TABLE   *MmSystemTable\r
   )\r
 \r
 {\r
@@ -293,7 +293,7 @@ EFI_STATUS
 EFIAPI\r
 ProcessModuleEntryPointList (\r
   IN EFI_HANDLE            ImageHandle,\r
-  IN EFI_SMM_SYSTEM_TABLE2 *MmSystemTable\r
+  IN EFI_MM_SYSTEM_TABLE   *MmSystemTable\r
   )\r
 \r
 {\r
@@ -308,7 +308,7 @@ EFI_STATUS
 EFIAPI\r
 ProcessModuleEntryPointList (\r
   IN EFI_HANDLE            ImageHandle,\r
-  IN EFI_SMM_SYSTEM_TABLE2 *MmSystemTable\r
+  IN EFI_MM_SYSTEM_TABLE   *MmSystemTable\r
   )\r
 \r
 {\r
@@ -676,7 +676,7 @@ EFI_STATUS
 EFIAPI\r
 ${Function} (\r
   IN EFI_HANDLE            ImageHandle,\r
-  IN EFI_SMM_SYSTEM_TABLE2  *MmSystemTable\r
+  IN EFI_MM_SYSTEM_TABLE   *MmSystemTable\r
   );${END}\r
 """),\r
 }\r
@@ -756,7 +756,7 @@ VOID
 EFIAPI\r
 ProcessLibrary${Type}List (\r
   IN EFI_HANDLE            ImageHandle,\r
-  IN EFI_SMM_SYSTEM_TABLE2  *MmSystemTable\r
+  IN EFI_MM_SYSTEM_TABLE   *MmSystemTable\r
   )\r
 {\r
 ${BEGIN}  EFI_STATUS  Status;\r
@@ -780,8 +780,8 @@ gModuleTypeHeaderFile = {
     SUP_MODULE_UEFI_DRIVER       :   ["Uefi.h",  "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiBootServicesTableLib.h", "Library/UefiDriverEntryPoint.h"],\r
     SUP_MODULE_UEFI_APPLICATION  :   ["Uefi.h",  "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiBootServicesTableLib.h", "Library/UefiApplicationEntryPoint.h"],\r
     SUP_MODULE_SMM_CORE          :   ["PiDxe.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiDriverEntryPoint.h"],\r
-    SUP_MODULE_MM_STANDALONE     :   ["PiSmm.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/SmmDriverStandaloneEntryPoint.h"],\r
-    SUP_MODULE_MM_CORE_STANDALONE :  ["PiSmm.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/SmmCoreStandaloneEntryPoint.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
 }\r
 \r
@@ -937,7 +937,7 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
         if Info.IsLibrary:\r
             PcdList = Info.LibraryPcdList\r
         else:\r
-            PcdList = Info.ModulePcdList\r
+            PcdList = Info.ModulePcdList + Info.LibraryPcdList\r
         PcdExCNameTest = 0\r
         for PcdModule in PcdList:\r
             if PcdModule.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:\r
@@ -1015,50 +1015,19 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
                 EdkLogger.error("build", AUTOGEN_ERROR,\r
                                 "PCD value is not valid dec or hex number for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
                                 ExtraData="[%s]" % str(Info))\r
-            if Pcd.DatumType == TAB_UINT64:\r
-                if ValueNumber < 0:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                elif ValueNumber >= 0x10000000000000000:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                if not Value.endswith('ULL'):\r
-                    Value += 'ULL'\r
-            elif Pcd.DatumType == TAB_UINT32:\r
-                if ValueNumber < 0:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                elif ValueNumber >= 0x100000000:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                if not Value.endswith('U'):\r
-                    Value += 'U'\r
-            elif Pcd.DatumType == TAB_UINT16:\r
-                if ValueNumber < 0:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                elif ValueNumber >= 0x10000:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                if not Value.endswith('U'):\r
-                    Value += 'U'\r
-            elif Pcd.DatumType == TAB_UINT8:\r
-                if ValueNumber < 0:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                elif ValueNumber >= 0x100:\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
-                                    "Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
-                                    ExtraData="[%s]" % str(Info))\r
-                if not Value.endswith('U'):\r
-                    Value += 'U'\r
+            if ValueNumber < 0:\r
+                EdkLogger.error("build", AUTOGEN_ERROR,\r
+                                "PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
+                                ExtraData="[%s]" % str(Info))\r
+            elif ValueNumber > MAX_VAL_TYPE[Pcd.DatumType]:\r
+                EdkLogger.error("build", AUTOGEN_ERROR,\r
+                                "Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
+                                ExtraData="[%s]" % str(Info))\r
+            if Pcd.DatumType == TAB_UINT64 and not Value.endswith('ULL'):\r
+                Value += 'ULL'\r
+            elif Pcd.DatumType != TAB_UINT64 and not Value.endswith('U'):\r
+                Value += 'U'\r
+\r
         if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
             if not Pcd.MaxDatumSize:\r
                 EdkLogger.error("build", AUTOGEN_ERROR,\r
@@ -1293,7 +1262,6 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
                 AutoGenH.Append('#define %s(Value)  LibPcdSet%s(%s, (Value))\n' % (SetModeName, DatumSizeLib, PcdTokenName))\r
                 AutoGenH.Append('#define %s(Value)  LibPcdSet%sS(%s, (Value))\n' % (SetModeStatusName, DatumSizeLib, PcdTokenName))\r
     if PcdItemType == TAB_PCDS_PATCHABLE_IN_MODULE:\r
-        GetModeMaxSizeName = '_PCD_GET_MODE_MAXSIZE' + '_' + TokenCName\r
         PcdVariableName = '_gPcd_' + gItemTypeStringDatabase[TAB_PCDS_PATCHABLE_IN_MODULE] + '_' + TokenCName\r
         if DatumType not in TAB_PCD_NUMERIC_TYPES:\r
             if DatumType == TAB_VOID and Array == '[]':\r
@@ -1308,7 +1276,7 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
         if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
             AutoGenH.Append('#define %s(SizeOfBuffer, Buffer)  LibPatchPcdSetPtrAndSize((VOID *)_gPcd_BinaryPatch_%s, &%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeName, TokenCName, PatchPcdSizeVariableName, PatchPcdMaxSizeVariable))\r
             AutoGenH.Append('#define %s(SizeOfBuffer, Buffer)  LibPatchPcdSetPtrAndSizeS((VOID *)_gPcd_BinaryPatch_%s, &%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeStatusName, TokenCName, PatchPcdSizeVariableName, PatchPcdMaxSizeVariable))\r
-            AutoGenH.Append('#define %s %s\n' % (GetModeMaxSizeName, PatchPcdMaxSizeVariable))\r
+            AutoGenH.Append('#define %s %s\n' % (PatchPcdSizeTokenName, PatchPcdMaxSizeVariable))\r
             AutoGenH.Append('extern const UINTN %s; \n' % PatchPcdMaxSizeVariable)\r
         else:\r
             AutoGenH.Append('#define %s(Value)  (%s = (Value))\n' % (SetModeName, PcdVariableName))\r
@@ -1330,7 +1298,7 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
         AutoGenH.Append('//#define %s  ASSERT(FALSE)  // It is not allowed to set value for a FIXED_AT_BUILD PCD\n' % SetModeName)\r
 \r
         ConstFixedPcd = False\r
-        if PcdItemType == TAB_PCDS_FIXED_AT_BUILD and (key in Info.ConstPcd or (Info.IsLibrary and not Info._ReferenceModules)):\r
+        if PcdItemType == TAB_PCDS_FIXED_AT_BUILD and (key in Info.ConstPcd or (Info.IsLibrary and not Info.ReferenceModules)):\r
             ConstFixedPcd = True\r
             if key in Info.ConstPcd:\r
                 Pcd.DefaultValue = Info.ConstPcd[key]\r