Add *_current definitions for currently-defined Hostboot BIOS attributes

This commit adds hb_*_current attributes for currently-defined
"latched" Hostboot BIOS attributes. Certain hb_* BIOS attributes will
be copied into the hb_*_current attributes at the beginning of each
IPL to indicate what value is in use for the IPL after it is complete.

Change-Id: I5112e82c84f44a512a240e2b2d3c4e0865b34f67
Signed-off-by: Zach Clark <zach@ibm.com>
diff --git a/oem/ibm/configurations/bios/enum_attrs.json b/oem/ibm/configurations/bios/enum_attrs.json
index 0a2c50e..74151ba 100644
--- a/oem/ibm/configurations/bios/enum_attrs.json
+++ b/oem/ibm/configurations/bios/enum_attrs.json
@@ -215,7 +215,19 @@
             "256MB"
          ],
          "helpText" : "Specifies the size of the logical memory block the system uses to read memory, requires a reboot for a change to be applied.",
-         "displayName" : "Memory Region Size"
+         "displayName" : "Memory Region Size (pending)"
+      },
+      {
+         "attribute_name":"hb_memory_region_size_current",
+         "possible_values":[
+            "128MB",
+            "256MB"
+         ],
+         "default_values":[
+            "256MB"
+         ],
+         "helpText" : "Specifies the size of the logical memory block the system uses to read memory for the current IPL. Do not set this attribute directly; set hb_memory_region_size instead.",
+         "displayName" : "Memory Region Size (current)"
       },
       {
          "attribute_name":"hb_power_limit_enable",
@@ -226,8 +238,20 @@
          "default_values":[
             "Disabled"
          ],
-         "helpText" : "Specifies if the power limit is enabled.",
-         "displayName" : "Power Limit Enable"
+         "helpText" : "Specifies if the power limit is enabled, requires a reboot for a change to be applied.",
+         "displayName" : "Power Limit Enable (pending)"
+      },
+      {
+         "attribute_name":"hb_power_limit_enable_current",
+         "possible_values":[
+            "Enabled",
+            "Disabled"
+         ],
+         "default_values":[
+            "Disabled"
+         ],
+         "helpText" : "Specifies if the power limit is enabled for the current IPL. Do not set this attribute directly; set hb_power_limit_enable instead.",
+         "displayName" : "Power Limit Enable (current)"
       },
       {
          "attribute_name":"hb_secure_ver_lockin_enabled",
@@ -243,4 +267,3 @@
       }
    ]
 }
-
diff --git a/oem/ibm/configurations/bios/integer_attrs.json b/oem/ibm/configurations/bios/integer_attrs.json
index c3a780e..baa60d1 100644
--- a/oem/ibm/configurations/bios/integer_attrs.json
+++ b/oem/ibm/configurations/bios/integer_attrs.json
@@ -34,7 +34,16 @@
          "scalar_increment" : 1,
          "default_value" : 0,
          "helpText" : "Specifies the number of huge pages available for memory management, requires a reboot for a change to be applied.",
-         "displayName" : "Number Huge Pages"
+         "displayName" : "Number Huge Pages (pending)"
+      },
+      {
+         "attribute_name" : "hb_number_huge_pages_current",
+         "lower_bound" : 0,
+         "upper_bound" : 65535,
+         "scalar_increment" : 1,
+         "default_value" : 0,
+         "helpText" : "Specifies the number of huge pages available for memory management for the current IPL. Do not set this attribute directly; set hb_number_huge_pages instead.",
+         "displayName" : "Number Huge Pages (current)"
       },
       {
          "attribute_name" : "hb_huge_page_size",
@@ -43,7 +52,16 @@
          "scalar_increment" : 1,
          "default_value" : 0,
          "helpText" : "Specifies the size of huge pages, 0 = 16GB, requires a reboot for a change to be applied.",
-         "displayName" : "Huge Page Size"
+         "displayName" : "Huge Page Size (pending)"
+      },
+      {
+         "attribute_name" : "hb_huge_page_size_current",
+         "lower_bound" : 0,
+         "upper_bound" : 255,
+         "scalar_increment" : 1,
+         "default_value" : 0,
+         "helpText" : "Specifies the size of huge pages, 0 = 16GB, for the current IPL. Do not set this attribute directly; set hb_huge_page_size instead.",
+         "displayName" : "Huge Page Size (current)"
       },
       {
          "attribute_name" : "hb_field_core_override",
@@ -51,8 +69,17 @@
          "upper_bound" : 255,
          "scalar_increment" : 1,
          "default_value" : 0,
-         "helpText" : "The number of cores to activate where 0 being to activate all available cores. Where N, for fused cores, is to activate 2N cores. Where N, for non-fused cores, is to activate N cores.",
-         "displayName" : "Field Core Override"
+         "helpText" : "The number of cores to activate where 0 being to activate all available cores. Where N, for fused cores, is to activate 2N cores. Where N, for non-fused cores, is to activate N cores. Requires a reboot for a change to be applied.",
+         "displayName" : "Field Core Override (pending)"
+      },
+      {
+         "attribute_name" : "hb_field_core_override_current",
+         "lower_bound" : 0,
+         "upper_bound" : 255,
+         "scalar_increment" : 1,
+         "default_value" : 0,
+         "helpText" : "The number of cores to activate where 0 being to activate all available cores. Where N, for fused cores, is to activate 2N cores. Where N, for non-fused cores, is to activate N cores. Value applicable for the current IPL. Do not set this attribute directly; set hb_field_core_override instead.",
+         "displayName" : "Field Core Override (current)"
       },
       {
          "attribute_name" : "hb_power_limit_in_watts",
@@ -60,8 +87,17 @@
          "upper_bound" : 65535,
          "scalar_increment" : 1,
          "default_value" : 0,
-         "helpText" : "Specifies the power limit in watts.",
-         "displayName" : "Power Limit In Watts"
+         "helpText" : "Specifies the power limit in watts, requires a reboot for a change to be applied.",
+         "displayName" : "Power Limit In Watts (pending)"
+      },
+      {
+         "attribute_name" : "hb_power_limit_in_watts_current",
+         "lower_bound" : 0,
+         "upper_bound" : 65535,
+         "scalar_increment" : 1,
+         "default_value" : 0,
+         "helpText" : "Specifies the power limit in watts for the current IPL. Do not set this attribute directly; set hb_power_limit_in_watts instead.",
+         "displayName" : "Power Limit In Watts (current)"
       }
    ]
 }
diff --git a/oem/ibm/configurations/bios/string_attrs.json b/oem/ibm/configurations/bios/string_attrs.json
index c8ee0ec..f928f2f 100644
--- a/oem/ibm/configurations/bios/string_attrs.json
+++ b/oem/ibm/configurations/bios/string_attrs.json
@@ -68,7 +68,17 @@
          "default_string_length" : 32,
          "default_string" : "00000000000000000000000000000000",
          "helpText" : "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
-         "displayName" : "Manufacturing Flags"
+         "displayName" : "Manufacturing Flags (pending)"
+      },
+      {
+         "attribute_name" : "hb_mfg_flags_current",
+         "string_type" : "Hex",
+         "minimum_string_length" : 32,
+         "maximum_string_length" : 32,
+         "default_string_length" : 32,
+         "default_string" : "00000000000000000000000000000000",
+         "helpText" : "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
+         "displayName" : "Manufacturing Flags (current)"
       },
       {
          "attribute_name" : "hb_lid_ids",