[Skiboot] [RFC PATCH 0/6] Real Asynchronous flash access

Stewart Smith stewart at linux.ibm.com
Thu Feb 28 17:18:20 AEDT 2019

This is an update to Cyril's old patchset that gets us real asynchronous
flash support.

As is, it's not quite ready for merge as it has some issues when we have
a hiomap backend.

Namely, since the way hiomap works is that it sends synchronous IPMI
messages and waits for the respones, this means we'd be calling pollers
recursively, and we throw a bunch of backtraces in that case because one
should Not Do That(TM).

I'm also not at all convinced that my last patch, the prepare() one, is
the right way to go.

I'm more thinking we may just need a different API to do async things?

Cyril Bur (4):
  core/flash: Allow OPAL flash calls for size equal to flash
  core/flash: Make flash_reserve() and flash_release() use any flash
  core/flash: Don't hold flash_lock for the entirety of an
  core/flash: Make opal_flash_op() actually asynchronous

Stewart Smith (2):
  qemu: 1ms heartbeat time
  libflash: add blocklevel_raw_prepare()

 core/flash.c                            | 175 +++++++++++++++++++-----
 core/timer.c                            |   7 +
 doc/opal-api/opal-flash-110-111-112.rst |   4 +
 hw/ipmi/ipmi-sel.c                      |   4 +-
 include/skiboot.h                       |   4 +-
 libflash/blocklevel.c                   |  22 +++
 libflash/blocklevel.h                   |   2 +
 libflash/ipmi-hiomap.c                  |  44 +++++-
 platforms/qemu/qemu.c                   |  10 ++
 9 files changed, 230 insertions(+), 42 deletions(-)


More information about the Skiboot mailing list