]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/Fv.py
Sync BaseTool trunk (version r2640) into EDKII BaseTools.
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / Fv.py
index 6c7a0503cfa61ac1a31ffec2fc340a4dd614597c..d79bed2b285b9faa3815f2bd004fa286b4a4476a 100644 (file)
@@ -86,6 +86,8 @@ class FV (FvClassObject):
                                 GenFdsGlobalVariable.ErrorLogger("Capsule %s in FD region can't contain a FV %s in FD region." % (self.CapsuleName, self.UiFvName.upper()))\r
 \r
         GenFdsGlobalVariable.InfLogger( "\nGenerating %s FV" %self.UiFvName)\r
+        GenFdsGlobalVariable.LargeFileInFvFlags.append(False)\r
+        FFSGuid = None\r
         \r
         if self.FvBaseAddress != None:\r
             BaseAddress = self.FvBaseAddress\r
@@ -130,12 +132,15 @@ class FV (FvClassObject):
         OrigFvInfo = None\r
         if os.path.exists (FvInfoFileName):\r
             OrigFvInfo = open(FvInfoFileName, 'r').read()\r
+        if GenFdsGlobalVariable.LargeFileInFvFlags[-1]:\r
+            FFSGuid = GenFdsGlobalVariable.EFI_FIRMWARE_FILE_SYSTEM3_GUID;\r
         GenFdsGlobalVariable.GenerateFirmwareVolume(\r
                                 FvOutputFile,\r
                                 [self.InfFileName],\r
                                 AddressFile=FvInfoFileName,\r
                                 FfsList=FfsFileList,\r
-                                ForceRebase=self.FvForceRebase\r
+                                ForceRebase=self.FvForceRebase,\r
+                                FileSystemGuid=FFSGuid\r
                                 )\r
 \r
         NewFvInfo = None\r
@@ -159,13 +164,16 @@ class FV (FvClassObject):
                 for FfsFile in self.FfsList :\r
                     FileName = FfsFile.GenFfs(MacroDict, FvChildAddr, BaseAddress)\r
                 \r
+                if GenFdsGlobalVariable.LargeFileInFvFlags[-1]:\r
+                    FFSGuid = GenFdsGlobalVariable.EFI_FIRMWARE_FILE_SYSTEM3_GUID;\r
                 #Update GenFv again\r
                 GenFdsGlobalVariable.GenerateFirmwareVolume(\r
                                         FvOutputFile,\r
                                         [self.InfFileName],\r
                                         AddressFile=FvInfoFileName,\r
                                         FfsList=FfsFileList,\r
-                                        ForceRebase=self.FvForceRebase\r
+                                        ForceRebase=self.FvForceRebase,\r
+                                        FileSystemGuid=FFSGuid\r
                                         )\r
 \r
         #\r
@@ -194,6 +202,7 @@ class FV (FvClassObject):
             self.FvAlignment = str (FvAlignmentValue)\r
         FvFileObj.close()\r
         GenFds.ImageBinDict[self.UiFvName.upper() + 'fv'] = FvOutputFile\r
+        GenFdsGlobalVariable.LargeFileInFvFlags.pop()\r
         return FvOutputFile\r
 \r
     ## __InitializeInf__()\r