[Skiboot] [PATCH 00/17] FSP code free OPAL

Stewart Smith stewart at linux.ibm.com
Tue Jun 18 17:29:08 AEST 2019


This is mostly an RFC series, although I'd be interested in thoughts on
merging it. This does the bulk of the work to allow us to build a
skiboot without all the FSP support, which has had various tentacles
into core code for hysterical raisins.

It gets us a modest (52kb xz compressed, ~200k uncompressed) image size
benefit.

I've also done it in a way that would allow us to just have two link
targets, a skiboot-fsp.lid and a skiboot.lid (or a skiboot-nofsp.lid)
rather than it be an actual build option, which is something I kind of
like to be able to do.

I've only boot tested in qemu so far, so YMMV here :)

Stewart Smith (17):
  op_display: make platform function rather than "FSP" specific
  Move more FSP functions to FSP platform
  Split FSP OCC code out into hw/fsp/
  Move core/hostservices.c to platforms/ibm-fsp/
  host_services_occ_base_setup is core homer code not host_services
  core/init.c: use if (platform.bmc) rather than !fsp_present()
  core/init.c: no longer need to include FSP headers
  Move FSP specific op-panel calls to platform.exit()
  core/opal: move HIR trigger to FSP poller
  hw/fsp/fsp.c: remove lying comments
  core/pci: use !platform.bmc hack over fsp_present()
  fast-reboot: move platform specific bits to a platform call
  Move FSP-specific VPD functionality to platforms/ibm-fsp/
  core/timer: Use platform heartmeat_time call for FSP platforms
  Separate FSP specific PSI code
  Move platform specific PRD functionality to struct platform
  Experimental support for building without FSP code

 Makefile                                   |   3 +-
 core/Makefile.inc                          |   2 +-
 core/fast-reboot.c                         |   4 +-
 core/init.c                                |  30 +-
 core/opal.c                                |  14 -
 core/pci.c                                 |   3 +-
 core/platform.c                            |   6 +
 core/timer.c                               |   2 +-
 core/vpd.c                                 | 143 -------
 hw/fsp/Makefile.inc                        |   5 +-
 hw/fsp/fsp-occ.c                           | 424 +++++++++++++++++++++
 hw/fsp/fsp-op-panel.c                      |   6 +-
 hw/fsp/fsp-psi.c                           |  97 +++++
 hw/fsp/fsp.c                               |  26 +-
 hw/homer.c                                 |  25 ++
 hw/occ.c                                   | 389 +------------------
 hw/phb3.c                                  |   3 +-
 hw/phb4.c                                  |   3 +-
 hw/prd.c                                   |  36 +-
 hw/psi.c                                   |  94 +----
 include/fsp.h                              |   2 +
 include/hostservices.h                     |   3 -
 include/occ.h                              |   2 +
 include/platform.h                         |  53 +++
 include/psi.h                              |   2 +-
 include/vpd.h                              |   3 -
 platforms/astbmc/barreleye.c               |   1 +
 platforms/astbmc/firestone.c               |   1 +
 platforms/astbmc/garrison.c                |   1 +
 platforms/astbmc/habanero.c                |   1 +
 platforms/astbmc/p8dnu.c                   |   1 +
 platforms/astbmc/p8dtu.c                   |   2 +
 platforms/astbmc/p9dsu.c                   |   1 +
 platforms/astbmc/palmetto.c                |   1 +
 platforms/astbmc/romulus.c                 |   1 +
 platforms/astbmc/talos.c                   |   1 +
 platforms/astbmc/vesnin.c                  |   1 +
 platforms/astbmc/witherspoon.c             |   1 +
 platforms/astbmc/zaius.c                   |   1 +
 platforms/ibm-fsp/Makefile.inc             |   6 +-
 platforms/ibm-fsp/common.c                 |  48 +++
 platforms/ibm-fsp/firenze.c                |   6 +
 platforms/ibm-fsp/fsp-vpd.c                | 165 ++++++++
 {core => platforms/ibm-fsp}/hostservices.c |  24 --
 platforms/ibm-fsp/ibm-fsp.h                |  10 +
 platforms/ibm-fsp/zz.c                     |   6 +
 46 files changed, 936 insertions(+), 723 deletions(-)
 create mode 100644 hw/fsp/fsp-occ.c
 create mode 100644 hw/fsp/fsp-psi.c
 create mode 100644 platforms/ibm-fsp/fsp-vpd.c
 rename {core => platforms/ibm-fsp}/hostservices.c (96%)

-- 
2.21.0



More information about the Skiboot mailing list