BIOS/UEFI host firmware interfaces into OpenBMC (x86)

Andrew Jeffery andrew at aj.id.au
Sun Mar 7 14:26:57 AEDT 2021



On Sun, 7 Mar 2021, at 12:01, Jeremy Kerr wrote:
> Hi Mike,
> 
> > We could add the vendor specific support we need into our OpenBMC
> > port to handle our UEFI firmware’s POST-time data transfers, but
> > would prefer to first understand if there’s an emerging consensus
> > on what replaces IPMI over KCS for x86.
> 
> We've implemented a PLDM-over-MCTP stack for host-firmware-to-BMC
> communication:
> 
>  https://github.com/openbmc/docs/blob/master/designs/mctp/mctp.md
> 
> for the PLDM specifics:
> 
>  https://github.com/openbmc/docs/blob/master/designs/pldm-stack.md
> 
> 
> > From what I can tell from reading, the Open Power folks are going
> > with PLDM over MCTP over some interface (KCS or BT?) to enable host
> > firmware to BMC comms.
> 
> This isn't really OpenPOWER-specific; you should be able to do the same
> on x86, where just the hardware channel can be platform-specific.
> 
> In the implementations I've been working on, the hardware binding is a
> hybrid of the KCS channel (for synchronisation) plus the AST2x00
> hardware-based LPC memory-map (for the data transfers):
> 
>   https://github.com/openbmc/libmctp/blob/master/astlpc.c
> 
> - where that same code can be used on both the host-firmware and BMC
> sides, and should be fine for x86.

In addition the binding is documented here (which might be an easier read):

https://github.com/openbmc/libmctp/blob/192752301b9d98b8699e88ede61d75e96eaed4bb/docs/bindings/vendor-astlpc.md

Andrew


More information about the openbmc mailing list