Update GenFdsGlobalVariable GetAlignment to support G.
replace use of local function in Region with updated shared function.

Cc: Yonghong Zhu <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Bob C Feng <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <[email protected]>
---
 BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 11 +++++-----
 BaseTools/Source/Python/GenFds/Region.py               | 21 
+-------------------
 2 files changed, 7 insertions(+), 25 deletions(-)

diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py 
b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
index eb106b574420..77873d36b98a 100644
--- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
+++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
@@ -512,14 +512,15 @@ class GenFdsGlobalVariable:
 
     @staticmethod
     def GetAlignment (AlignString):
-        if AlignString is None:
+        if not AlignString:
             return 0
-        if AlignString in ("1K", "2K", "4K", "8K", "16K", "32K", "64K", 
"128K", "256K", "512K"):
+        if AlignString.endswith('K'):
             return int (AlignString.rstrip('K')) * 1024
-        elif AlignString in ("1M", "2M", "4M", "8M", "16M"):
+        if AlignString.endswith('M'):
             return int (AlignString.rstrip('M')) * 1024 * 1024
-        else:
-            return int (AlignString)
+        if AlignString.endswith('G'):
+            return int (AlignString.rstrip('G')) * 1024 * 1024 * 1024
+        return int (AlignString)
 
     @staticmethod
     def GenerateFfs(Output, Input, Type, Guid, Fixed=False, CheckSum=False, 
Align=None,
diff --git a/BaseTools/Source/Python/GenFds/Region.py 
b/BaseTools/Source/Python/GenFds/Region.py
index 7f94b3d66b55..5242b74c9e70 100644
--- a/BaseTools/Source/Python/GenFds/Region.py
+++ b/BaseTools/Source/Python/GenFds/Region.py
@@ -124,7 +124,7 @@ class Region(RegionClassObject):
                         #
                         self.BlockInfoOfRegion(BlockSizeList, FvObj)
                         self.FvAddress = self.FvAddress + FvOffset
-                        FvAlignValue = self.GetFvAlignValue(FvObj.FvAlignment)
+                        FvAlignValue = 
GenFdsGlobalVariable.GetAlignment(FvObj.FvAlignment)
                         if self.FvAddress % FvAlignValue != 0:
                             EdkLogger.error("GenFds", GENFDS_ERROR,
                                             "FV (%s) is NOT %s Aligned!" % 
(FvObj.UiFvName, FvObj.FvAlignment))
@@ -277,25 +277,6 @@ class Region(RegionClassObject):
             GenFdsGlobalVariable.InfLogger('   Region Name = None')
             self.PadBuffer(Buffer, ErasePolarity, Size)
 
-    def GetFvAlignValue(self, Str):
-        AlignValue = 1
-        Granu = 1
-        Str = Str.strip().upper()
-        if Str.endswith('K'):
-            Granu = 1024
-            Str = Str[:-1]
-        elif Str.endswith('M'):
-            Granu = 1024 * 1024
-            Str = Str[:-1]
-        elif Str.endswith('G'):
-            Granu = 1024 * 1024 * 1024
-            Str = Str[:-1]
-        else:
-            pass
-
-        AlignValue = int(Str) * Granu
-        return AlignValue
-
     ## BlockSizeOfRegion()
     #
     #   @param  BlockSizeList        List of block information
-- 
2.16.2.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to