skiboot 5.0¶
Skiboot 5.0 was released Friday 10th April 2015.
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):
General:
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 OPAL_FLASH_(READ|WRITE|ERASE)
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
POWER8
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.
POWER7
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