Progress Codes in BMC

Patrick Williams patrick at stwcx.xyz
Tue Feb 2 13:45:50 AEDT 2021


On Mon, Feb 01, 2021 at 07:21:39PM -0500, Brad Bishop wrote:
> On Sat, Jan 30, 2021 at 08:31:26AM -0600, Patrick Williams wrote:
> >On Wed, Jan 27, 2021 at 08:05:26PM -0500, Brad Bishop wrote:
> >>
> >> There are multiple sources of the codes - on Power the power sequencing
> >> is done on the BMC and that is considered part of the server boot so we
> >> have both those applications indicating their progress along with the
> >> more traditional progress flowing down from system firmware.
> >
> >The `xyz.openbmc_project.State.Boot.Raw` is the interface to use here.
> >You just write the `Value` property.  
> 
> Ok.  Do I have it right - on any application that wants to post a 
> "progress code" you would just implement this interface on a single 
> (arbitrary?) path and continually write to the Value property?

I think it is even simpler than that.  You just need to make a dbus
client call to write to the Boot.Raw value.  This might happen from your
boot sequence on the BMC-side or from PLDM for the Host-side.

You will want the phosphor-post-code-manager application running, which will
listen to the PropertyChanged signals from Boot.Raw and keep the running
history for you.

There is also phosphor-host-postd.  Currently it has an implementation
that looks at LPC to get the post codes.  There was a proposed
implementation [1] that added multi-host support and I think support to
get the value directly from dbus client writes to Boot.Raw instead of
the lpc-snoop method.  Then there is code in fb-ipmi-oem that writes the
results of some IPMB messages into the Boot.Raw value[2].  Looking at
this I'm not positive that all the pieces are all there, but I think it
is mostly there.  Maybe check with the author on 1 to see where it is
at.

This design doc might be useful too [3].

1. https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-host-postd/+/36509
2. https://github.com/openbmc/fb-ipmi-oem/blob/master/src/biccommands.cpp#L76
3. https://github.com/openbmc/docs/blob/master/designs/multi-host-postcode.md

-- 
Patrick Williams
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210201/e90c3d8f/attachment.sig>


More information about the openbmc mailing list