coding style change.
authorjlin16 <jlin16@7335b38e-4728-0410-8992-fb3ffe349368>
Mon, 15 Oct 2007 11:56:00 +0000 (11:56 +0000)
committerjlin16 <jlin16@7335b38e-4728-0410-8992-fb3ffe349368>
Mon, 15 Oct 2007 11:56:00 +0000 (11:56 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@823 7335b38e-4728-0410-8992-fb3ffe349368

14 files changed:
Source/Python/CommonDataClass/FdfClassObject.py
Source/Python/GenFds/AprioriSection.py
Source/Python/GenFds/Attribute.py
Source/Python/GenFds/Capsule.py
Source/Python/GenFds/CapsuleData.py
Source/Python/GenFds/ComponentStatement.py
Source/Python/GenFds/CompressSection.py
Source/Python/GenFds/DataSection.py
Source/Python/GenFds/EfiSection.py
Source/Python/GenFds/Fd.py
Source/Python/GenFds/Ffs.py
Source/Python/GenFds/FfsFileStatement.py
Source/Python/GenFds/FfsInfStatement.py
Source/Python/GenFds/Fv.py

index 193abe7..ed6099c 100644 (file)
@@ -1,4 +1,25 @@
+## @file\r
+# classes represent data in FDF\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+## FD data in FDF\r
+#\r
+#\r
 class FDClassObject:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.FdUiName = ''\r
         self.CreateFileName = None\r
@@ -16,7 +37,14 @@ class FDClassObject:
         self.RegionList = []\r
         self.vtfRawDict = {}\r
 \r
+## FV data in FDF\r
+#\r
+#\r
 class FvClassObject:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.UiFvName = None\r
         self.CreateFileName = None\r
@@ -34,7 +62,14 @@ class FvClassObject:
         self.BsBaseAddress = None\r
         self.RtBaseAddress = None\r
 \r
+## Region data in FDF\r
+#\r
+#\r
 class RegionClassObject:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.Offset = None       # The begin position of the Region\r
         self.Size = None         # The Size of the Region\r
@@ -44,16 +79,30 @@ class RegionClassObject:
         self.SetVarDict = {}\r
         self.RegionType = None\r
         self.RegionDataList = []\r
-        \r
+\r
+## FFS data in FDF\r
+#\r
+#        \r
 class FfsClassObject:\r
-     def __init__(self):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
+    def __init__(self):\r
         self.NameGuid = None\r
         self.Fixed = False\r
         self.CheckSum = False\r
         self.Alignment = None\r
         self.SectionList = []\r
-        \r
+\r
+## FILE statement data in FDF\r
+#\r
+#        \r
 class FileStatementsClassObject (FfsClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FfsClassObject.__init__(self)\r
         self.FvType = None\r
@@ -64,7 +113,14 @@ class FileStatementsClassObject (FfsClassObject) :
         self.DefineVarDict = {}\r
         self.AprioriSection = None\r
 \r
+## INF statement data in FDF\r
+#\r
+#\r
 class FfsInfStatementClassObject(FfsClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FfsClassObject.__init__(self)\r
         self.Rule = None\r
@@ -74,32 +130,65 @@ class FfsInfStatementClassObject(FfsClassObject):
         self.BuildNum = ''\r
         self.KeyStringList = []\r
 \r
+## APRIORI section data in FDF\r
+#\r
+#\r
 class AprioriSectionClassObject:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         # DefineVarDict[var] = value\r
         self.DefineVarDict = {}\r
         self.FfsList = []\r
 \r
-        \r
+## section data in FDF\r
+#\r
+#        \r
 class SectionClassObject:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.Alignment = None\r
         \r
+## Compress section data in FDF\r
+#\r
+#\r
 class CompressSectionClassObject (SectionClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.CompType = None\r
         self.SectionList = []\r
-        \r
+\r
+## Data section data in FDF\r
+#\r
+#        \r
 class DataSectionClassObject (SectionClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.SecType = None\r
         self.SectFileName = None\r
         self.SectionList = []\r
 \r
+## Rule section data in FDF\r
+#\r
+#\r
 class EfiSectionClassObject (SectionClassObject):\r
-\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.SectionType = None\r
@@ -109,9 +198,15 @@ class EfiSectionClassObject (SectionClassObject):
         self.FileName = None\r
         self.FileExtension = None\r
         self.BuildNum = None\r
-#        self.VersionNum = None\r
-        \r
+\r
+## FV image section data in FDF\r
+#\r
+#        \r
 class FvImageSectionClassObject (SectionClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.Fv = None\r
@@ -119,8 +214,15 @@ class FvImageSectionClassObject (SectionClassObject):
         self.FvFileType = None\r
         self.FvFileName = None\r
         self.FvFileExtension = None\r
-        \r
+\r
+## GUIDed section data in FDF\r
+#\r
+#        \r
 class GuidSectionClassObject (SectionClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.NameGuid = None\r
@@ -129,20 +231,41 @@ class GuidSectionClassObject (SectionClassObject) :
         self.ProcessRequired = False\r
         self.AuthStatusValid = False\r
 \r
+## UI section data in FDF\r
+#\r
+#\r
 class UiSectionClassObject (SectionClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.StringData = None\r
         self.FileName = None\r
-        \r
+\r
+## Version section data in FDF\r
+#\r
+#        \r
 class VerSectionClassObject (SectionClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         SectionClassObject.__init__(self)\r
         self.BuildNum = None\r
         self.StringData = None\r
         self.FileName = None\r
 \r
+## Rule data in FDF\r
+#\r
+#\r
 class RuleClassObject :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.Arch = None\r
         self.ModuleType = None    # For Module Type\r
@@ -153,25 +276,53 @@ class RuleClassObject :
         self.CheckSum = False\r
         self.FvType = None       # for Ffs File Type\r
         self.KeyStringList = []\r
-        \r
+\r
+## Complex rule data in FDF\r
+#\r
+#        \r
 class RuleComplexFileClassObject(RuleClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         RuleClassObject.__init__(self)\r
         self.SectionList = []\r
 \r
+## Simple rule data in FDF\r
+#\r
+#\r
 class RuleSimpleFileClassObject(RuleClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         RuleClassObject.__init__(self)\r
         self.FileName = None\r
         self.SectionType = ''\r
         self.FileExtension = None\r
 \r
+## File extension rule data in FDF\r
+#\r
+#\r
 class RuleFileExtensionClassObject(RuleClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         RuleClassObject.__init__(self)\r
         self.FileExtension = None\r
-        \r
+\r
+## Capsule data in FDF\r
+#\r
+#        \r
 class CapsuleClassObject :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.SpecName = None\r
         self.UiCapsuleName = None\r
@@ -185,15 +336,29 @@ class CapsuleClassObject :
         self.TokensDict = {}\r
         self.CapsuleDataList = []\r
 \r
+## VTF data in FDF\r
+#\r
+#\r
 class VtfClassObject :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.KeyArch = None\r
         self.ArchList = None\r
         self.UiName = None\r
         self.ResetBin = None\r
         self.ComponentStatementList = []\r
-        \r
+\r
+## VTF component data in FDF\r
+#\r
+#        \r
 class ComponentStatementClassObject :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         self.CompName = None\r
         self.CompLoc = None\r
@@ -204,22 +369,4 @@ class ComponentStatementClassObject :
         self.CompSym = None\r
         self.CompSize = None\r
         self.FilePos = None\r
-        \r
-        \r
-##class UefiTokenClassObject:\r
-##    def __init__(self):\r
-##        self.CapsuleGuid = None\r
-##        self.CapsuleHeaderSize = None\r
-##        self.CapsuleFlags = None\r
-##\r
-##class FrameworkTokenClassObject :\r
-##    def __init__(self):\r
-##        self.SequenceNumber = None\r
-##        self.InstanceId = None\r
-##        self.ToSplitInfo = None\r
-##        self.ToCapsuleBody = None\r
-##        self.ToAuthorInfo = None\r
-##        self.ToRevisionInfo = None\r
-##        self.ToShortDesc = None\r
-##        self.ToLongDesc = None\r
-##        self.ToApplicatebleDevices = None
\ No newline at end of file
+        
\ No newline at end of file
index a801e2f..ae055c8 100755 (executable)
@@ -1,3 +1,20 @@
+## @file\r
+# process APRIORI file data and generate PEI/DXE APRIORI file\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 from struct import *\r
 import os\r
 import StringIO\r
@@ -6,54 +23,61 @@ from GenFdsGlobalVariable import GenFdsGlobalVariable
 from CommonDataClass.FdfClassObject import AprioriSectionClassObject\r
 from Common.String import *\r
 \r
+## process APRIORI file data and generate PEI/DXE APRIORI file\r
+#\r
+#\r
 class AprioriSection (AprioriSectionClassObject):\r
-    \r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         AprioriSectionClassObject.__init__(self)\r
         self.AprioriType = ""\r
-        \r
-    def GenFfs (self, fvName, Dict = {}):\r
+    \r
+    ## GenFfs() method\r
+    #\r
+    #   Generate FFS for APRIORI file\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  FvName      for whom apriori file generated\r
+    #   @param  Dict        dictionary contains macro and its value\r
+    #   @retval string      Generated file name\r
+    #\r
+    def GenFfs (self, FvName, Dict = {}):\r
         DXE_GUID = "FC510EE7-FFDC-11D4-BD41-0080C73C8881"\r
         PEI_GUID = "1B45CC0A-156A-428A-AF62-49864DA0E6E6"\r
         Buffer = StringIO.StringIO('')\r
-        guid = DXE_GUID\r
+        AprioriFileGuid = DXE_GUID\r
         if self.AprioriType == "PEI":\r
-            guid = PEI_GUID\r
+            AprioriFileGuid = PEI_GUID\r
         OutputAprFilePath = os.path.join (GenFdsGlobalVariable.WorkSpaceDir, \\r
                                    GenFdsGlobalVariable.FfsDir,\\r
-                                   guid + fvName)\r
+                                   AprioriFileGuid + FvName)\r
         if not os.path.exists(OutputAprFilePath) :\r
             os.makedirs(OutputAprFilePath)\r
             \r
         OutputAprFileName = os.path.join( OutputAprFilePath, \\r
-                                       guid + fvName + '.Apri' )\r
+                                       AprioriFileGuid + FvName + '.Apri' )\r
         AprFfsFileName = os.path.join (OutputAprFilePath,\\r
-                                    guid + fvName + '.Ffs')\r
+                                    AprioriFileGuid + FvName + '.Ffs')\r
                                    \r
         OutputAprFile = open(OutputAprFileName, 'w+b')\r
         \r
         Dict.update(self.DefineVarDict)\r
         \r
-        for ffs in self.FfsList :\r
+        for FfsObj in self.FfsList :\r
             Guid = ""\r
-            if isinstance(ffs, FfsFileStatement.FileStatements):\r
-                Guid = ffs.NameGuid\r
+            if isinstance(FfsObj, FfsFileStatement.FileStatements):\r
+                Guid = FfsObj.NameGuid\r
             else:\r
-                InfFileName = NormPath(ffs.InfFileName)\r
-                Arch = ffs.GetCurrentArch()\r
+                InfFileName = NormPath(FfsObj.InfFileName)\r
+                Arch = FfsObj.GetCurrentArch()\r
                 \r
                 if Arch != None:\r
                     Dict['$(ARCH)'] = Arch\r
                 InfFileName = GenFdsGlobalVariable.MacroExtend(InfFileName, Dict)\r
-#                Inf = GenFdsGlobalVariable.WorkSpace.Build['IA32'].ModuleDatabase.get(InfFileName)\r
-#                if Inf == None:\r
-#                    Inf = GenFdsGlobalVariable.WorkSpace.Build['X64'].ModuleDatabase.get(InfFileName)\r
-#                    if Inf == None:\r
-#                        Inf = GenFdsGlobalVariable.WorkSpace.Build['IPF'].ModuleDatabase.get(InfFileName)\r
-#                        if Inf == None:\r
-#                            Inf = GenFdsGlobalVariable.WorkSpace.Build['EBC'].ModuleDatabase.get(InfFileName)\r
-#                            if Inf == None:\r
-#                                raise Exception ("This File :%s doesn't exist!", InfFileName)\r
+\r
                 if Arch != None and InfFileName in GenFdsGlobalVariable.WorkSpace.Build[Arch].ModuleDatabase.keys():\r
                     Inf = GenFdsGlobalVariable.WorkSpace.Build[Arch].ModuleDatabase[InfFileName]\r
                     Guid = Inf.Guid\r
@@ -78,17 +102,17 @@ class AprioriSection (AprioriSectionClassObject):
             Buffer.write(pack('H', int(GuidPart[2], 16)))\r
             \r
             for Num in range(2):\r
-                char = GuidPart[3][Num*2:Num*2+2]\r
-                Buffer.write(pack('B', int(char, 16)))\r
+                Char = GuidPart[3][Num*2:Num*2+2]\r
+                Buffer.write(pack('B', int(Char, 16)))\r
             \r
             for Num in range(6):\r
-                char = GuidPart[4][Num*2:Num*2+2]\r
-                Buffer.write(pack('B', int(char, 16)))\r
+                Char = GuidPart[4][Num*2:Num*2+2]\r
+                Buffer.write(pack('B', int(Char, 16)))\r
     \r
         OutputAprFile.write(Buffer.getvalue())\r
         OutputAprFile.close()\r
         RawSectionFileName = os.path.join( OutputAprFilePath, \\r
-                                       guid + fvName + '.raw' )\r
+                                       AprioriFileGuid + FvName + '.raw' )\r
         \r
         GenSectionCmd = 'GenSec -o '                                     + \\r
                          RawSectionFileName                              + \\r
@@ -98,7 +122,7 @@ class AprioriSection (AprioriSectionClassObject):
         GenFdsGlobalVariable.CallExternalTool(GenSectionCmd, "GenSection Failed!")\r
         \r
         GenFfsCmd = 'GenFfs -t EFI_FV_FILETYPE_FREEFORM -g '         + \\r
-                     guid                                            + \\r
+                     AprioriFileGuid                                            + \\r
                      ' -o '                                          + \\r
                      AprFfsFileName                                  + \\r
                      ' -i ' + RawSectionFileName\r
index dc18865..67f9956 100755 (executable)
@@ -1,4 +1,28 @@
+## @file\r
+# name value pair\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
+\r
+## name value pair\r
+#\r
+#\r
 class Attribute:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
     def __init__(self):\r
         self.Name = None\r
         self.Value = None
\ No newline at end of file
index 31e0290..3fc7d92 100755 (executable)
@@ -1,53 +1,86 @@
+## @file\r
+# generate capsule\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClassObject import CapsuleClassObject\r
 import os\r
 import subprocess\r
 \r
 T_CHAR_LF = '\n'\r
+\r
+## create inf file describes what goes into capsule and call GenFv to generate capsule\r
+#\r
+#\r
 class Capsule (CapsuleClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         CapsuleClassObject.__init__(self)\r
-        self.BlockSize = None          # For GenFv\r
-        self.BlockNum = None           # For GenFv\r
+        # For GenFv\r
+        self.BlockSize = None          \r
+        # For GenFv\r
+        self.BlockNum = None           \r
         \r
+    ## Generate capsule\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def GenCapsule(self):\r
-        capInfFile = self.GenCapInf()\r
-        capInfFile.writelines("[files]" + T_CHAR_LF)\r
+        CapInfFile = self.GenCapInf()\r
+        CapInfFile.writelines("[files]" + T_CHAR_LF)\r
         \r
-        for file in self.CapsuleDataList :\r
-            fileName = file.GenCapsuleSubItem()\r
-            capInfFile.writelines("EFI_FILE_NAME = " + \\r
-                                   fileName      + \\r
+        for CapsuleDataObj in self.CapsuleDataList :\r
+            FileName = CapsuleDataObj.GenCapsuleSubItem()\r
+            CapInfFile.writelines("EFI_FILE_NAME = " + \\r
+                                   FileName      + \\r
                                    T_CHAR_LF)\r
-        capInfFile.close()\r
+        CapInfFile.close()\r
         #\r
         # Call GenFv tool to generate capsule\r
         #\r
         CapOutputFile = os.path.join(GenFdsGlobalVariable.FvDir, self.UiCapsuleName)\r
         CapOutputFile = CapOutputFile + '.Cap'\r
-        cmd = 'GenFv -i '          + \\r
+        Cmd = 'GenFv -i '          + \\r
                self.CapInfFileName + \\r
                ' -o '              + \\r
                CapOutputFile       + \\r
                ' -c '\r
-        GenFdsGlobalVariable.CallExternalTool(cmd, "GefFv GenCapsule Failed!")\r
+        GenFdsGlobalVariable.CallExternalTool(Cmd, "GefFv GenCapsule Failed!")\r
         GenFdsGlobalVariable.SharpCounter = 0\r
 \r
+    ## Generate inf file for capsule\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval file        inf file object\r
+    #\r
     def GenCapInf(self):\r
         self.CapInfFileName = os.path.join(GenFdsGlobalVariable.FvDir,\r
                                    self.UiCapsuleName +  "_Cap" + '.inf')\r
-        capInfFile = open (self.CapInfFileName , 'w+')\r
+        CapInfFile = open (self.CapInfFileName , 'w+')\r
         \r
-        capInfFile.writelines("[options]" + T_CHAR_LF)\r
-#        capInfFile.writelines("EFI_CAPSULE_VERSION = " + \\r
-#                              self.SpecName            + \\r
-#                              T_CHAR_LF)\r
+        CapInfFile.writelines("[options]" + T_CHAR_LF)\r
                               \r
-        for item in self.TokensDict.keys():\r
-            capInfFile.writelines("EFI_"                    + \\r
-                                  item                      + \\r
+        for Item in self.TokensDict.keys():\r
+            CapInfFile.writelines("EFI_"                    + \\r
+                                  Item                      + \\r
                                   ' = '                     + \\r
-                                  self.TokensDict.get(item) + \\r
+                                  self.TokensDict.get(Item) + \\r
                                   T_CHAR_LF)\r
 \r
-        return capInfFile\r
+        return CapInfFile\r
index f714af9..ba32fa9 100755 (executable)
@@ -1,31 +1,82 @@
+## @file\r
+# generate capsule\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Ffs\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import StringIO\r
+\r
+## base class for capsule data\r
+#\r
+#\r
 class CapsuleData:\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
     def __init__(self):\r
         pass\r
+    \r
+    ## generate capsule data\r
+    #\r
+    #   @param  self        The object pointer\r
     def GenCapsuleSubItem(self):\r
         pass\r
         \r
-\r
+## FFS class for capsule data\r
+#\r
+#\r
 class CapsuleFfs (CapsuleData):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init_(self) :\r
         self.Ffs = None\r
 \r
+    ## generate FFS capsule data\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval string      Generated file name\r
+    #\r
     def GenCapsuleSubItem(self):\r
-        ffsFile = self.Ffs.GenFfs()\r
-        return ffsFile\r
+        FfsFile = self.Ffs.GenFfs()\r
+        return FfsFile\r
 \r
+## FV class for capsule data\r
+#\r
+#\r
 class CapsuleFv (CapsuleData):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self) :\r
         self.FvName = None\r
 \r
+    ## generate FV capsule data\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval string      Generated file name\r
+    #\r
     def GenCapsuleSubItem(self):\r
         if self.FvName.find('.fv') == -1:\r
             if self.FvName.upper() in GenFdsGlobalVariable.FdfParser.Profile.FvDict.keys():\r
-                fv = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(self.FvName.upper())\r
+                FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(self.FvName.upper())\r
                 FdBuffer = StringIO.StringIO('')\r
-                FvFile = fv.AddToBuffer(FdBuffer)\r
+                FvFile = FvObj.AddToBuffer(FdBuffer)\r
                 return FvFile\r
             \r
         else:\r
index 085175d..bae0ca3 100755 (executable)
@@ -1,4 +1,29 @@
+## @file\r
+# VTF components\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 from CommonDataClass.FdfClassObject import ComponentStatementClassObject\r
+\r
+## VTF components\r
+#\r
+#\r
 class ComponentStatement (ComponentStatementClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
           ComponentStatementClassObject.__init__(self)\r
index 9b94464..2b2264a 100755 (executable)
@@ -1,3 +1,20 @@
+## @file\r
+# process compress section generation\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 from Ffs import Ffs\r
 import Section\r
 import subprocess\r
@@ -5,16 +22,37 @@ import os
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClassObject import CompressSectionClassObject\r
 \r
+## generate compress section\r
+#\r
+#\r
 class CompressSection (CompressSectionClassObject) :\r
+    \r
+    ## compress types: PI standard and non PI standard    \r
     CompTypeDict = {\r
         'PI_STD'     : ' -c PI_STD ',\r
         'NON_PI_STD' : ' -c NON_PI_STD '\r
     }\r
     \r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         CompressSectionClassObject.__init__(self)\r
         \r
-\r
+    ## GenSection() method\r
+    #\r
+    #   Generate compressed section\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  OutputPath  Where to place output file\r
+    #   @param  ModuleName  Which module this section belongs to\r
+    #   @param  SecNum      Index of section\r
+    #   @param  KeyStringList  Filter for inputs of section generation\r
+    #   @param  FfsInf      FfsInfStatement object that contains this section data\r
+    #   @param  Dict        dictionary contains macro and its value\r
+    #   @retval tuple       (Generated file name, section alignment)\r
+    #\r
     def GenSection(self, OutputPath, ModuleName, SecNum, KeyStringList, FfsInf = None, Dict = {}):\r
         #\r
         # Generate all section\r
@@ -28,12 +66,12 @@ class CompressSection (CompressSectionClassObject) :
         for Sect in self.SectionList:\r
             Index = Index + 1\r
             SecIndex = '%s.%d' %(SecNum, Index)\r
-            ReturnSectList, align = Sect.GenSection(OutputPath, ModuleName, SecIndex, KeyStringList, FfsInf, Dict)\r
+            ReturnSectList, AlignValue = Sect.GenSection(OutputPath, ModuleName, SecIndex, KeyStringList, FfsInf, Dict)\r
             if ReturnSectList != []:\r
-                for file in ReturnSectList:\r
+                for FileData in ReturnSectList:\r
                    SectFiles = SectFiles + \\r
                                ' '       + \\r
-                               file\r
+                               FileData\r
                         \r
 \r
         OutputFile = OutputPath + \\r
index 0bab537..4021fb1 100644 (file)
@@ -1,3 +1,20 @@
+## @file\r
+# process data section generation\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Section\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import subprocess\r
@@ -6,10 +23,30 @@ import os
 from CommonDataClass.FdfClassObject import DataSectionClassObject\r
 import shutil\r
 \r
+## generate data section\r
+#\r
+#\r
 class DataSection (DataSectionClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         DataSectionClassObject.__init__(self)\r
-        \r
+    \r
+    ## GenSection() method\r
+    #\r
+    #   Generate compressed section\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  OutputPath  Where to place output file\r
+    #   @param  ModuleName  Which module this section belongs to\r
+    #   @param  SecNum      Index of section\r
+    #   @param  KeyStringList  Filter for inputs of section generation\r
+    #   @param  FfsInf      FfsInfStatement object that contains this section data\r
+    #   @param  Dict        dictionary contains macro and its value\r
+    #   @retval tuple       (Generated file name list, section alignment)\r
+    #    \r
     def GenSection(self, OutputPath, ModuleName, SecNum, keyStringList, FfsInf = None, Dict = {}):\r
         #\r
         # Prepare the parameter of GenSection\r
index 75a2aed..23db6a2 100644 (file)
@@ -1,3 +1,20 @@
+## @file\r
+# process rule section generation\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Section\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import subprocess\r
@@ -6,11 +23,31 @@ import os
 from CommonDataClass.FdfClassObject import EfiSectionClassObject\r
 import shutil\r
 \r
+## generate rule section\r
+#\r
+#\r
 class EfiSection (EfiSectionClassObject):\r
     \r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
           EfiSectionClassObject.__init__(self)\r
 \r
+    ## GenSection() method\r
+    #\r
+    #   Generate rule section\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  OutputPath  Where to place output file\r
+    #   @param  ModuleName  Which module this section belongs to\r
+    #   @param  SecNum      Index of section\r
+    #   @param  KeyStringList  Filter for inputs of section generation\r
+    #   @param  FfsInf      FfsInfStatement object that contains this section data\r
+    #   @param  Dict        dictionary contains macro and its value\r
+    #   @retval tuple       (Generated file name list, section alignment)\r
+    #\r
     def GenSection(self, OutputPath, ModuleName, SecNum, KeyStringList, FfsInf = None, Dict = {}) :\r
         """Prepare the parameter of GenSection"""\r
         if FfsInf != None :\r
index 116abe6..64a479b 100644 (file)
@@ -1,3 +1,20 @@
+## @file\r
+# process FD generation\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Region\r
 import Fv\r
 import os\r
@@ -8,20 +25,33 @@ from GenFdsGlobalVariable import GenFdsGlobalVariable
 T_CHAR_LF = '\n'\r
 from CommonDataClass.FdfClassObject import FDClassObject\r
 \r
+## generate FD\r
+#\r
+#\r
 class FD(FDClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FDClassObject.__init__(self)\r
 \r
-    """  Create Fd file """\r
-    \r
+    ## GenFd() method\r
+    #\r
+    #   Generate FD\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  FvBinDict   dictionary contains generated FV name and its file name\r
+    #   @retval string      Generated FD file name\r
+    #\r
     def GenFd (self, FvBinDict):\r
         #\r
         # Print Information\r
         #\r
         GenFdsGlobalVariable.InfLogger("Fd File Name:%s" %self.FdUiName)\r
         GenFdsGlobalVariable.VerboseLogger('Following Fv will be add to Fd !!!')\r
-        for item in GenFdsGlobalVariable.FdfParser.Profile.FvDict:\r
-            GenFdsGlobalVariable.VerboseLogger(item)\r
+        for FvObj in GenFdsGlobalVariable.FdfParser.Profile.FvDict:\r
+            GenFdsGlobalVariable.VerboseLogger(FvObj)\r
 \r
         GenFdsGlobalVariable.VerboseLogger('################### Gen VTF ####################')\r
         self.GenVtfFile()\r
@@ -39,64 +69,66 @@ class FD(FDClassObject):
         GenFdsGlobalVariable.VerboseLogger ('Create an empty Fd file')\r
         FdFileName = os.path.join(GenFdsGlobalVariable.FvDir,\r
                                   self.FdUiName + '.fd')\r
-        fd = open(FdFileName, 'wb')\r
+        FdFile = open(FdFileName, 'wb')\r
        \r
         #\r
         # Write the buffer contents to Fd file\r
         #\r
         GenFdsGlobalVariable.VerboseLogger('Write the buffer contents to Fd file')\r
-        fd.write(FdBuffer.getvalue());\r
-        fd.close();\r
+        FdFile.write(FdBuffer.getvalue());\r
+        FdFile.close();\r
         FdBuffer.close();\r
         return FdFileName\r
-        \r
+    \r
+    ## generate VTF\r
+    #\r
+    #   @param  self        The object pointer\r
+    #    \r
     def GenVtfFile (self) :\r
         #\r
         # Get this Fd's all Fv name\r
         #\r
-        fvAddDict ={}\r
-        fvList = []\r
-        for region in self.RegionList:\r
-            if region.RegionType == 'FV':\r
-                if len(region.RegionDataList) == 1:\r
-                    RegionData = region.RegionDataList[0]\r
-                    fvList.append(RegionData.upper())\r
-                    fvAddDict[RegionData.upper()] = (int(self.BaseAddress,16) + \\r
-                                                region.Offset, region.Size)\r
+        FvAddDict ={}\r
+        FvList = []\r
+        for RegionObj in self.RegionList:\r
+            if RegionObj.RegionType == 'FV':\r
+                if len(RegionObj.RegionDataList) == 1:\r
+                    RegionData = RegionObj.RegionDataList[0]\r
+                    FvList.append(RegionData.upper())\r
+                    FvAddDict[RegionData.upper()] = (int(self.BaseAddress,16) + \\r
+                                                RegionObj.Offset, RegionObj.Size)\r
                 else:\r
-                    Offset = region.Offset\r
-                    for RegionData in region.RegionDataList:\r
-                        fvList.append(RegionData.upper())\r
-                        fv = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(RegionData.upper())\r
-                        if len(fv.BlockSizeList) < 1:\r
-                            raise Exception ('FV.%s must point out FVs blocksize and Fv BlockNum' %fv.UiFvName)\r
+                    Offset = RegionObj.Offset\r
+                    for RegionData in RegionObj.RegionDataList:\r
+                        FvList.append(RegionData.upper())\r
+                        FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(RegionData.upper())\r
+                        if len(FvObj.BlockSizeList) < 1:\r
+                            raise Exception ('FV.%s must point out FVs blocksize and Fv BlockNum' %FvObj.UiFvName)\r
                         else:\r
                             Size = 0\r
-                            for blockStatement in fv.BlockSizeList:\r
+                            for blockStatement in FvObj.BlockSizeList:\r
                                 Size = Size + blockStatement[0] * blockStatement[1]\r
-                            fvAddDict[RegionData.upper()] = (int(self.BaseAddress,16) + \\r
+                            FvAddDict[RegionData.upper()] = (int(self.BaseAddress,16) + \\r
                                                              Offset, Size)\r
                             Offset = Offset + Size\r
         #\r
         # Check whether this Fd need VTF\r
         #\r
-        flag = False\r
-        for vtf in GenFdsGlobalVariable.FdfParser.Profile.VtfList:\r
-            compLocList = vtf.GetFvList()\r
-            if set(compLocList).issubset(fvList):\r
-                flag = True\r
+        Flag = False\r
+        for VtfObj in GenFdsGlobalVariable.FdfParser.Profile.VtfList:\r
+            compLocList = VtfObj.GetFvList()\r
+            if set(compLocList).issubset(FvList):\r
+                Flag = True\r
                 break\r
-        if flag == True:\r
-            self.vtfRawDict = vtf.GenVtf(fvAddDict)\r
+        if Flag == True:\r
+            self.vtfRawDict = VtfObj.GenVtf(FvAddDict)\r
 \r
-##\r
-# Create Flash Map file\r
-##\r
-    def GenFlashMap ():\r
+    ## generate flash map file\r
+    #\r
+    #   @param  self        The object pointer\r
+    #  \r
+    def GenFlashMap (self):\r
         pass\r
-##        FlashFile = open( os.path.join(GenFdsGlobalVariable.FvDir, 'FalshMap.h'), 'w+b')\r
-##        FlashFile.writelines ("#ifndef _FLASH_MAP_H_" + T_CHAR_LF)\r
-##        FlashFile.writelines ("#define _FLASH_MAP_H_" + T_CHAR_LF)\r
         \r
         \r
 \r
index 3fbf22d..08bf13b 100755 (executable)
@@ -1,6 +1,28 @@
+## @file\r
+# process FFS generation\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 from CommonDataClass.FdfClassObject import FDClassObject\r
 \r
+## generate FFS\r
+#\r
+#\r
 class Ffs(FDClassObject):\r
+    \r
+    # mapping between module type in FDF and file type for GenFfs\r
     ModuleTypeToFileType = {\r
         'SEC'               : 'EFI_FV_FILETYPE_SECURITY_CORE',\r
         'PEI_CORE'          : 'EFI_FV_FILETYPE_PEI_CORE',\r
@@ -13,6 +35,8 @@ class Ffs(FDClassObject):
         'UEFI_DRIVER'       : 'EFI_FV_FILETYPE_DRIVER',\r
         'UEFI_APPLICATION'  : 'EFI_FV_FILETYPE_APPLICATION'\r
     }\r
+    \r
+    # mapping between fv type in FDF and file type for GenFfs\r
     FvTypeToFileType = {\r
         'SEC'               : 'EFI_FV_FILETYPE_SECURITY_CORE',\r
         'PEI_CORE'          : 'EFI_FV_FILETYPE_PEI_CORE',\r
@@ -25,6 +49,8 @@ class Ffs(FDClassObject):
         'RAW'               : 'EFI_FV_FILETYPE_RAW',\r
         'PEI_DXE_COMBO'     : 'EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER'\r
     }\r
+    \r
+    # mapping between section type in FDF and file suffix\r
     SectionSuffix = {\r
         'PE32'                 : '.pe32',\r
         'PIC'                  : '.pic',\r
@@ -41,7 +67,9 @@ class Ffs(FDClassObject):
         'PEI_DEPEX'            : '.dpx'\r
     }\r
     \r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FfsClassObject.__init__(self)\r
-#    def GenFfs():\r
-#        pass\r
index 99d2a32..65f3cb0 100755 (executable)
@@ -1,3 +1,20 @@
+## @file\r
+# process FFS generation from FILE statement\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Ffs\r
 import Rule\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
@@ -6,10 +23,25 @@ import StringIO
 import subprocess\r
 from CommonDataClass.FdfClassObject import FileStatementsClassObject\r
 \r
+## generate FFS from FILE\r
+#\r
+#\r
 class FileStatements (FileStatementsClassObject) :\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FileStatementsClassObject.__init__(self)\r
-        \r
+    \r
+    ## GenFfs() method\r
+    #\r
+    #   Generate FFS\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Dict        dictionary contains macro and value pair\r
+    #   @retval string      Generated FFS file name\r
+    #    \r
     def GenFfs(self, Dict = {}):\r
         OutputDir = os.path.join(GenFdsGlobalVariable.FfsDir, self.NameGuid)\r
         if not os.path.exists(OutputDir):\r
index 6918445..4b61a01 100644 (file)
@@ -1,3 +1,20 @@
+## @file\r
+# process FFS generation from INF statement\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Rule\r
 import os\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
@@ -10,20 +27,31 @@ import RuleComplexFile
 from CommonDataClass.FdfClassObject import FfsInfStatementClassObject\r
 from Common.String import *\r
 \r
-#from String import *\r
-\r
+## generate FFS from INF\r
+#\r
+#\r
 class FfsInfStatement(FfsInfStatementClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FfsInfStatementClassObject.__init__(self)\r
         self.TargetOverrideList = []\r
 \r
-    def __infParse__(self, Dict = {}):\r
+    ## __InfParse() method\r
+    #\r
+    #   Parse inf file to get module information\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Dict        dictionary contains macro and value pair\r
+    #    \r
+    def __InfParse__(self, Dict = {}):\r
         self.CurrentArch = self.GetCurrentArch()\r
         #\r
         # Get the InfClass object\r
         #\r
-##        for item in GenFdsGlobalVariable.WorkSpace.InfDatabase:\r
-##            print item\r
+\r
         self.InfFileName = NormPath(self.InfFileName)\r
         self.InfFileName = GenFdsGlobalVariable.MacroExtend(self.InfFileName, Dict)\r
         (self.SourceDir, InfName) = os.path.split(self.InfFileName)\r
@@ -71,20 +99,27 @@ class FfsInfStatement(FfsInfStatementClassObject):
             \r
         self.EfiOutputPath = self.__GetEFIOutPutPath__()\r
         GenFdsGlobalVariable.VerboseLogger( "ModuelEFIPath: " + self.EfiOutputPath)\r
-                             \r
+    \r
+    ## GenFfs() method\r
+    #\r
+    #   Generate FFS\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Dict        dictionary contains macro and value pair\r
+    #   @retval string      Generated FFS file name\r
+    #                          \r
     def GenFfs(self, Dict = {}):\r
         #\r
         # Parse Inf file get Module related information\r
         #\r
         GenFdsGlobalVariable.VerboseLogger( " Begine parsing INf file : %s" %self.InfFileName)\r
         \r
-        """ Replace $(WORKSPACE) to None!"""\r
         self.InfFileName = self.InfFileName.replace('$(WORKSPACE)', '')\r
         if self.InfFileName[0] == '\\' or self.InfFileName[0] == '/' :\r
             self.InfFileName = self.InfFileName[1:]\r
         \r
  \r
-        self.__infParse__(Dict)\r
+        self.__InfParse__(Dict)\r
         #\r
         # Get the rule of how to generate Ffs file\r
         #\r
@@ -108,7 +143,15 @@ class FfsInfStatement(FfsInfStatementClassObject):
             \r
             return FfsOutput\r
                 \r
-    def __ExtendMarco__ (self, String):\r
+    ## __ExtendMacro__() method\r
+    #\r
+    #   Replace macro with its value\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  String      The string to be replaced\r
+    #   @retval string      Macro replaced string\r
+    # \r
+    def __ExtendMacro__ (self, String):\r
         MacroDict = {\r
             '$(INF_OUTPUT)'  : self.EfiOutputPath,\r
             '$(MODULE_NAME)' : self.BaseName,\r
@@ -119,12 +162,19 @@ class FfsInfStatement(FfsInfStatementClassObject):
         String = GenFdsGlobalVariable.MacroExtend(String, MacroDict)\r
         return String\r
 \r
+    ## __GetRule__() method\r
+    #\r
+    #   Get correct rule for generating FFS for this INF\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval Rule        Rule object\r
+    # \r
     def __GetRule__ (self) :\r
-        currentArchList = self.CurrentArch\r
-        if currentArchList == None:\r
-            currentArchList = ['common']\r
+        CurrentArchList = self.CurrentArch\r
+        if CurrentArchList == None:\r
+            CurrentArchList = ['common']\r
         \r
-        for currentArch in currentArchList:\r
+        for currentArch in CurrentArchList:\r
             RuleName = 'RULE'              + \\r
                        '.'                 + \\r
                        currentArch.upper() + \\r
@@ -162,70 +212,85 @@ class FfsInfStatement(FfsInfStatementClassObject):
             else:\r
                 return GenFdsGlobalVariable.DefaultRule\r
 \r
+    ## __GetPlatformArchList__() method\r
+    #\r
+    #   Get Arch list this INF built under\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval list        Arch list\r
+    # \r
     def __GetPlatformArchList__(self):\r
-        targetArchList = GenFdsGlobalVariable.ArchList\r
-        if len(targetArchList) == 0:\r
-            targetArchList = GenFdsGlobalVariable.WorkSpace.SupArchList\r
+        TargetArchList = GenFdsGlobalVariable.ArchList\r
+        if len(TargetArchList) == 0:\r
+            TargetArchList = GenFdsGlobalVariable.WorkSpace.SupArchList\r
         else:\r
-            targetArchList = set(GenFdsGlobalVariable.WorkSpace.SupArchList) & set(targetArchList)\r
+            TargetArchList = set(GenFdsGlobalVariable.WorkSpace.SupArchList) & set(TargetArchList)\r
             \r
         InfFileKey = os.path.normpath(self.InfFileName)\r
-        dscArchList = []\r
+        DscArchList = []\r
         PlatformDataBase = GenFdsGlobalVariable.WorkSpace.Build.get('IA32').PlatformDatabase.get(GenFdsGlobalVariable.ActivePlatform)\r
         if  PlatformDataBase != None:\r
             if InfFileKey in PlatformDataBase.Modules:\r
-                dscArchList.append ('IA32')\r
+                DscArchList.append ('IA32')\r
                 \r
         PlatformDataBase = GenFdsGlobalVariable.WorkSpace.Build.get('X64').PlatformDatabase.get(GenFdsGlobalVariable.ActivePlatform)\r
         if  PlatformDataBase != None:\r
             if InfFileKey in PlatformDataBase.Modules:\r
-                dscArchList.append ('X64')\r
+                DscArchList.append ('X64')\r
                 \r
         PlatformDataBase = GenFdsGlobalVariable.WorkSpace.Build.get('IPF').PlatformDatabase.get(GenFdsGlobalVariable.ActivePlatform)\r
         if PlatformDataBase != None:\r
             if InfFileKey in (PlatformDataBase.Modules):\r
-                dscArchList.append ('IPF')\r
+                DscArchList.append ('IPF')\r
 \r
-        curArchList = targetArchList\r
-        if dscArchList != []:\r
-            curArchList = set (targetArchList) & set (dscArchList)\r
-        GenFdsGlobalVariable.VerboseLogger ("Valid target architecture(s) is : " + " ".join(curArchList))\r
-        return list(curArchList)\r
+        CurArchList = TargetArchList\r
+        if DscArchList != []:\r
+            CurArchList = set (TargetArchList) & set (DscArchList)\r
+        GenFdsGlobalVariable.VerboseLogger ("Valid target architecture(s) is : " + " ".join(CurArchList))\r
+        return list(CurArchList)\r
     \r
+    ## GetCurrentArch() method\r
+    #\r
+    #   Get Arch list of the module from this INF is to be placed into flash\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval list        Arch list\r
+    # \r
     def GetCurrentArch(self) :\r
-        curArchList = self.__GetPlatformArchList__()\r
+        CurArchList = self.__GetPlatformArchList__()\r
         ArchList = []\r
         if self.KeyStringList != []:\r
             for Key in self.KeyStringList:\r
                 Key = GenFdsGlobalVariable.MacroExtend(Key)\r
                 Target, Tag, Arch = Key.split('_')\r
-                if Arch in curArchList:\r
+                if Arch in CurArchList:\r
                     ArchList.append(Arch)\r
                 if Target not in self.TargetOverrideList:\r
                     self.TargetOverrideList.append(Target)\r
         else:\r
-            ArchList = curArchList\r
+            ArchList = CurArchList\r
                 \r
         if len(ArchList) == 1:\r
             Arch = ArchList[0]\r
             return Arch\r
         elif len(ArchList) > 1:\r
-#            raise Exception("Module %s has too many build ARCH !" %self.InfFileName)\r
             return None \r
         else:\r
             raise Exception("Don't find legal ARCH in Module %s !" %self.InfFileName)\r
-#        if len(curArchList) > 1 :\r
-#            \r
-#        elif len(curArchList) == 1 :\r
-#            Arch = curArchList.pop()\r
-#            return Arch\r
     \r
+    ## __GetEFIOutPutPath__() method\r
+    #\r
+    #   Get the output path for generated files\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @retval string      Path that output files from this INF go to\r
+    # \r
     def __GetEFIOutPutPath__(self):\r
         Arch = ''\r
         OutputPath = ''\r
-        (ModulePath, fileName) = os.path.split(self.InfFileName)\r
-        index = fileName.find('.')\r
-        fileName = fileName[0:index]\r
+        (ModulePath, FileName) = os.path.split(self.InfFileName)\r
+        Index = FileName.find('.')\r
+        FileName = FileName[0:Index]\r
         Arch = "NoneArch"\r
         if self.CurrentArch != None:\r
             Arch = self.CurrentArch\r
@@ -233,12 +298,20 @@ class FfsInfStatement(FfsInfStatementClassObject):
         OutputPath = os.path.join(GenFdsGlobalVariable.OuputDir,\r
                                   Arch ,\r
                                   ModulePath,\r
-                                  fileName,\r
+                                  FileName,\r
                                   'OUTPUT'\r
                                   )\r
         OutputPath = os.path.realpath(OutputPath)\r
         return OutputPath\r
-        \r
+    \r
+    ## __GenSimpleFileSection__() method\r
+    #\r
+    #   Generate section by specified file name or a list of files with file extension\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Rule        The rule object used to generate section\r
+    #   @retval string      File name of the generated section file\r
+    #     \r
     def __GenSimpleFileSection__(self, Rule):\r
         #\r
         # Prepare the parameter of GenSection\r
@@ -246,7 +319,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
         FileList = []\r
         OutputFileList = []\r
         if Rule.FileName != None:\r
-            GenSecInputFile = self.__ExtendMarco__(Rule.FileName)\r
+            GenSecInputFile = self.__ExtendMacro__(Rule.FileName)\r
         else:\r
             FileList, IsSect = Section.Section.GetFileList(self, '', Rule.FileExtension)\r
 \r
@@ -255,11 +328,11 @@ class FfsInfStatement(FfsInfStatementClassObject):
         if FileList != [] :\r
             for File in FileList:\r
                 SecNum = '%d' %Index\r
-                GenSecOutputFile= self.__ExtendMarco__(Rule.NameGuid) + \\r
+                GenSecOutputFile= self.__ExtendMacro__(Rule.NameGuid) + \\r
                               Ffs.Ffs.SectionSuffix[SectionType] + 'SEC' + SecNum   \r
                 Index = Index + 1             \r
                 OutputFile = os.path.join(self.OutputPath, GenSecOutputFile)\r
-                genSectionCmd = 'GenSec -o '                                + \\r
+                GenSectionCmd = 'GenSec -o '                                + \\r
                                  OutputFile                                 + \\r
                                  ' -s '                                     + \\r
                                  Section.Section.SectionType[SectionType]   + \\r
@@ -268,15 +341,15 @@ class FfsInfStatement(FfsInfStatementClassObject):
                 #\r
                 # Call GenSection\r
                 #\r
-                GenFdsGlobalVariable.CallExternalTool(genSectionCmd, "Gen section Failed!")\r
+                GenFdsGlobalVariable.CallExternalTool(GenSectionCmd, "Gen section Failed!")\r
                 OutputFileList.append(GenSecOutputFile)\r
         else:\r
             SecNum = '%d' %Index\r
-            GenSecOutputFile= self.__ExtendMarco__(Rule.NameGuid) + \\r
+            GenSecOutputFile= self.__ExtendMacro__(Rule.NameGuid) + \\r
                               Ffs.Ffs.SectionSuffix[SectionType] + 'SEC' + SecNum\r
             OutputFile = os.path.join(self.OutputPath, GenSecOutputFile)\r
             \r
-            genSectionCmd = 'GenSec -o '                                + \\r
+            GenSectionCmd = 'GenSec -o '                                + \\r
                              OutputFile                                 + \\r
                              ' -s '                                     + \\r
                              Section.Section.SectionType[SectionType]   + \\r
@@ -285,23 +358,32 @@ class FfsInfStatement(FfsInfStatementClassObject):
             #\r
             # Call GenSection\r
             #\r
-            GenFdsGlobalVariable.CallExternalTool(genSectionCmd, "Gen section Failed!")\r
+            GenFdsGlobalVariable.CallExternalTool(GenSectionCmd, "Gen section Failed!")\r
             OutputFileList.append(GenSecOutputFile)\r
 \r
         return OutputFile\r
     \r
+    ## __GenSimpleFileFfs__() method\r
+    #\r
+    #   Generate FFS\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Rule        The rule object used to generate section\r
+    #   @param  InputFileList        The output file list from GenSection\r
+    #   @retval string      Generated FFS file name\r
+    #\r
     def __GenSimpleFileFfs__(self, Rule, InputFileList):\r
         #\r
         # Prepare the parameter of GenFfs\r
         #\r
-        (FileType,Fixed, CheckSum, Alignment) = self.__GetGenFfsComParamter__(Rule)\r
+        (FileType,Fixed, CheckSum, Alignment) = self.__GetGenFfsCmdParameter__(Rule)\r
         \r
         FfsOutput = self.OutputPath                     + \\r
                     os.sep                              + \\r
-                    self.__ExtendMarco__(Rule.NameGuid) + \\r
+                    self.__ExtendMacro__(Rule.NameGuid) + \\r
                     '.ffs'\r
 \r
-        GenFdsGlobalVariable.VerboseLogger(self.__ExtendMarco__(Rule.NameGuid))\r
+        GenFdsGlobalVariable.VerboseLogger(self.__ExtendMacro__(Rule.NameGuid))\r
         InputSection = ''\r
         for InputFile in InputFileList:\r
             InputSection = InputSection + \\r
@@ -329,6 +411,14 @@ class FfsInfStatement(FfsInfStatementClassObject):
         GenFdsGlobalVariable.CallExternalTool(GenFfsCmd, "GenFfs Failed!")\r
         return FfsOutput\r
     \r
+    ## __GenComplexFileSection__() method\r
+    #\r
+    #   Generate section by sections in Rule\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Rule        The rule object used to generate section\r
+    #   @retval string      File name of the generated section file\r
+    #  \r
     def __GenComplexFileSection__(self, Rule):\r
         SectFiles = ''\r
         Index = 1\r
@@ -350,9 +440,18 @@ class FfsInfStatement(FfsInfStatementClassObject):
            Index = Index + 1\r
         return SectFiles\r
 \r
+    ## __GenComplexFileFfs__() method\r
+    #\r
+    #   Generate FFS\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Rule        The rule object used to generate section\r
+    #   @param  InputFileList        The output file list from GenSection\r
+    #   @retval string      Generated FFS file name\r
+    #\r
     def __GenComplexFileFfs__(self, Rule, InputFile):\r
         \r
-        (FileType,Fixed, CheckSum, Alignment) = self.__GetGenFfsComParamter__(Rule)\r
+        (FileType,Fixed, CheckSum, Alignment) = self.__GetGenFfsCmdParameter__(Rule)\r
         \r
         FfsOutput = os.path.join( self.OutputPath, self.ModuleGuid + '.ffs')\r
         GenFfsCmd = 'GenFfs '                                     + \\r
@@ -369,7 +468,15 @@ class FfsInfStatement(FfsInfStatementClassObject):
         GenFdsGlobalVariable.CallExternalTool(GenFfsCmd, "GenFfs Failed !")\r
         return FfsOutput\r
 \r
-    def __GetGenFfsComParamter__(self, Rule):\r
+    ## __GetGenFfsCmdParameter__() method\r
+    #\r
+    #   Create parameter string for GenFfs\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  Rule        The rule object used to generate section\r
+    #   @retval tuple       (FileType, Fixed, CheckSum, Alignment)\r
+    #\r
+    def __GetGenFfsCmdParameter__(self, Rule):\r
         FileType = ' -t ' + \\r
                    Ffs.Ffs.FvTypeToFileType[Rule.FvType]\r
         if Rule.Fixed != False:\r
index dea5fd5..8057244 100644 (file)
@@ -1,3 +1,20 @@
+## @file\r
+# process FV generation\r
+#\r
+#  Copyright (c) 2007, Intel Corporation\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+\r
+##\r
+# Import Modules\r
+#\r
 import Ffs\r
 import AprioriSection\r
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
@@ -8,7 +25,14 @@ from CommonDataClass.FdfClassObject import FvClassObject
 \r
 T_CHAR_LF = '\n'\r
 \r
+## generate FV\r
+#\r
+#\r
 class FV (FvClassObject):\r
+    ## The constructor\r
+    #\r
+    #   @param  self        The object pointer\r
+    #\r
     def __init__(self):\r
         FvClassObject.__init__(self)\r
         self.FvInfFile = None\r
@@ -17,23 +41,34 @@ class FV (FvClassObject):
         self.InfFileName = None\r
         self.FvAddressFileName = None\r
 \r
+    ## AddToBuffer()\r
+    #\r
+    #   Generate Fv and add it to the Buffer\r
     #\r
-    #  Generate Fv and add it to the Buffer\r
+    #   @param  self        The object pointer\r
+    #   @param  Buffer      The buffer generated FV data will be put\r
+    #   @param  BaseAddress base address of FV\r
+    #   @param  BlockSize   block size of FV\r
+    #   @param  BlockNum    How many blocks in FV\r
+    #   @param  ErasePolarity      Flash erase polarity\r
+    #   @param  VtfDict     VTF objects\r
+    #   @param  MacroDict   macro value pair\r
+    #   @retval string      Generated FV file path\r
     #\r
     def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', VtfDict=None, MacroDict = {}) :\r
         \r
         if self.UiFvName.upper() in GenFds.FvBinDict.keys():\r
             return GenFds.FvBinDict[self.UiFvName.upper()]\r
         \r
-        self.__InitialInf__(BaseAddress, BlockSize, BlockNum, ErasePloarity, VtfDict)\r
+        self.__InitializeInf__(BaseAddress, BlockSize, BlockNum, ErasePloarity, VtfDict)\r
         #\r
         # First Process the Apriori section\r
         #\r
         MacroDict.update(self.DefineVarDict)\r
         \r
         GenFdsGlobalVariable.VerboseLogger('First generate Apriori file !')\r
-        for aprSection in self.AprioriSectionList:\r
-            FileName = aprSection.GenFfs (self.UiFvName, MacroDict)\r
+        for AprSection in self.AprioriSectionList:\r
+            FileName = AprSection.GenFfs (self.UiFvName, MacroDict)\r
             # Add Apriori file name to Inf file\r
             self.FvInfFile.writelines("EFI_FILE_NAME = " + \\r
                                        FileName          + \\r
@@ -58,7 +93,7 @@ class FV (FvClassObject):
         if self.CreateFileName != None:\r
             FvOutputFile = self.CreateFileName\r
             \r
-        cmd = 'GenFv -i '                 + \\r
+        Cmd = 'GenFv -i '                 + \\r
                self.InfFileName           + \\r
                ' -o '                     + \\r
                FvOutputFile               + \\r
@@ -67,21 +102,32 @@ class FV (FvClassObject):
         #\r
         # Call GenFv Tools\r
         #\r
-        GenFdsGlobalVariable.CallExternalTool(cmd, "GenFv Failed!")\r
+        GenFdsGlobalVariable.CallExternalTool(Cmd, "GenFv Failed!")\r
         #\r
         # Write the Fv contents to Buffer\r
         #\r
-        fv = open ( FvOutputFile,'r+b')\r
+        FvFileObj = open ( FvOutputFile,'r+b')\r
                    \r
         GenFdsGlobalVariable.InfLogger( "\nGenerate %s Fv Successfully" %self.UiFvName)\r
         GenFdsGlobalVariable.SharpCounter = 0\r
               \r
-        Buffer.write(fv.read())\r
-        fv.close()\r
+        Buffer.write(FvFileObj.read())\r
+        FvFileObj.close()\r
         GenFds.FvBinDict[self.UiFvName.upper()] = FvOutputFile\r
         return FvOutputFile\r
     \r
-    def __InitialInf__ (self, BaseAddress = None, BlockSize= None, BlockNum = None, ErasePloarity='1', VtfDict=None) :\r
+    ## __InitializeInf__()\r
+    #\r
+    #   Initilize the inf file to create FV\r
+    #\r
+    #   @param  self        The object pointer\r
+    #   @param  BaseAddress base address of FV\r
+    #   @param  BlockSize   block size of FV\r
+    #   @param  BlockNum    How many blocks in FV\r
+    #   @param  ErasePolarity      Flash erase polarity\r
+    #   @param  VtfDict     VTF objects\r
+    #\r
+    def __InitializeInf__ (self, BaseAddress = None, BlockSize= None, BlockNum = None, ErasePloarity='1', VtfDict=None) :\r
         #\r
         # Create FV inf file\r
         #\r