1. Add loading fixed address report if the fixed address map file is generated.
[efi/basetools/.git] / Source / Python / Eot / Report.py
index 8249841..93ff1c5 100644 (file)
@@ -30,9 +30,12 @@ class Report(object):
     #  @param  ReportName: name of the report\r
     #  @param  FvObj: FV object after parsing FV images\r
     #\r
-    def __init__(self, ReportName = 'Report.html', FvObj = None):\r
+    def __init__(self, ReportName = 'Report.html', FvObj = None, DispatchName=None):\r
         self.ReportName = ReportName\r
         self.Op = open(ReportName, 'w+')\r
+        self.DispatchList = None\r
+        if DispatchName:\r
+            self.DispatchList = open(DispatchName, 'w+')\r
         self.FvObj = FvObj\r
         self.FfsIndex = 0\r
         self.PpiIndex = 0\r
@@ -230,7 +233,7 @@ class Report(object):
     #\r
     def GenerateFfs(self, FfsObj):\r
         self.FfsIndex = self.FfsIndex + 1\r
-        if FfsObj != None and FfsObj.Type in [0x03, 0x04, 0x05, 0x06, 0x07, 0x08]:\r
+        if FfsObj != None and FfsObj.Type in [0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0xA]:\r
             FfsGuid = FfsObj.Guid\r
             FfsOffset = FfsObj._OFF_\r
             FfsName = 'Unknonw Ffs Name'\r
@@ -260,7 +263,7 @@ class Report(object):
                             and Model = %s""" % (FfsGuid, 5001, 1011)\r
             RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)\r
             if RecordSet != []:\r
-                FfsPath = RecordSet[0][0].replace(EotGlobalData.gMACRO['WORKSPACE'], '.')\r
+                FfsPath = RecordSet[0][0]\r
 \r
             Content = """  <tr>\r
       <tr class='styleFfs' id='FfsHeader%s'>\r
@@ -272,7 +275,13 @@ class Report(object):
       </tr>\r
       <tr id='Ffs%s' style='display:none;'>\r
         <td colspan="4"><table width="100%%"  border="1">""" % (self.FfsIndex, self.FfsIndex, self.FfsIndex, FfsPath, FfsName, FfsGuid, FfsOffset, FfsType, self.FfsIndex)\r
-\r
+            \r
+            if self.DispatchList:\r
+                if FfsObj.Type in [0x04, 0x06]:\r
+                    self.DispatchList.write("%s %s %s %s\n" % (FfsGuid, "P", FfsName, FfsPath))\r
+                if FfsObj.Type in [0x05, 0x07, 0x08, 0x0A]:\r
+                    self.DispatchList.write("%s %s %s %s\n" % (FfsGuid, "D", FfsName, FfsPath))\r
+               \r
             self.WriteLn(Content)\r
 \r
             EotGlobalData.gOP_DISPATCH_ORDER.write('%s\n' %FfsName)\r