History log of /openbmc/openpower-pnor-code-mgmt/functions.hpp (Results 1 – 6 of 6)
Revision Date Author Comments
# f8e02429 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: Id6c141dd4eba2423f476499b999aec9cb42f6192
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 0dea1992 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

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

show more ...


# ebf67bf7 21-Jun-2021 Adriana Kobylak <anoo@us.ibm.com>

functions: bios-attr: Add match for PLDM

Add a match to watch for PLDM name owner change to detect when PLDM
starts. The callback would check if the new owner is set, which means
the

functions: bios-attr: Add match for PLDM

Add a match to watch for PLDM name owner change to detect when PLDM
starts. The callback would check if the new owner is set, which means
the service started instead of stopped, and then gets the properties
from entity manager to call the function that parse the json file and
sets the bios attr. If the entity manager interfaces are empty, it just
returns and the entity manager callback would take over when entity
manager starts.

This bios attr subcommand is now a vector to be able to return the two
matches, the one for EM and the new PLDM one.

Tested: Verify the bios attr was set when EM and PLDM were stopped and
EM was started then PLDM, and also having PLDM start first then EM.

Change-Id: I75fe1aae8084191226a8bd3b69087ca39ae2a43f
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>

show more ...


# ae0998f1 16-Jun-2021 Adriana Kobylak <anoo@us.ibm.com>

functions: Parse json file to set bios attr table

The elements.json file have entries as follow:
"lids": [
{
"element_name": "HBD.RAINIER_2U_XML",

functions: Parse json file to set bios attr table

The elements.json file have entries as follow:
"lids": [
{
"element_name": "HBD.RAINIER_2U_XML",
"short_lid_name": "81e00630",
},
{
"element_name": "HBD.RAINIER_2U_XML.iplTime",
"short_lid_name": "81e0068d",
},
{
"element_name": "NVRAM.P10",
"short_lid_name": "81e0066b",
},
{
"element_name": "HDAT.RAINIER_4U_XML",
"short_lid_name": "81e00675",
},

Need to parse the element name and lid name depending on the system. The
.P10 files are common to all P10 systems, the .<system> applies only to
the system name provided by Entity Manager. The .iplTIme takes
precedence and should be the lid number that it's picked up, so use []
instead of insert to overwrite an entry if it had already being set.

In the example above, the string for a rainier 2U should look like:
HBD=81e0068d,NVRAM=81e0066b.

Change-Id: I55b317ffef6a7fbe3fd5ee92e7f0188d831b7972
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>

show more ...


# 53a27395 14-Jun-2021 Adriana Kobylak <anoo@us.ibm.com>

mmc: Add update-bios-attr-table subcommand

Add the update-bios-attr-table subcommand to update the bios attribute
table with the host firmware well-known names based on system type. The

mmc: Add update-bios-attr-table subcommand

Add the update-bios-attr-table subcommand to update the bios attribute
table with the host firmware well-known names based on system type. The
system type is provided by Entity Manager, and this new subcommand uses
some of the existing infrastructure that the process-host-firmware
subcommand has to determine the system type.

Add a new service file to run this new subcommand so that it can block
waiting for the entity manager interface to appear on D-Bus.

Subsequent commands will add parsing the JSON file to build the bios
attribute string and set the bios attribute property.

Change-Id: Iacee975e273bae562d2d42cd8b642b9d0744a121
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>

show more ...


# 099543e4 09-Nov-2020 Brad Bishop <bradleyb@fuzziesquirrel.com>

updater: add process-host-firmware subcommand

Add general support for subcommands. Do this by bringing in the the
CLI11 library, and by skipping over dbus service initialization if a

updater: add process-host-firmware subcommand

Add general support for subcommands. Do this by bringing in the the
CLI11 library, and by skipping over dbus service initialization if a
subcommand is specified on the command line.

Implement the first subcommand: process-host-firmware. If no subcommand
is specified on the command line, openpower-update-manager continues to
launch as a dbus service.

Introduce functions.cpp/functions.hpp. functions.cpp is intended to be
a module in which process-hostfirmware and future openpower-item-updater
subcommands can be implemented. functions.hpp should be used to export
declarations to unit tests or item_updater_main.cpp.

The IBM POWER host firmware runtime looks for data and/or additional
code while bootstraping in locations with well-known names.
Additionally, the host firmware runtime relies on an external party to
map platform specific data and/or code to the well known names. The
process-host-firmware command maintains that mapping on behalf of the
host firmware and ensures the correct blob files exist in the well-known
locations prior to starting the host firmware runtime.

The process-host-firmware subcommand registers for callbacks from entity
manager when entity manager adds new DBus interfaces. Interfaces other
than IBMCompatibleSystem are ignored. Entity manager is started with
dbus activation if it is not already running. If IBMCompatibleSystem is
found and a set of host firmware blob filename extensions are mapped,
they are used to write "well-known" names into the filesystem for use by
the host firmware runtime.

Once the well-known names are written to the filesystem the program will
exit.

If entity manager does not publish an IBMCompatibleSystem interface the
command will wait indefinitely for it to appear. For this reason it is
not recommended to run the process-host-fimrware subcommand if
IBMCompatibleSystem is not implemented.

If IBMCompatibleSystem is implemented but no host firmware blob filename
extensions are mapped, the program will exit without doing anything.

Testcases are provided.

Change-Id: Icb066b0f3e164520cae312e3b03432a6ad67e0df
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...