- for FieldList in [inherit_OverrideValues.get(DefaultStoreName)]:\r
- if not FieldList:\r
- continue\r
- for FieldName in FieldList:\r
- FieldName = "." + FieldName\r
- IsArray = self.IsFieldValueAnArray(FieldList[FieldName.strip(".")][0])\r
- if IsArray:\r
- try:\r
- Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], "VOID*", self._GuidDict)(True)\r
- except BadExpression:\r
- EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
- (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))), FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))\r
- Value, ValueSize = ParseFieldValue(Value)\r
- CApp = CApp + ' __FLEXIBLE_SIZE(Size, %s, %s, %d / __ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %% __ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0)); // From %s Line %d Value %s\n' % (Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."), FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2], FieldList[FieldName.strip(".")][0]);\r
- else:\r
- NewFieldName = ''\r
- FieldName_ori = FieldName.strip('.')\r
- while '[' in FieldName:\r
- NewFieldName = NewFieldName + FieldName.split('[', 1)[0] + '[0]'\r
- ArrayIndex = int(FieldName.split('[', 1)[1].split(']', 1)[0])\r
- FieldName = FieldName.split(']', 1)[1]\r
- FieldName = NewFieldName + FieldName\r
- while '[' in FieldName:\r
- FieldName = FieldName.rsplit('[', 1)[0]\r
- CApp = CApp + ' __FLEXIBLE_SIZE(Size, %s, %s, %d); // From %s Line %d Value %s \n' % (Pcd.DatumType, FieldName.strip("."), ArrayIndex + 1, FieldList[FieldName_ori][1], FieldList[FieldName_ori][2], FieldList[FieldName_ori][0])\r
+ storeset = [DefaultStoreName] if DefaultStoreName == 'STANDARD' else ['STANDARD', DefaultStoreName]\r
+ for defaultstorenameitem in storeset:\r
+ CApp = CApp + "// SkuName: %s, DefaultStoreName: %s \n" % (skuname, defaultstorenameitem)\r
+ for FieldList in [inherit_OverrideValues.get(defaultstorenameitem)]:\r
+ if not FieldList:\r
+ continue\r
+ for FieldName in FieldList:\r
+ FieldName = "." + FieldName\r
+ IsArray = self.IsFieldValueAnArray(FieldList[FieldName.strip(".")][0])\r
+ if IsArray:\r
+ try:\r
+ Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], "VOID*", self._GuidDict)(True)\r
+ except BadExpression:\r
+ EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
+ (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))), FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))\r
+ Value, ValueSize = ParseFieldValue(Value)\r
+ CApp = CApp + ' __FLEXIBLE_SIZE(Size, %s, %s, %d / __ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %% __ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0)); // From %s Line %d Value %s\n' % (Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."), FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2], FieldList[FieldName.strip(".")][0]);\r
+ else:\r
+ NewFieldName = ''\r
+ FieldName_ori = FieldName.strip('.')\r
+ while '[' in FieldName:\r
+ NewFieldName = NewFieldName + FieldName.split('[', 1)[0] + '[0]'\r
+ ArrayIndex = int(FieldName.split('[', 1)[1].split(']', 1)[0])\r
+ FieldName = FieldName.split(']', 1)[1]\r
+ FieldName = NewFieldName + FieldName\r
+ while '[' in FieldName:\r
+ FieldName = FieldName.rsplit('[', 1)[0]\r
+ CApp = CApp + ' __FLEXIBLE_SIZE(Size, %s, %s, %d); // From %s Line %d Value %s \n' % (Pcd.DatumType, FieldName.strip("."), ArrayIndex + 1, FieldList[FieldName_ori][1], FieldList[FieldName_ori][2], FieldList[FieldName_ori][0])\r