[Skiboot] [RFC PATCH 0/3] OpenBMC MBOX work

Michael Neuling mikey at neuling.org
Wed Jan 18 16:44:24 AEDT 2017


We've been using these on P9 and they work great.

FWIW....

Acked-By: Michael Neuling <mikey at neuling.org>

Mikey


On Thu, 2017-01-12 at 16:26 +1100, Cyril Bur wrote:
> Hi,
> 
> On OpenBMC platforms we currently expect the BMC to have pointed the
> LPC bus at the flash where we can do flash read/writes/erases. This
> makes controlling access between the host and the BMC difficult.
> 
> A better strategy is to say that the BMC owns the flash and the host
> must request access. Doing so instantly solves the concurrent access
> problem but also allows for some abstraction of the flash by the BMC.
> How this is going to work is that skiboot requests access to (a region
> of) the flash and the BMC places it in its own RAM and points the LPC
> bus at it. The current implementation on the BMC is a copy of the
> flash into ram and a write back to the flash when needed but it could
> be much better.
> 
> These patches attempt to achieve this by using the MBOX registers to
> talk to the BMC and request the flash. Once requested the 'flash' can
> just be read from the LPC bus with the regular accessors, same for
> writing
> 
> There isn't really an 'official' specification of the protocol just
> yet although it is unlikely to change from what is there. As is
> obvious from the code some of the finer points as still being decided
> on.
> 
> It may be worth noting here that the BMC communication is done
> synchronously, not exactly fast. Future work may look at making this
> interface asynchronous where it makes sense.
> 
> Thanks for the review,
> 
> Cyril
> 
> Cyril Bur (3):
>   hw/lpc-mbox: Add skiboot drivers for the BMC mbox regs
>   libflash: blocklevel backend for MBOX flash access
>   astbmc/pnor: Use mbox-flash for flash accesses
> 
>  hw/Makefile.inc           |   2 +-
>  hw/ast-bmc/ast-io.c       |  28 +++
>  hw/lpc-mbox.c             | 300 +++++++++++++++++++++++++++
>  include/ast.h             |   4 +
>  include/lpc-mbox.h        |  58 ++++++
>  include/skiboot.h         |   1 +
>  libflash/Makefile.inc     |   2 +-
>  libflash/mbox-flash.c     | 515
> ++++++++++++++++++++++++++++++++++++++++++++++
>  libflash/mbox-flash.h     |  24 +++
>  platforms/astbmc/common.c |  38 ++++
>  platforms/astbmc/pnor.c   |  48 +++--
>  11 files changed, 1001 insertions(+), 19 deletions(-)
>  create mode 100644 hw/lpc-mbox.c
>  create mode 100644 include/lpc-mbox.h
>  create mode 100644 libflash/mbox-flash.c
>  create mode 100644 libflash/mbox-flash.h
> 


More information about the Skiboot mailing list