History log of /openbmc/intel-ipmi-oem/include/biosxml.hpp (Results 1 – 15 of 15)
Revision Date Author Comments
# 1bcced08 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: Id2036ab746164981596b3ee36259f3ca5d3f1334
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 16bbc6bd 27-Nov-2023 Jatkiewicz, Joanna <joanna.jatkiewicz@intel.com>

intel-ipmi-oem: Fixing bios.xml parsing

The main fix is the change translate 'sif','gif','dif' from 'IF' to 'IF
NOT'. Now all bios knobs with depex equal "TRUE" will be visible over
RF.

Tested: man

intel-ipmi-oem: Fixing bios.xml parsing

The main fix is the change translate 'sif','gif','dif' from 'IF' to 'IF
NOT'. Now all bios knobs with depex equal "TRUE" will be visible over
RF.

Tested: manually checked on platform, all knobs with depex set as "TRUE"
are visible over RF. PSYS bios knobs are visible and it is possible to
set them over redfish.

Change-Id: I684fb29f9feb50df7a48aa77a79fad11943dd055
Signed-off-by: Jatkiewicz, Joanna <joanna.jatkiewicz@intel.com>

show more ...


# 87381417 20-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I1367c2eabf95f27b5acb08b9e6fd6eedcb77377f
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# dcff1506 28-Sep-2022 Vernon Mauery <vernon.mauery@linux.intel.com>

changes needed for meson build

Fix warnings that the meson build turns into errors.

Tested: builds without warnings.

Change-Id: I66b02c4c616f37d09ceba61c494903acc3d28bd5
Signed-off-by: Vernon Maue

changes needed for meson build

Fix warnings that the meson build turns into errors.

Tested: builds without warnings.

Change-Id: I66b02c4c616f37d09ceba61c494903acc3d28bd5
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# b37abfb2 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I59c0a8c4b89131ecd3e9a841ed37ef3b8dcf8e9d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 1eb3d64c 08-May-2023 Arun Lal K M <arun.lal@intel.com>

Use knob->prompt for DisplayName in BiosAttributeRegistry

GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/
shows list of Attributes under RegistryEntries. Each attribute
co

Use knob->prompt for DisplayName in BiosAttributeRegistry

GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/
shows list of Attributes under RegistryEntries. Each attribute
corresponds to a knob in BIOS.

DisplayName is currently filled with knob->name but knob->prompt is more
accurate for DisplayName as that is the name we see in EDKII menu.

Code changes makes the above mentioned fix.

Tested
Sample knobs from BIOS.
<knob name="ADDDCEn" prompt="ADDDC Sparing" ... >
<options>
<option text="Disable" value="0x0"/>
<option text="Enable" value="0x1"/>
</options>
</knob>

Corresponding Redfish response in BiosAttributeRegistry
{
"AttributeName": "ADDDCEn",
"CurrentValue": "0x00",
"DefaultValue": "0x00",
"DisplayName": "ADDDC Sparing",
"HelpText": "Enable/Disable ADDDC Sparing",
"MenuPath": "./",
"ReadOnly": false,
"Type": "Enumeration",
"Value": [
{
"ValueDisplayName": "Disable",
"ValueName": "0x0"
},
{
"ValueDisplayName": "Enable",
"ValueName": "0x1"
}
]
}

Change-Id: I6ee251e32169cecb4d86436373397054863552b5
Signed-off-by: Arun Lal K M <arun.lal@intel.com>

show more ...


# 7a8ab9ee 03-May-2023 Arun Lal K M <arun.lal@intel.com>

Show option->text of BIOS knob in Redfish response.

GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/
shows list of Attributes under RegistryEntries. Each attribute
correspo

Show option->text of BIOS knob in Redfish response.

GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/
shows list of Attributes under RegistryEntries. Each attribute
corresponds to a knob in BIOS.

If knob in BIOS is of type Enumeration, it will have 'option' with
'text' and 'value'. This text should be mapped to
attribute->Value->ValueDisplayName.

Code changes are made for the same.

Tested
Sample knobs from BIOS.

<knob name="AdaptiveRefreshMgmtLevel" ... >
<options>
<option text="Default" value="0x0"/>
<option text="Level A" value="0x1"/>
<option text="Level B" value="0x2"/>
<option text="Level C" value="0x3"/>
</options>
</knob>
<knob name="ADDDCEn" ... >
<options>
<option text="Disable" value="0x0"/>
<option text="Enable" value="0x1"/>
</options>
</knob>

Corresponding Redfish response in BiosAttributeRegistry

{
"AttributeName": "AdaptiveRefreshMgmtLevel",
"CurrentValue": "0x00",
"DefaultValue": "0x00",
"DisplayName": "AdaptiveRefreshMgmtLevel",
"HelpText": "ARFM Level when ... ",
"MenuPath": "./",
"ReadOnly": false,
"Type": "Enumeration",
"Value": [
{
"ValueDisplayName": "Default",
"ValueName": "0x0"
},
{
"ValueDisplayName": "Level A",
"ValueName": "0x1"
},
{
"ValueDisplayName": "Level B",
"ValueName": "0x2"
},
{
"ValueDisplayName": "Level C",
"ValueName": "0x3"
}
]
},
{
"AttributeName": "ADDDCEn",
"CurrentValue": "0x00",
"DefaultValue": "0x00",
"DisplayName": "ADDDCEn",
"HelpText": "Enable/Disable ADDDC Sparing",
"MenuPath": "./",
"ReadOnly": false,
"Type": "Enumeration",
"Value": [
{
"ValueDisplayName": "Disable",
"ValueName": "0x0"
},
{
"ValueDisplayName": "Enable",
"ValueName": "0x1"
}
]
}

Change-Id: I26795681c45247ea954edf48b1a9da80ace31ae5
Signed-off-by: Arun Lal K M <arun.lal@intel.com>

show more ...


# 0748c69d 08-Sep-2022 Jason M. Bills <jason.m.bills@intel.com>

Condense std::variants

Where possible, reduce to a single std::variant type to reduce binary
size.

Change-Id: I73b59765109ce1ccd7339f0e214d1ec3929e1ffc
Signed-off-by: Jason M. Bills <jason.m.bills@

Condense std::variants

Where possible, reduce to a single std::variant type to reduce binary
size.

Change-Id: I73b59765109ce1ccd7339f0e214d1ec3929e1ffc
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>

show more ...


# d2d60ab5 29-Dec-2021 Arun Lal K M <arun.lal@intel.com>

Add support for Enumeration in BIOSConfig

Bios knobs have options (possible set of values for the knob) as Enumaration,
Hence BMC must treat it as type enumuration and not as string.

Bios knobs hav

Add support for Enumeration in BIOSConfig

Bios knobs have options (possible set of values for the knob) as Enumaration,
Hence BMC must treat it as type enumuration and not as string.

Bios knobs have options (possible set of values for the knob) as
Enumaration,Hence BMC must treat it as type enumuration and not as
string.

This change is also to support the following change in bios-settings-mgr
https://gerrit.openbmc-project.xyz/c/openbmc/bios-settings-mgr/+/49126

Tested:
By giving following commands and making sure functionalities
are not affected.

1) GET to
/Registries/BiosAttributeRegistry/BiosAttributeRegistry/

2) GET to
Systems/system/Bios/Settings

3) PATCH to
Systems/system/Bios/Settings

Redfish validator result:
1) For /redfish/v1/Registries/
Counter({'metadataNamespaces': 2295, 'pass': 2053, 'skipOptional': 1267,
'warnDeprecated': 232, 'passGet': 11, 'warningPresent': 6,
'serviceNamespaces': 5})
Validation has succeeded.

2) For /redfish/v1/Systems/system/Bios/
Counter({'pass': 7405, 'metadataNamespaces': 2295, 'skipOptional': 14,
'serviceNamespaces': 4, 'passGet': 2, 'passAction': 2, 'reflink': 1,
'warningPresent': 1})
Validation has succeeded.

Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Change-Id: Ib86b0dbd3536a33fa85c8bb9897901b8220c4539

show more ...


# 713928b9 23-Dec-2021 Snehalatha Venkatesh <snehalathax.v@intel.com>

Fix issue with hex string to integer conversion

Not able to PATCH few attributes in BiosAttributeRegistry,
evaluation of depex expression is getting failed, so attributes
which are not patchable are

Fix issue with hex string to integer conversion

Not able to PATCH few attributes in BiosAttributeRegistry,
evaluation of depex expression is getting failed, so attributes
which are not patchable are also added to Base Table.

Changes made to pass evaluation of depex expression.

Tested:
1. Enable "BMC remote setup" in EDKII Menu from Bios and set
User Admin Password.
2. Perform Reset Bios or DC Cycle or AC cycle.
3. Wait for 120 seconds after complete bios boot up and check
for bios.xml file in /var/oob folder.
4. Get - /redfish/v1/Registries/BiosAttributeRegistry
/BiosAttributeRegistry
Response: All patchable attributes are displayed.
5. Select random attribute and
Patch - /redfish/v1/Systems/system/Bios/Settings
Body:
{
"data": {
"Ioe0PcieRootPortEn_5": "0x0"
}}
6. Repeat steps 2, 3 and 4
Response:
{
"@odata.id": "/redfish/v1/Registries/BiosAttributeRegistry
/BiosAttributeRegistry",
"@odata.type": "#AttributeRegistry.v1_3_2.AttributeRegistry",
"Id": "BiosAttributeRegistry",
"Language": "en",
"Name": "Bios Attribute Registry",
"OwningEntity": "OpenBMC",
"RegistryEntries": {
"Attributes": [
{
"AttributeName": "Ioe0PcieRootPortEn_5",
"CurrentValue": "0x00",
"DefaultValue": "0x01",
"DisplayName": "Ioe0PcieRootPortEn_5",
"HelpText": "Control the PCI Express Root Port.",
"MenuPath": "./",
"ReadOnly": false,
"Type": "String",
"Value": [
{
"OneOf": "0x0"
},
{
"OneOf": "0x1"
}
]
},.....
]
}
}

Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com>
Change-Id: I48e850758c0b9873c5f6645151e613dd0d0a7b39

show more ...


# bd51e6a9 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

catch exceptions as const

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia9932efb6a9335e80b3f2376d2d62e1b65866f44


# ed173c39 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

biosxml: run dos2unix

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ie3977e37d069f676a2f84b498c49cda5bb9e00da


# e83c70aa 22-Sep-2021 Arun Lal K M <arun.lal@intel.com>

Add 'greater than' support in depex computation.

Added support in code to compute depex expressions
with _GE_ and _GTE_.

Tested:
With bios.xml file which had the following knob:

<knob
type="scalar

Add 'greater than' support in depex computation.

Added support in code to compute depex expressions
with _GE_ and _GTE_.

Tested:
With bios.xml file which had the following knob:

<knob
type="scalar"
setupType="numeric"
name="CoreDisableMask_0"
varstoreIndex="05"
prompt="CoreDisableMask_0"
description="Core Disable Bitmap (Hex) 0:
Enable all cores. 0xffff: Disable all cores "
size="8"
offset="0x014A"
depex="Sif( SstPpLevelTotalCount _GT_ 1
AND ( ( IssTdpLevel _EQU_ 0xFF
AND SstPpLevelEnableSystem_0 _NEQ_ 1 )
OR ( IssTdpLevel _NEQ_ 0xFF AND IssTdpLevel _GT_ 0 )
OR DynamicIss _EQU_ 1 ) )"
default="0x0000000000000000"
CurrentVal="0x0000000000000000"
min="0x0"
max="0xFFFFFFFFFFFFFFFF"
step="0x1"/>

Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Change-Id: I45cd879ca1bb35e6cde9ea581b3a5c63577525d0

show more ...


# b0caca06 05-Sep-2021 Arun Lal K M <arun.lal@intel.com>

Fix support for Get Payload.

Get Payload is split into two as follows:
1) Get Payload Info (ipmitool raw 0x30 0xd6 0 1):
Return info of Payload1 (pending list) data

2) Get Payload data (ipmitool ra

Fix support for Get Payload.

Get Payload is split into two as follows:
1) Get Payload Info (ipmitool raw 0x30 0xd6 0 1):
Return info of Payload1 (pending list) data

2) Get Payload data (ipmitool raw 0x30 0xd6 1 1):
Return Payload1 (pending list) data.

Note: Pending list is the BIOS knobs edited by patch to
https://<IP>/redfish/v1/Systems/system/Bios/Settings,
which is stored in BMC.

Tested:
Step 1)
Patch to https://<IP>/redfish/v1/Systems/system/Bios/Settings
with the following data:
{
"data":{
"Ce2LmLoggingEn": "0x0",
"CoreCrashLogDisable": "0x1",
"CpuCrashLogClear": "0x0",
"DfxEadrDebugLogs": "0x1",
"DfxFadrDebugLogs": "0x1",
"WheaLogMemoryEn": "0x1"
}
}

Step 2)
Give command ipmitool raw 0x30 0xd6 0 1

Response:
00 00 01 7e 00 00 00 08 4c d3 e9 00 01 a8 9e 00
00

Step 3)
Give command ipmitool raw 0x30 0xd6 1 1 0x09 0 0 0 0x7e 0 0 0

Response:
01 75 00 00 00 89 51 07 a0 69 6e 67 45 6e 3d 30
78 30 0a 43 6f 72 65 43 72 61 73 68 4c 6f 67 44
69 73 61 62 6c 65 3d 30 78 31 0a 43 70 75 43 72
61 73 68 4c 6f 67 43 6c 65 61 72 3d 30 78 30 0a
44 66 78 45 61 64 72 44 65 62 75 67 4c 6f 67 73
3d 30 78 31 0a 44 66 78 46 61 64 72 44 65 62 75
67 4c 6f 67 73 3d 30 78 31 0a 57 68 65 61 4c 6f
67 4d 65 6d 6f 72 79 45 6e 3d 30 78 31 0a

Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Change-Id: I6a3bec66f78c2c9b6296e3dbba7743971b372f75

show more ...


# e7725610 15-Jul-2021 Arun Lal K M <arun.lal@intel.com>

Add depex support in bios.xml parsing.

Added logic to execute depex expression for every knob in bios.xml.
knob is added to BiosAttributeRegistry only if depex evaluation result
is TRUE.

Tested:
By

Add depex support in bios.xml parsing.

Added logic to execute depex expression for every knob in bios.xml.
knob is added to BiosAttributeRegistry only if depex evaluation result
is TRUE.

Tested:
By giving GET Request to
'redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry'.
Output sample showing few knobs added becuase depex evaluation result
was TRUE:

{
"AttributeName": "AEPErrorInjEn",
"CurrentValue": "0x00",
"DefaultValue": "0x00",
"DisplayName": "AEPErrorInjEn",
"HelpText": "Enable/Disable PMem Error Injection",
"MenuPath": "./",
"ReadOnly": false,
"Type": "String",
"Value": [
{
"OneOf": "0x0"
},
{
"OneOf": "0x1"
}
]
}
{
"AttributeName": "wrVrefCenter",
"CurrentValue": "0x01",
"DefaultValue": "0x01",
"DisplayName": "wrVrefCenter",
"HelpText": "Write Vref Centering Disable/Enable",
"MenuPath": "./",
"ReadOnly": false,
"Type": "String",
"Value": [
{
"OneOf": "0x0"
},
{
"OneOf": "0x1"
}
]
}

Following are few knobs rejected becuase depex evaluation
result was FALSE:

<knob type="scalar" setupType="oneof" name="PfrProvision"
varstoreIndex="04" prompt="PFR Provision"
description="Selectable if PFR is not locked." size="1"
offset="0x0126"
depex="Sif( PfrSupported _EQU_ 0 ) _AND_ Gif( PfrLockStatus _EQU_ 1 OR
PfrProvisionStatus _EQU_ 1 )"
default="0x00" CurrentVal="0x00">
<options>
<option text="Disable" value="0x0"/>
<option text="Enable" value="0x1"/>
</options>
</knob>

<knob type="scalar" setupType="oneof" name="SataHotPlugController0_0"
varstoreIndex="01" prompt="
Hot Plug" description="Designates this port as Hot Pluggable." size="1"
offset="0x0119"
depex="Sif( PchSata_0 _EQU_ 0 ) _AND_
Sif( SataExternalController0_0 _EQU_ 1 )" default="0x00"
CurrentVal="0x00">
<options>
<option text="Disabled" value="0x0"/>
<option text="Enabled" value="0x1"/>
</options>
</knob>

Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Change-Id: Iff1ea01fb06200e21cc7f2a2e0fdfdff70376581

show more ...