PLDM: Mark all _current attributes as readonly

- The _current attributes are supposed to be only set by HOST and
NOT by any redfish client, so by marking them as readonly
we would deny customers/redfish client to do PATCH operations
on _current attributes.

- List of attribute modified as readOnly:
hb_cap_freq_mhz_request_current
hb_field_core_override_current
hb_host_usb_enablement_current
hb_huge_page_size_current
hb_key_clear_request_current
hb_lateral_cast_out_mode_current
hb_memory_mirror_mode_current
hb_memory_region_size_current
hb_mfg_flags_current
hb_number_huge_pages_current
hb_power_limit_enable_current
hb_proc_favor_aggressive_prefetch_current
hb_tpm_required_current
pvm_create_default_lpar_current
pvm_default_os_type_current
pvm_os_boot_type_current
pvm_rpa_boot_mode_current
pvm_stop_at_standby_current
pvm_vtpm_current

Tested:
- Tried to change attribute using redfish command which is blocked now.
- Tried to change attribute using pldmtool command which is working fine.

Change-Id: I879266d73e033dd55ff6c61e414bea2fd617bbef
Signed-off-by: Patel-Kamalkumar <kamalkumar.patel@ibm.com>
diff --git a/oem/ibm/configurations/bios/enum_attrs.json b/oem/ibm/configurations/bios/enum_attrs.json
index bebed24..f8a2dbe 100644
--- a/oem/ibm/configurations/bios/enum_attrs.json
+++ b/oem/ibm/configurations/bios/enum_attrs.json
@@ -97,7 +97,8 @@
             "possible_values": ["Disabled", "Enabled", "ManualOnly"],
             "default_values": ["Disabled"],
             "helpText": "Specifies the current hypervisor boot policy. Do not set this attribute directly; set pvm_stop_at_standby instead.",
-            "displayName": "pvm_stop_at_standby_current (current)"
+            "displayName": "pvm_stop_at_standby_current (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_debug_console",
@@ -147,7 +148,8 @@
             "possible_values": ["AIX", "Linux", "IBM I", "Default"],
             "default_values": ["Default"],
             "helpText": "Specifies the current CEC Primary OS type. Do not set this attribute directly; set pvm_default_os_type instead.",
-            "displayName": "CEC Primary OS (current)"
+            "displayName": "CEC Primary OS (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_system_operating_mode",
@@ -180,7 +182,8 @@
             ],
             "default_values": ["Normal"],
             "helpText": "Specifies the current boot type for an AIX/Linux partition. Do not set this attribute directly; set pvm_rpa_boot_mode instead.",
-            "displayName": "AIX/Linux Partition Boot Mode (current)"
+            "displayName": "AIX/Linux Partition Boot Mode (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_os_boot_type",
@@ -194,7 +197,8 @@
             "possible_values": ["A_Mode", "B_Mode", "C_Mode", "D_Mode"],
             "default_values": ["D_Mode"],
             "helpText": "Specifies the current IBMi partition boot mode for next system boot. Do not set this attribute directly; set pvm_os_boot_type instead.",
-            "displayName": "IBMi Partition Boot Mode (current)"
+            "displayName": "IBMi Partition Boot Mode (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_vtpm",
@@ -208,7 +212,8 @@
             "possible_values": ["Disabled", "Enabled"],
             "default_values": ["Enabled"],
             "helpText": "Specifies the current vTPM policy. Do not set this attribute directly; set pvm_vtpm instead.",
-            "displayName": "Virtual Trusted Platform Module (current)"
+            "displayName": "Virtual Trusted Platform Module (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_sys_dump_active",
@@ -229,7 +234,8 @@
             "possible_values": ["128MB", "256MB", "1024MB", "2048MB", "4096MB"],
             "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)"
+            "displayName": "Memory Region Size (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_power_limit_enable",
@@ -250,7 +256,8 @@
             "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)"
+            "displayName": "Power Limit Enable (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_secure_ver_lockin_enabled",
@@ -271,7 +278,8 @@
             "possible_values": ["Disabled", "Enabled"],
             "default_values": ["Disabled"],
             "helpText": "Specifies if the memory mirroring is enabled for the current IPL. Do not set this attribute directly; set hb_memory_mirror_mode instead.",
-            "displayName": "Memory Mirror Mode (current)"
+            "displayName": "Memory Mirror Mode (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_tpm_required",
@@ -292,7 +300,8 @@
             "possible_values": ["Required", "Not Required"],
             "default_values": ["Required"],
             "helpText": "When the 'TPM Required Policy' is 'Required', a functional TPM is required to boot the system. Do not set this attribute directly; set hb_tpm_required instead.",
-            "displayName": "TPM Required Policy (current)"
+            "displayName": "TPM Required Policy (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_key_clear_request",
@@ -320,7 +329,8 @@
             ],
             "default_values": ["NONE"],
             "helpText": "Specifies the requested level of security keys to be cleared from the system for the current IPL. Do not set this attribute directly; set hb_key_clear_request instead.",
-            "displayName": "Key Clear Request (current)"
+            "displayName": "Key Clear Request (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_host_usb_enablement",
@@ -334,7 +344,8 @@
             "possible_values": ["Disabled", "Enabled"],
             "default_values": ["Enabled"],
             "helpText": "Specifies if Host USB is disabled or enabled for security reasons. Do not set this attribute directly; set hb_host_usb_enablement instead.",
-            "displayName": "Host USB Enablement (current)"
+            "displayName": "Host USB Enablement (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_auto_poweron_restart",
@@ -365,7 +376,8 @@
             "possible_values": ["Disabled", "Enabled"],
             "default_values": ["Enabled"],
             "helpText": "Only change this value if instructed by service provider as it might degrade system performance. Specifies if Lateral Cast Out mode is disabled or enabled. Do not set this attribute directly; set hb_lateral_cast_out_mode instead.",
-            "displayName": "Lateral Cast Out mode (current)"
+            "displayName": "Lateral Cast Out mode (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "hb_proc_favor_aggressive_prefetch",
@@ -379,7 +391,8 @@
             "possible_values": ["Disabled", "Enabled"],
             "default_values": ["Disabled"],
             "helpText": "Only change this value if instructed by service provider as it might degrade system performance. Specifies if Proc Favor Aggressive Prefetch is disabled or enabled. Do not set this attribute directly; set hb_proc_favor_aggressive_prefetch instead.",
-            "displayName": "Proc Favor Aggressive Prefetch (current)"
+            "displayName": "Proc Favor Aggressive Prefetch (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_create_default_lpar",
@@ -393,7 +406,8 @@
             "possible_values": ["Disabled", "Enabled"],
             "default_values": ["Disabled"],
             "helpText": "When enabled creates a new default partition after NVRAM is cleared. This is primarily for machines that are managed by hardware management console.Do not set this attribute directly; set pvm_create_default_lpar instead.",
-            "displayName": "pvm_create_default_lpar (current)"
+            "displayName": "pvm_create_default_lpar (current)",
+            "readOnly": true
         },
         {
             "attribute_name": "pvm_keep_and_clear",