[Skiboot] [RFC PATCH v7 00/12] Ultravisor support in skiboot

Ryan Grimm grimm at linux.ibm.com
Tue Jul 7 02:14:27 AEST 2020


Oliver,

These are the latest and greatest patches which include feedback from Alexy.
They've gotten a decent amount of testing on Witherspoon and Swift.

Since the last version, the ucall calling convention has been fixed up.  While
I was at it I made sure the functions in ultravisor.h have nice comments.
Also, region used by Mambo and BML which contains the ultravisor firmware is
reserved properly.

I want to write a unit test for local_alloc and local_free, but, I spent a lot
of time and got stuck because I don't know what I'm doing.  I'll start a thread
about designing this test.

My last TODO was look into probing the partition to avoid passing
UV_LOAD_MAX_SIZE, but, I don't it's worth pulling in that probing code into
hdata/spira.c, don't you think it's OK to be lazy and use a sane define?  Or
would we want a ffs_part_get_sz in libffs.h that takes a name and returns a
size?

Thanks for taking my disable_pef patch, it has proved handy because users
accidentally have it turned on and now their run doesn't break.  So, I have the
code call disable_pef inside init_uv, to handle the case that the S bit is on
but there's no uv-fiwmare stuff in the device tree.

Thanks,
-Ryan

Madhavan Srinivasan (4):
  Add memcons support for ultravisor
  Add ultra call support for skiboot
  xscoms: read/write xscoms using ucall
  skiboot/imc: Disable IMC node when UV enabled

Ryan Grimm (8):
  doc/opal-uv-abi.rst
  Add functions to initialize and start an ultravisor
  skiboot.tcl: ultravisor support
  hdata/memory.c: Parse HDAT for secure memory
  hdata/spira.c: Create ibm,ultravisor dt node
  core/mem_region.c: Implement local free
  Load the ultravisor from flash and decompress
  Add obsolete secure-memory-ranges property

 asm/misc.S                  |  50 +++++
 core/flash.c                |   1 +
 core/init.c                 |   8 +-
 core/mem_region.c           |  32 +++
 doc/opal-uv-abi.rst         | 420 ++++++++++++++++++++++++++++++++++++
 external/mambo/skiboot.tcl  |  74 ++++++-
 hdata/memory.c              |  16 +-
 hdata/spira.c               |  60 ++++++
 hw/Makefile.inc             |   2 +-
 hw/fsp/fsp.c                |   2 +
 hw/imc.c                    |  10 +
 hw/ultravisor.c             | 181 ++++++++++++++++
 include/console.h           |   3 +
 include/debug_descriptor.h  |   1 +
 include/mem-map.h           |  16 +-
 include/mem_region-malloc.h |   3 +
 include/platform.h          |   1 +
 include/processor.h         |   7 +
 include/ultravisor.h        |  72 +++++++
 include/xscom.h             |   5 +
 20 files changed, 951 insertions(+), 13 deletions(-)
 create mode 100644 doc/opal-uv-abi.rst
 create mode 100644 hw/ultravisor.c
 create mode 100644 include/ultravisor.h

-- 
2.21.0



More information about the Skiboot mailing list