[Skiboot] Skiboot 5.0 released!

Stewart Smith stewart at linux.vnet.ibm.com
Tue Apr 14 09:00:49 AEST 2015

Hi all,

The other day I tagged skiboot-5.0. We had three release candidates, and
things have seemed fairly solid through the rc stage.

Not much has changed since the last rc, although a lot has changed since
the previous release (4.1.1). Full release notes below.


Release notes:
Changes in 5.0 (since rc3):
- Fix chip id for nx coprocessors.
- hw/ipmi: Fix FW Boot Progress sensor
- bt: Add a temporary workaround for bmc dropping messages
- FSP/CUPD: Fix lock issue

Changes in rc3 (since rc2):
- add support for cec_power_down on mambo
- external/opal-prd: Use link register for cross-endian branch
- opal header file rework, Linux and skiboot now very closely match (API
  in opal-api.h)
- libflash: don't use the low level interface if it doesn't exist
- libflash/file: add file abstraction for libflash
- external: create a GUARD partition parsing utility

Changes in rc2 (since rc1):
 opal: Fix an issue where partial LID load causes opal to hang.
 nx: use proc_gen instead of param
 use chip id for NX engine Coproc Instance num
 Fix (hopefully) missing dot symbols in skiboot.map
 exceptions: Catch exceptions at boot time
 exceptions: Remove deprecated exception patching stuff
 mambo: Make mambo_utils.tcl optional
 mambo: Exit mambo when the simulation is stopped
 add NX register defines
 set NX crb input queues to 842 only
 core: Catch attempts to branch through a NULL pointer
 plat/firestone: Add missing platform hooks
 plat/firestone: Add missing platform hooks
 elog: Don't call uninitialized platform elog_commit
 external/opal-prd: Use "official" switch-endian syscall
 hw/ipmi: Rework sensors and fix boot count sensor

Changes in rc1 (since 4.1.1):
  * big OPAL API documentation updates
    We now document around 19 OPAL calls. There's still ~100 left to doc
    though :)
  * skiboot can load FreeBSD kernel payload (thanks to Nathan Whitehorn)
  * You can now run sparse by setting C=1 when building
  * PSI: Revert the timeout for PSI link recovery to architected value
    now 30mins (prev 15)
  * cpuidle: Add validated metrics for idle states
  * core/flash: Add flash API
  * capi: Dynamically calculate which CAPP port to use
    no longer hardwired to PHB0
  * vpd: Use slca parent-child relationship to create vpd tree
  * opal: Do not overwrite same HMI event for multiple HMI errors.
    Now Linux will get a HMI event for each HMI error
  * HMI event v2 now includes information about checkstop
  * HMI improvements, handle more conditions gracefully:
    * TB residue error
    * TFMR firmware control error
    * TFMR parity
    * TFMR HDEC parity error
    * TFMR DEC parity error
    * TFMR SPURR/PURR parity error
    * TB residue and HDEC parity HMI errors on split core
  * hostservices: Cache lids prior to first load request
  * Warn when pollers are called with a lock held
    and keep track of lock depth.
    NOTE: This means we will get backtraces in skiboot msglog on FSP machines
	  This is a KNOWN ISSUE and is largely harmless.
	  There's still a couple that we haven't yet cleaned, these
	  messages can be thought of as a TODO list for developers.
  * Don't run pollers in time_wait if lock held
  * pci: Don't hang if we have only one CPU
  * Detect recursive poller entry
  * General cleanup
  * Cleanup of opal.h so that we can have Linux and skiboot match
  * add sparse annotations to opal.h
  * Platform hooks for loading and preloading resources (LIDs)
    This lays the groundwork for cutting 4-20 seconds off boot in a
    future skiboot release.
  * Fix potential race when clearing OCC interrupt status
  * Add platform operation for reading sensors
    * add support to read core and memory buffer temperatures

Mambo/POWER8 Functional Simulator:
  * Replace is_mambo_chip() with a better quirks mechanism.
  * Don't hang if we only have one CPU and PCI.

BMC systems:
  * BMC can load payload from flash
  * IPMI on BMC systems: graceful poweroff and reboot
  * IPMI on BMC systems: watchdog timer support
  * IPMI on BMC systems: PNOR locking
  * Support for IPMI progress sensor
  * IPMI boot count sensor
  * capi: Rework microcode flash download and CAPP upload
    load microcode on non-fsp systems
  * NEW opal-prd userspace tool that handles PRD on non-FSP systems.
    and OPAL PRD calls to support it.
  * Improvements to opal-prd, libflash, and ipmi
  * ECC support in libflash
  * Load CAPI micro code, enabling CAPI on OpenPower systems.
  * Dynamically calculate which CAPP port to use, don't hardcode to PHB0
  * memboot flash backend

  * add nx-842 coproc support

FSP systems:
  * Make abort() update sp attn area (like assert does)
    On FSP systems this gives better error logs/dumps when abort() is hit
  * FSP/LEDS: Many improvements and bug fixes
  * LED support for FSP machines
    Adds OPAL_LEDS_(GET|SET)_INDICATOR and device-tree bindings
  * Refactor of fsp-rtc
  * OCC loading fixes, including possible race condition where we would
    fail to IPL.

  * Fix unsupported return code of OPAL_(UN)REGISTER_DUMP_REGION on P7
  * occ: Don't do bad XSCOMs on P7
    The OCC interrupt register only exists on P8, accessing it on P7 causes
    not only error logs but also causes PRD to eventually gard chips.
  * cpu: Handle opal_reinit_cpus() more gracefully on P7
    no longer generate error logs
  * libflash updates for openpower
  * misc code cleanup
  * add nx-842 coproc support

More information about the Skiboot mailing list