|
From: <qh...@us...> - 2010-02-04 18:13:27
|
Revision: 1842
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1842&view=rev
Author: qhuang8
Date: 2010-02-04 12:25:41 +0000 (Thu, 04 Feb 2010)
Log Message:
-----------
1. Turn off prediction feature of build report by default.
2. Show absolute path instead of workspace relative path
3. Show time stamp relative to local time zone instead of utc time zone
4. Show DXE_SMM_DRIVER as SMM file type if the module spec version >= 1.1
Modified Paths:
--------------
trunk/BaseTools/Source/Python/Eot/Report.py
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/Eot/Report.py
===================================================================
--- trunk/BaseTools/Source/Python/Eot/Report.py 2010-02-04 10:03:26 UTC (rev 1841)
+++ trunk/BaseTools/Source/Python/Eot/Report.py 2010-02-04 12:25:41 UTC (rev 1842)
@@ -236,7 +236,7 @@
if FfsObj != None and FfsObj.Type in [0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0xA]:
FfsGuid = FfsObj.Guid
FfsOffset = FfsObj._OFF_
- FfsName = 'Unknonw Ffs Name'
+ FfsName = 'Unknown-Module'
FfsPath = FfsGuid
FfsType = FfsObj._TypeName[FfsObj.Type]
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-02-04 10:03:26 UTC (rev 1841)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-02-04 12:25:41 UTC (rev 1842)
@@ -93,6 +93,7 @@
'UEFI_DRIVER' : '0x7 (DRIVER)',
'UEFI_APPLICATION' : '0x9 (APPLICATION)',
'SMM_CORE' : '0xD (SMM_CORE)',
+ 'SMM_DRIVER' : '0xA (SMM)', # Extension of module type to support PI 1.1 SMM drivers
}
##
@@ -396,6 +397,13 @@
ModuleType = M.ModuleType
if not ModuleType:
ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")
+ #
+ # If a module complies to PI 1.1, promote Module type to "SMM_DRIVER"
+ #
+ if ModuleType == "DXE_SMM_DRIVER":
+ PiSpec = M.Module.Specification.get("PI_SPECIFICATION_VERSION", "0x00010000")
+ if int(PiSpec, 0) >= 0x0001000A:
+ ModuleType = "SMM_DRIVER"
self.DriverType = gDriverTypeMap.get(ModuleType, "")
self.UefiSpecVersion = M.Module.Specification.get("UEFI_SPECIFICATION_VERSION", "")
self.PiSpecVersion = M.Module.Specification.get("PI_SPECIFICATION_VERSION", "")
@@ -457,7 +465,7 @@
Match = gTimeStampPattern.search(FileContents)
if Match:
- self.BuildTimeStamp = datetime.utcfromtimestamp(int(Match.group(1)))
+ self.BuildTimeStamp = datetime.fromtimestamp(int(Match.group(1)))
except IOError:
EdkLogger.warn(None, "Fail to read report file", FwReportFileName)
@@ -864,7 +872,7 @@
# Invoke EOT tool
#
Eot(CommandLineOption=False, SourceFileList=SourceList, GuidList=GuidList,
- FvFileList=' '.join(FvFileList), Dispatch=DispatchList, IsInit=True)
+ FvFileList=' '.join(FvFileList), Dispatch=DispatchList, IsInit=True)
#
# Parse the output of EOT tool
@@ -876,8 +884,7 @@
self.MaxLen = len(Symbol)
self.ItemList.append((Phase, Symbol, FilePath))
except:
- EdkLogger.warn(None, "Failed to generate execution order prediction report, \
- for some error occurred in executing EOT.")
+ EdkLogger.warn(None, "Failed to generate execution order prediction report, for some error occurred in executing EOT.")
##
@@ -1091,7 +1098,8 @@
for Pa in Wa.AutoGenObjectList:
for ModuleKey in Pa.Platform.Modules:
M = Pa.Platform.Modules[ModuleKey].M
- self._GuidsDb[M.Guid.upper()] = "%s (%s)" % (M.Module.BaseName, M.MetaFile.File)
+ InfPath = os.path.join(Wa.WorkspaceDir, M.MetaFile.File)
+ self._GuidsDb[M.Guid.upper()] = "%s (%s)" % (M.Module.BaseName, InfPath)
#
# Collect the GUID map in the FV firmware volume
@@ -1351,7 +1359,9 @@
if ReportFile:
self.ReportList = []
self.ReportType = []
- if ReportType == None or "ALL" in ReportType:
+ if ReportType == None:
+ self.ReportType = ["PCD", "LIBRARY", "BUILD_FLAGS", "DEPEX", "FLASH"]
+ elif "ALL" in ReportType:
self.ReportType = ["PCD", "LIBRARY", "BUILD_FLAGS", "DEPEX", "FLASH", "PREDICTION"]
else:
for ReportTypeItem in ReportType:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|