Lines Matching +full:implementation +full:- +full:specific

7 - Su Xiao <suxiao@inspur.com>
8 - Derek Howard <derekh@us.ibm.com>
10 Created: 2019-06-03
28 - [phosphor-bmc-code-mgmt][2] implements BMC code update, and it supports all
30 - [openpower-pnor-code-mgmt][3] implements BIOS code update, and it only
33 - Both of the above use the same [Software DBus interface][1].
35 For PSU firmware update, it is preferred to re-use the same function for the
53 avoid power loss. This shall be handled by PSU vendor-specific tools, but not in
56 Note: The "vendor-specific" referred below is the PSU vendor-specific.
58 So the below checks are optional and expected to be handled by vendor-specific
70 - When the APIs are invoked;
71 - When a new version is updated together with BMC code update;
72 - When a PSU is replaced with an old version of the firmware.
78 It will re-use the current interfaces to upload, verify, and activate the image.
81 - Add a new [VersionPurpose][4] for PSU;
82 - Re-use the existing `ExtendedVersion` as an additional string for
83 vendor-specific purpose, e.g. to indicate the PSU model.
84 2. Re-use the existing functions implemented by [phosphor-bmc-code-mgmt][2] for
86 - The PSU update image shall be a tarball that consists of a MANIFEST,
88 - When the PSU image is uploaded and processed, a `VersionObject` shall be
92 - The service will be started by default when BMC starts;
93 - On start, the service will check the PSU's existing firmware and create the
95 - The service shall watch the interface added on
97 - When a new object with PSU `VersionPurpose` is added, the service will
99 - The service shall check the `ExtendedVersion` to make sure the image
101 - The service will have a configuration file to describe the PSU model and
102 its related vendor-specific tools.
103 - The service will find the matched vendor-specific tool to perform the code
104 update. For example, if a vendor specific tool `foo` is configured in
105 `psu-update@foo.service` which executes `foo psu.bin`, the service will
106 find the `psu-update@foo.service` and start it by systemd, which performs
108 - When the PSU code update is completed, an informational event log shall be
110 - When the PSU code update is completed, the image, MANIFEST, and optionally
111 the signature will be saved to a pre-defined directory in read-write
113 4. The vendor-specific tool shall run all the checks it needs to be run, before
116 5. When the vendor-specific tool returns errors, the PSU update will be aborted
119 non-functional, and when the update is done, it shall set the related sensors
131 - The pre-defined directory in read-only filesystem, which is part of BMC
133 - The other pre-defined directory in read-write filesystem, which is the
137 3. If PSU update is needed, the service will find the matched vendor-specific
153 3. If yes, the service will find the matched vendor-specific tool to perform the
159 ### General implementation
162 vendor-specific tools. It will be a bit simpler but loses the unified interface
168 It is possible to re-use the `VersionPurpose.Other` to represent the PSU image's
171 peripherals. A new `VersionPurpose.PSU` is more specific and makes it easier to
177 vendor-specific purpose, e.g. to indicate the PSU model, so the implementation
179 make it optional or remove this additional string, then the implementation will
192 - Link the vendor specific tool with PSU models.
193 - Get the sensors related to the PSU.
194 - etc.
202 - Verify the PSU code update is done on all PSUs successfully;
203 - Verify the PSU code update will fail if the vendor-specific tool fails on
204 pre-condition check, of fails on updating PSU.
205 - Verify the PSU code update is performed after a new BMC image is updated
207 - Verify the PSU code update is performed after a PSU with old (or different, if
211 https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/Software
212 [2]: https://github.com/openbmc/phosphor-bmc-code-mgmt/
213 [3]: https://github.com/openbmc/openpower-pnor-code-mgmt/
215 …https://github.com/openbmc/phosphor-dbus-interfaces/blob/57b878d048f929643276f1bf7fdf750abc4bde8b/…
217 …https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Software/…