BIOS/UEFI host firmware interfaces into OpenBMC (x86)
Jeremy Kerr
jk at codeconstruct.com.au
Sun Mar 7 12:31:51 AEDT 2021
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.
We have a serial MCTP binding implemented too, and there's also some
development happening on an i2c binding, if either of those are a
better fit.
Cheers,
Jeremy
More information about the openbmc
mailing list