History log of /openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.hpp (Results 1 – 8 of 8)
Revision Date Author Comments
# b487eb47 16-Sep-2021 Willy Tu <wltu@google.com>

phosphor-ipmi-flash: Fix all C++ warnings

Change-Id: I89236b2dab88ca725e269bb8f5b2cbfd271e807a
Signed-off-by: Willy Tu <wltu@google.com>


# cc7f385b 21-Jan-2021 William A. Kennington III <wak@google.com>

handler_config: Split out from buildjson

This allows us to build the version-handler without the json
infrastructure.

Change-Id: I8c0a5715cb66f6cbb3e72cb714759f6e11e3f409
Signed-off-by: William A.

handler_config: Split out from buildjson

This allows us to build the version-handler without the json
infrastructure.

Change-Id: I8c0a5715cb66f6cbb3e72cb714759f6e11e3f409
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 9936c456 24-Dec-2020 William A. Kennington III <wak@google.com>

version_handler: Support multiple sessions

We want to be able to support multiple concurrent readers of version
information. Otherwise, upstream version checks might fail if they end
up being sequen

version_handler: Support multiple sessions

We want to be able to support multiple concurrent readers of version
information. Otherwise, upstream version checks might fail if they end
up being sequenced concurrently.

Change-Id: I5420ad667622b7906e633562a5373e0be042c0c1
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# c5b901d8 23-Dec-2020 William A. Kennington III <wak@google.com>

version_handler: Expire shouldn't fail

We want to make sure any sessions which expire are successfully removed,
even if we don't have the session in our map.

Change-Id: I50c7f74509945e29ab3c04ecbcf

version_handler: Expire shouldn't fail

We want to make sure any sessions which expire are successfully removed,
even if we don't have the session in our map.

Change-Id: I50c7f74509945e29ab3c04ecbcf583a1a9ce0c92
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# b45eb5ee 23-Dec-2020 William A. Kennington III <wak@google.com>

version-handler: Refactor maps to simplify accesses

This reduces the number of map lookups needed for read() and close()
operations and the number of stored strings by referencing the pinned
blobId.

version-handler: Refactor maps to simplify accesses

This reduces the number of map lookups needed for read() and close()
operations and the number of stored strings by referencing the pinned
blobId.

Change-Id: I8c6af5749b8cc8415eedeba484bf4a39a98f0286
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# abf17354 22-Dec-2020 William A. Kennington III <wak@google.com>

version-handler: Refactor handler construction

Instead of requiring callers to build maps and info blobs, take the
minimal required amount of information about the blob configuration and
build requi

version-handler: Refactor handler construction

Instead of requiring callers to build maps and info blobs, take the
minimal required amount of information about the blob configuration and
build required datastructures internally.

This reduces the amount of code, and nearly eliminates all of the
untested code in main.cpp.

Change-Id: Iaa398eb404814e9263e6707b71b38a9831d96697
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# c78bfc82 05-Nov-2020 Jason Ling <jasonling@google.com>

version-handler: add version-handler, blob handler

Implement version-handler: a blob handler for retrieving version
information about a blob.

Problem: ipmi-flash(firmware-handler) provides a mechan

version-handler: add version-handler, blob handler

Implement version-handler: a blob handler for retrieving version
information about a blob.

Problem: ipmi-flash(firmware-handler) provides a mechanism to transfer
firmware updates, verify them and perform updates but there is no
mechanism to interrogate the firmware for its version.

Solution: version-handler provides handlers for retrieving information
about firmware blobs. Adding "version" syntax to "/flash/blob" entries
in the json configuration file enables this feature.
The mechanism to retrieve version is identical to the mechanism used by
firmware-handler to perform preparation, verification and updates (kick
off systemd targets).

Signed-off-by: Jason Ling <jasonling@google.com>
Change-Id: I28868ca8dd76d63af668d2e46b9359401d45f0bc

show more ...


# 85e54f1b 05-Nov-2020 Jason Ling <jasonling@google.com>

version-handler: implement json parser

version-handler adds the following capability

- ipmi-flash blobs can add a "version" along with the required
nested properties. This enables versioning suppor

version-handler: implement json parser

version-handler adds the following capability

- ipmi-flash blobs can add a "version" along with the required
nested properties. This enables versioning support for that
flash blob.
For instance,
{
"blob" : "/flash/sink_seq",
"version":{ //now a /version/sink_seq blob will appear
"handler": {
"type: : "file", //only file type is supported
"path" : "/tmp/version_info" // file contents
// contain textual version.
// Content returned on read
},
"actions":{
"open" : { //on open launch a systemd target
"type" : "systemd",
"unit" : "version.target"
}
}
}
}

In the above example (pretend that the rest of the required
firmware-handler fields are present) firmware handler will create the
normal ipmi-flash blobs needed for updating firmware.
The addition of the "version" section activates the version-handler
which exposes a blob named /version/sink_seq.

Opening /version/sink_seq will kick off the action specified. In this
case the systemd target version.target will be launched. This service
should retrieve the version information and then place the contents in
the file specified by handler - path (/tmp/version_info).

The user at this point can poll (stat) the blob until the meta-data
indicates that read data is ready.

A read can be issued for /version/sink_seq. What is returned will be the
contents of /tmp/version_info.

Signed-off-by: Jason Ling <jasonling@google.com>
Change-Id: I7cc7bec2e08b013c6b77f8dfd2a502272ad2d3bd

show more ...