]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py
BaseTools: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / ValidCheckingInfoObject.py
index 92c8fe2df904cd73b582fecfa2dc6896a0c6aecc..ad8c9b598025891f9d77347361ac1ed54926b0fd 100644 (file)
@@ -1,11 +1,5 @@
 # Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 #\r
 # This file is used to collect the Variable checking information\r
 import os\r
 from Common.RangeExpression import RangeExpression\r
 from Common.Misc import *\r
-from StringIO import StringIO\r
+from io import BytesIO\r
 from struct import pack\r
 from Common.DataType import *\r
 \r
 class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):\r
     def __init__(self):\r
         self.var_check_info = []\r
-        \r
+\r
     def push_back(self, var_check_tab):\r
         for tab in self.var_check_info:\r
             if tab.equal(var_check_tab):\r
@@ -32,22 +26,16 @@ class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):
                 break\r
         else:\r
             self.var_check_info.append(var_check_tab)\r
-    \r
+\r
     def dump(self, dest, Phase):\r
-        \r
-        FormatMap = {}\r
-        FormatMap[1] = "=B"\r
-        FormatMap[2] = "=H"\r
-        FormatMap[4] = "=L"\r
-        FormatMap[8] = "=Q"\r
-        \r
+\r
         if not os.path.isabs(dest):\r
             return\r
         if not os.path.exists(dest):\r
             os.mkdir(dest)\r
         BinFileName = "PcdVarCheck.bin"\r
         BinFilePath = os.path.join(dest, BinFileName)\r
-        Buffer = ''\r
+        Buffer = bytearray()\r
         index = 0\r
         for var_check_tab in self.var_check_info:\r
             index += 1\r
@@ -63,7 +51,7 @@ class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):
                 itemIndex += 1\r
                 realLength += 5\r
                 for v_data in item.data:\r
-                    if type(v_data) in (int, long):\r
+                    if isinstance(v_data, int):\r
                         realLength += item.StorageWidth\r
                     else:\r
                         realLength += item.StorageWidth\r
@@ -106,19 +94,7 @@ class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):
             realLength += 4\r
 \r
             Guid = var_check_tab.Guid\r
-            b = pack('=LHHBBBBBBBB',\r
-                Guid[0],\r
-                Guid[1],\r
-                Guid[2],\r
-                Guid[3],\r
-                Guid[4],\r
-                Guid[5],\r
-                Guid[6],\r
-                Guid[7],\r
-                Guid[8],\r
-                Guid[9],\r
-                Guid[10],\r
-                )\r
+            b = PackByteFormatGUID(Guid)\r
             Buffer += b\r
             realLength += 16\r
 \r
@@ -155,15 +131,15 @@ class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):
                 Buffer += b\r
                 realLength += 1\r
                 for v_data in item.data:\r
-                    if type(v_data) in (int, long):\r
-                        b = pack(FormatMap[item.StorageWidth], v_data)\r
+                    if isinstance(v_data, int):\r
+                        b = pack(PACK_CODE_BY_SIZE[item.StorageWidth], v_data)\r
                         Buffer += b\r
                         realLength += item.StorageWidth\r
                     else:\r
-                        b = pack(FormatMap[item.StorageWidth], v_data[0])\r
+                        b = pack(PACK_CODE_BY_SIZE[item.StorageWidth], v_data[0])\r
                         Buffer += b\r
                         realLength += item.StorageWidth\r
-                        b = pack(FormatMap[item.StorageWidth], v_data[1])\r
+                        b = pack(PACK_CODE_BY_SIZE[item.StorageWidth], v_data[1])\r
                         Buffer += b\r
                         realLength += item.StorageWidth\r
 \r
@@ -179,8 +155,8 @@ class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):
                             b = pack("=B", var_check_tab.pad)\r
                             Buffer += b\r
                             realLength += 1\r
-        \r
-        DbFile = StringIO()\r
+\r
+        DbFile = BytesIO()\r
         if Phase == 'DXE' and os.path.exists(BinFilePath):\r
             BinFile = open(BinFilePath, "rb")\r
             BinBuffer = BinFile.read()\r
@@ -193,7 +169,7 @@ class VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER(object):
             Buffer = BinBuffer + Buffer\r
         DbFile.write(Buffer)\r
         SaveFileOnChange(BinFilePath, DbFile.getvalue(), True)\r
-    \r
+\r
 \r
 class VAR_CHECK_PCD_VARIABLE_TAB(object):\r
     pad = 0xDA\r
@@ -211,26 +187,26 @@ class VAR_CHECK_PCD_VARIABLE_TAB(object):
     def UpdateSize(self):\r
         self.HeaderLength = 32 + len(self.Name.split(","))\r
         self.Length = 32 + len(self.Name.split(",")) + self.GetValidTabLen()\r
-    \r
+\r
     def GetValidTabLen(self):\r
         validtablen = 0\r
         for item in self.validtab:\r
-            validtablen += item.Length  \r
-        return validtablen \r
-    \r
+            validtablen += item.Length\r
+        return validtablen\r
+\r
     def SetAttributes(self, attributes):\r
         self.Attributes = attributes\r
-            \r
+\r
     def push_back(self, valid_obj):\r
         if valid_obj is not None:\r
             self.validtab.append(valid_obj)\r
-        \r
+\r
     def equal(self, varchecktab):\r
         if self.Guid == varchecktab.Guid and self.Name == varchecktab.Name:\r
             return True\r
         else:\r
             return False\r
-        \r
+\r
     def merge(self, varchecktab):\r
         for validobj in varchecktab.validtab:\r
             if validobj in self.validtab:\r
@@ -253,10 +229,10 @@ class VAR_CHECK_PCD_VALID_OBJ(object):
         except:\r
             self.StorageWidth = 0\r
             self.ValidData = False\r
-            \r
-    def __eq__(self, validObj):       \r
+\r
+    def __eq__(self, validObj):\r
         return validObj and self.VarOffset == validObj.VarOffset\r
-         \r
+\r
 class VAR_CHECK_PCD_VALID_LIST(VAR_CHECK_PCD_VALID_OBJ):\r
     def __init__(self, VarOffset, validlist, PcdDataType):\r
         super(VAR_CHECK_PCD_VALID_LIST, self).__init__(VarOffset, validlist, PcdDataType)\r
@@ -264,7 +240,7 @@ class VAR_CHECK_PCD_VALID_LIST(VAR_CHECK_PCD_VALID_OBJ):
         valid_num_list = []\r
         for item in self.rawdata:\r
             valid_num_list.extend(item.split(','))\r
-        \r
+\r
         for valid_num in valid_num_list:\r
             valid_num = valid_num.strip()\r
 \r
@@ -273,10 +249,10 @@ class VAR_CHECK_PCD_VALID_LIST(VAR_CHECK_PCD_VALID_OBJ):
             else:\r
                 self.data.add(int(valid_num))\r
 \r
-                \r
+\r
         self.Length = 5 + len(self.data) * self.StorageWidth\r
-        \r
-           \r
+\r
+\r
 class VAR_CHECK_PCD_VALID_RANGE(VAR_CHECK_PCD_VALID_OBJ):\r
     def __init__(self, VarOffset, validrange, PcdDataType):\r
         super(VAR_CHECK_PCD_VALID_RANGE, self).__init__(VarOffset, validrange, PcdDataType)\r
@@ -293,7 +269,7 @@ class VAR_CHECK_PCD_VALID_RANGE(VAR_CHECK_PCD_VALID_OBJ):
             for obj in rangelist.pop():\r
                 self.data.add((obj.start, obj.end))\r
         self.Length = 5 + len(self.data) * 2 * self.StorageWidth\r
-        \r
+\r
 \r
 def GetValidationObject(PcdClass, VarOffset):\r
     if PcdClass.validateranges:\r