+ ## __GetRAWData() method\r
+ #\r
+ # Get RAW data for FILE statement\r
+ #\r
+ # @param self The object pointer\r
+ # @param FfsFileObj for whom section is got\r
+ # @param MacroDict dictionary used to replace macro\r
+ #\r
+ def __GetRAWData(self, FfsFileObj, MacroDict = {}):\r
+ FfsFileObj.FileName = []\r
+ FfsFileObj.SubAlignment = []\r
+ while True:\r
+ AlignValue = None\r
+ if self.__GetAlignment():\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ "256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
+ raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
+ #For FFS, Auto is default option same to ""\r
+ if not self.__Token == "Auto":\r
+ AlignValue = self.__Token\r
+ if not self.__GetNextToken():\r
+ raise Warning("expected Filename value", self.FileName, self.CurrentLineNumber)\r
+\r
+ FileName = self.__Token.replace('$(SPACE)', ' ')\r
+ if FileName == '}':\r
+ self.__UndoToken()\r
+ raise Warning("expected Filename value", self.FileName, self.CurrentLineNumber)\r
+\r
+ self.__VerifyFile(FileName)\r
+ File = PathClass(NormPath(FileName), GenFdsGlobalVariable.WorkSpaceDir)\r
+ FfsFileObj.FileName.append(File.Path)\r
+ FfsFileObj.SubAlignment.append(AlignValue)\r
+\r
+ if self.__IsToken( "}"):\r
+ self.__UndoToken()\r
+ break\r
+\r
+ if len(FfsFileObj.SubAlignment) == 1:\r
+ FfsFileObj.SubAlignment = FfsFileObj.SubAlignment[0]\r
+ if len(FfsFileObj.FileName) == 1:\r
+ FfsFileObj.FileName = FfsFileObj.FileName[0]\r
+\r