## @file\r
# process FV image section generation\r
#\r
-# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# Import Modules\r
#\r
import Section\r
-import StringIO\r
+from io import BytesIO\r
from Ffs import Ffs\r
import subprocess\r
from GenFdsGlobalVariable import GenFdsGlobalVariable\r
for FvFileName in FileList:\r
FvAlignmentValue = 0\r
if os.path.isfile(FvFileName):\r
- FvFileObj = open (FvFileName,'rb')\r
+ FvFileObj = open (FvFileName, 'rb')\r
FvFileObj.seek(0)\r
# PI FvHeader is 0x48 byte\r
FvHeaderBuffer = FvFileObj.read(0x48)\r
if MaxFvAlignment >= 0x400:\r
if MaxFvAlignment >= 0x100000:\r
#The max alignment supported by FFS is 16M.\r
- if MaxFvAlignment >=1000000:\r
+ if MaxFvAlignment >= 0x1000000:\r
self.Alignment = "16M"\r
else:\r
self.Alignment = str(MaxFvAlignment / 0x100000) + "M"\r
# Generate Fv\r
#\r
if self.FvName is not None:\r
- Buffer = StringIO.StringIO('')\r
+ Buffer = BytesIO('')\r
Fv = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(self.FvName)\r
if Fv is not None:\r
self.Fv = Fv\r
if self.FvFileName is not None:\r
FvFileName = GenFdsGlobalVariable.ReplaceWorkspaceMacro(self.FvFileName)\r
if os.path.isfile(FvFileName):\r
- FvFileObj = open (FvFileName,'rb')\r
+ FvFileObj = open (FvFileName, 'rb')\r
FvFileObj.seek(0)\r
# PI FvHeader is 0x48 byte\r
FvHeaderBuffer = FvFileObj.read(0x48)\r
# FvAlignmentValue is less than 1K\r
self.Alignment = str (FvAlignmentValue)\r
FvFileObj.close()\r
+ else:\r
+ if len (mws.getPkgPath()) == 0:\r
+ EdkLogger.error("GenFds", FILE_NOT_FOUND, "%s is not found in WORKSPACE: %s" % self.FvFileName, GenFdsGlobalVariable.WorkSpaceDir)\r
+ else:\r
+ EdkLogger.error("GenFds", FILE_NOT_FOUND, "%s is not found in packages path:\n\t%s" % (self.FvFileName, '\n\t'.join(mws.getPkgPath())))\r
+\r
else:\r
EdkLogger.error("GenFds", GENFDS_ERROR, "FvImageSection Failed! %s NOT found in FDF" % self.FvName)\r
\r