[Skiboot] [PATCH] DT: Add "IBM" version property under ibm, firmware-versions node

Stewart Smith stewart at linux.vnet.ibm.com
Wed Jan 17 19:56:16 AEDT 2018


Vasant Hegde <hegdevasant at linux.vnet.ibm.com> writes:
> Looks like latest firmware (at least IBM build) has IBM release string
> in VERSION section of PNOR. Lets add that to device tree.
>
> Sample output:
> --------------
> /proc/device-tree/ibm,firmware-versions# lsprop
> occ              "dbb4d7e"
> skiboot          "v5.9"
> buildroot        "2017.08-8-g5e23247"
> IBM              "witherspoon-ibm-OP9_v1.19_1.73"
> .....

(Adding in Pam who does the builds for the IBM firmware mentioned above,
as I have questions/thoughts, and Sam, as he gets to be the poor person
implementing a bunch of the comparison, as well as Adrianna who may care
about it from an OpenBMC perspective.)

Our current documentation on what should be in the
/ibm,firmware-versions device tree node is up at:
https://github.com/open-power/skiboot/blob/master/doc/device-tree/ibm%2Cfirmware-versions.rst
(originally posted/discussed up at
https://patchwork.ozlabs.org/patch/730916/ )

The purpose of writing all of it down in a really strict fashion was to
set expectations for both IBM and others so that we could write *really*
reliable code to work out if the new firmware we're about to flash is
newer/older than what we're running.

So, say from a UI in Petitboot (or out of band I guess), we could
suitably display a warning if the user is trying to downgrade firmware.

We'd also be able to implement a web service to provide firmware
updates, automatically downloading/applying (or on user request) any
update that was newer.

(and Sam has prototypes of this for Petitboot, if we're *really* lucky
we could ship it at some point)

The spec is *heavily* inspired by debian/fedora package versioning
schemes.

I see a couple of issues with this patch as-is:

a) The property should be 'version' rather than IBM. This allows all
software doing the compare to find the global version string easily.

In this spec, the underscores aren't mentioned, so we either need to:
1) Change the documentation to say "underscores treated as dashes"
2) Change the build to use dashes.

Pam: what are your thoughts here? Any strong feelings one way or
another? Does anything rely on the underscores? I think the dashes end
up conforming a bit better to what we specced out in the docs above, and
it's a bit simpler than adding an extra burden on code parsing the
version string.

Sam: any thoughts/input on it?

Adriana: Anything from the OpenBMC side where you may want to do
anything interesting with comparing host firmware version numbers with <
rather than just = or not? I'm guessing the Web UI may want to warn on
downgrade or something in the future?

-- 
Stewart Smith
OPAL Architect, IBM.



More information about the Skiboot mailing list