##\r
# Import Modules\r
#\r
+from __future__ import absolute_import\r
from . import Section\r
from io import BytesIO\r
from .Ffs import Ffs\r
# PI FvHeader is 0x48 byte\r
FvHeaderBuffer = FvFileObj.read(0x48)\r
# FV alignment position.\r
- FvAlignmentValue = 1 << (FvHeaderBuffer[0x2E] & 0x1F)\r
+ FvAlignmentValue = 1 << (ord (FvHeaderBuffer[0x2E]) & 0x1F)\r
FvFileObj.close()\r
if FvAlignmentValue > MaxFvAlignment:\r
MaxFvAlignment = FvAlignmentValue\r
if MaxFvAlignment >= 0x1000000:\r
self.Alignment = "16M"\r
else:\r
- self.Alignment = str(MaxFvAlignment // 0x100000) + "M"\r
+ self.Alignment = str(MaxFvAlignment / 0x100000) + "M"\r
else:\r
- self.Alignment = str (MaxFvAlignment // 0x400) + "K"\r
+ self.Alignment = str (MaxFvAlignment / 0x400) + "K"\r
else:\r
# MaxFvAlignment is less than 1K\r
self.Alignment = str (MaxFvAlignment)\r
# Generate Fv\r
#\r
if self.FvName is not None:\r
- Buffer = BytesIO()\r
+ Buffer = BytesIO('')\r
Fv = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(self.FvName)\r
if Fv is not None:\r
self.Fv = Fv\r
- if not self.FvAddr and self.Fv.BaseAddress:\r
- self.FvAddr = self.Fv.BaseAddress\r
FvFileName = Fv.AddToBuffer(Buffer, self.FvAddr, MacroDict = Dict, Flag=IsMakefile)\r
if Fv.FvAlignment is not None:\r
if self.Alignment is None:\r
# PI FvHeader is 0x48 byte\r
FvHeaderBuffer = FvFileObj.read(0x48)\r
# FV alignment position.\r
- FvAlignmentValue = 1 << (FvHeaderBuffer[0x2E] & 0x1F)\r
+ FvAlignmentValue = 1 << (ord (FvHeaderBuffer[0x2E]) & 0x1F)\r
# FvAlignmentValue is larger than or equal to 1K\r
if FvAlignmentValue >= 0x400:\r
if FvAlignmentValue >= 0x100000:\r
if FvAlignmentValue >= 0x1000000:\r
self.Alignment = "16M"\r
else:\r
- self.Alignment = str(FvAlignmentValue // 0x100000) + "M"\r
+ self.Alignment = str(FvAlignmentValue / 0x100000) + "M"\r
else:\r
- self.Alignment = str (FvAlignmentValue // 0x400) + "K"\r
+ self.Alignment = str (FvAlignmentValue / 0x400) + "K"\r
else:\r
# FvAlignmentValue is less than 1K\r
self.Alignment = str (FvAlignmentValue)\r