42a44c28 | 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: I09e19a126d456dc184fd70e82d4e4e4217fa8ee7 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
99d292a3 | 08-Feb-2022 |
Willy Tu <wltu@google.com> |
phosphor-ipmi-flash: Code Health Cleanup
Removed the following warning. - using decl '*' is unused - 'push_back' is called inside a loop; consider pre-allocating the container capacity before th
phosphor-ipmi-flash: Code Health Cleanup
Removed the following warning. - using decl '*' is unused - 'push_back' is called inside a loop; consider pre-allocating the container capacity before the loop - function '*' defined in a header file; function definitions in header files can lead to ODR violations
Change-Id: I44e4b0f8056a853fb45b690394be1a8ebec45b20 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
35b77c9b | 13-Sep-2021 |
Willy Tu <wltu@google.com> |
build: remove autotool
Change-Id: I662c8a5d29453622744f44c1984416f1303354e6 Signed-off-by: Willy Tu <wltu@google.com> |
bcae9002 | 12-Sep-2021 |
Willy Tu <wltu@google.com> |
build: Add meson build
Changes to note, - `with_systemdsystemunitdir` and `with_tmpfilesdir` is removed since it is not being documented nor used in OpenBMC. - Removed the Code coverage feature wi
build: Add meson build
Changes to note, - `with_systemdsystemunitdir` and `with_tmpfilesdir` is removed since it is not being documented nor used in OpenBMC. - Removed the Code coverage feature with `-DDHAVE_GCOV`, since it is not used and meson covers it. - Removed `--enable-oe-sdk` for using the OpenBMC SDK. It should work directly with no change required.
Tested: ``` Jan 01 00:01:54 ipmid[709]: Try loading blob from persistent data Jan 01 00:01:54 ipmid[709]: Stale blob data, resetting internals... Jan 01 00:01:56 ipmid[709]: config loaded: /flash/bios Jan 01 00:01:56 ipmid[709]: config loaded: /flash/image Jan 01 00:01:56 ipmid[709]: config loaded: /flash/dummy ... ```
``` $ ls /usr/lib/blob-ipmid/ libfirmwareblob.so libfirmwarecleanupblob.so libversionblob.so ```
Testing the service, ``` $ echo "hello" > /tmp/test.txt $ burn_my_bmc -command update -layout dummy -image /tmp/test.txt Sending over the firmware image. Opening the verification file Committing to /flash/verify to trigger service Calling stat on /flash/verify session to check status running success Returned success succeeded ```
On the BMC. ``` /run/initramfs$ cat dummy hello ```
Change-Id: I21c7c33bd62c0ee40681cb40da90125c125bea2f Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
c8b456e0 | 19-Mar-2021 |
Jie Yang <jjy@google.com> |
version-handler: remove unused tests
Those tests are repeated in "version_json_unittest.cpp" and never built.
Signed-off-by: Jie Yang <jjy@google.com> Change-Id: I004237307ef0581f47e8517d5988b755f7
version-handler: remove unused tests
Those tests are repeated in "version_json_unittest.cpp" and never built.
Signed-off-by: Jie Yang <jjy@google.com> Change-Id: I004237307ef0581f47e8517d5988b755f7d56935
show more ...
|
7d39eb04 | 16-Feb-2021 |
Patrick Venture <venture@google.com> |
bmc/ver.../test/.close_unittest: add missing header
Signed-off-by: Patrick Venture <venture@google.com> Change-Id: I836986ee7108caa651a374c3f08e96029d01cd9c |
84904b97 | 22-Jan-2021 |
William A. Kennington III <wak@google.com> |
version-handler/test: Remove unused declarations
Change-Id: If9bc7dd4c58bd9ba3430ffee6319da5ed194cb9f Signed-off-by: William A. Kennington III <wak@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 ...
|
0674a6d7 | 12-Jan-2021 |
William A. Kennington III <wak@google.com> |
version-handler: Produce errors for unavailable data
We want to make it clear to the reader that the data is actually unavailable vs reading outside the bounds of the data space.
Change-Id: Ifb63df
version-handler: Produce errors for unavailable data
We want to make it clear to the reader that the data is actually unavailable vs reading outside the bounds of the data space.
Change-Id: Ifb63dfe600c268af9e7df24397c28e20316dbb8f Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
eba0c34a | 12-Jan-2021 |
William A. Kennington III <wak@google.com> |
version-handler: Add session stat
We need to be able to inform the blob user of the readiness of blob data and how large the contents are.
Change-Id: Ic90f6e344160b48e7e58cb009558586c7c2fab9b Signe
version-handler: Add session stat
We need to be able to inform the blob user of the readiness of blob data and how large the contents are.
Change-Id: Ic90f6e344160b48e7e58cb009558586c7c2fab9b 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 ...
|
12e6e756 | 23-Dec-2020 |
William A. Kennington III <wak@google.com> |
version_handler: Read doesn't need to catch missing sessions
The read() interface from phosphor-ipmi-blobs will never call read with an invalid session, so we don't need to catch the exception if th
version_handler: Read doesn't need to catch missing sessions
The read() interface from phosphor-ipmi-blobs will never call read with an invalid session, so we don't need to catch the exception if the session doesn't exist.
Change-Id: I2ccb351b85d18a6eb96d4f92cfb3167a95f0509e Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
007c0166 | 23-Dec-2020 |
William A. Kennington III <wak@google.com> |
version_handler: Don't store session information immediately
This can cause spurious trigger aborts when open's fail and cleanup is called on the failed session.
Change-Id: I1c49f248b6f56bbecc0d51f
version_handler: Don't store session information immediately
This can cause spurious trigger aborts when open's fail and cleanup is called on the failed session.
Change-Id: I1c49f248b6f56bbecc0d51fafaabe871d23b1d7d Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
fbf4c532 | 23-Dec-2020 |
William A. Kennington III <wak@google.com> |
version-handler: Remove superfluous open session check
The phosphor-ipmi-flash API guarantees that calls to open() will not happen with duplicate session IDs.
Change-Id: Ife88b2743322387e5cc6ebe2b3
version-handler: Remove superfluous open session check
The phosphor-ipmi-flash API guarantees that calls to open() will not happen with duplicate session IDs.
Change-Id: Ife88b2743322387e5cc6ebe2b34567c3d2d2957a 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 ...
|
a62c1704 | 22-Dec-2020 |
William A. Kennington III <wak@google.com> |
version-handler: Remove create special cases
Our builder is validated to not pass invalid configurations to the handler. Since we can guarantee the invariant that we will never construct handlers wi
version-handler: Remove create special cases
Our builder is validated to not pass invalid configurations to the handler. Since we can guarantee the invariant that we will never construct handlers with null paramemters, we don't need have extra checks.
Change-Id: I48d24874298c1c5ead74724921c86ea0a022a53c 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 ...
|