1.. _skiboot-5.0: 2 3=========== 4skiboot 5.0 5=========== 6 7Skiboot 5.0 was released Friday 10th April 2015. 8 9Changes in 5.0 (since rc3): 10 11 - Fix chip id for nx coprocessors. 12 - hw/ipmi: Fix FW Boot Progress sensor 13 - bt: Add a temporary workaround for bmc dropping messages 14 - FSP/CUPD: Fix lock issue 15 16Changes in rc3 (since rc2): 17 18 - add support for cec_power_down on mambo 19 - external/opal-prd: Use link register for cross-endian branch 20 - opal header file rework, Linux and skiboot now very closely match (API 21 in opal-api.h) 22 - libflash: don't use the low level interface if it doesn't exist 23 - libflash/file: add file abstraction for libflash 24 - external: create a GUARD partition parsing utility 25 26Changes in rc2 (since rc1): 27 28 - opal: Fix an issue where partial LID load causes opal to hang. 29 - nx: use proc_gen instead of param 30 - use chip id for NX engine Coproc Instance num 31 - Fix (hopefully) missing dot symbols in skiboot.map 32 - exceptions: Catch exceptions at boot time 33 - exceptions: Remove deprecated exception patching stuff 34 - mambo: Make mambo_utils.tcl optional 35 - mambo: Exit mambo when the simulation is stopped 36 - add NX register defines 37 - set NX crb input queues to 842 only 38 - core: Catch attempts to branch through a NULL pointer 39 - plat/firestone: Add missing platform hooks 40 - plat/firestone: Add missing platform hooks 41 - elog: Don't call uninitialized platform elog_commit 42 - external/opal-prd: Use "official" switch-endian syscall 43 - hw/ipmi: Rework sensors and fix boot count sensor 44 45Changes in rc1 (since 4.1.1): 46 47General: 48 49 * big OPAL API documentation updates 50 We now document around 19 OPAL calls. There's still ~100 left to doc 51 though :) 52 * skiboot can load FreeBSD kernel payload (thanks to Nathan Whitehorn) 53 * You can now run sparse by setting C=1 when building 54 * PSI: Revert the timeout for PSI link recovery to architected value 55 now 30mins (prev 15) 56 * cpuidle: Add validated metrics for idle states 57 * core/flash: Add flash API 58 OPAL_FLASH_(READ|WRITE|ERASE) 59 * capi: Dynamically calculate which CAPP port to use 60 no longer hardwired to PHB0 61 * vpd: Use slca parent-child relationship to create vpd tree 62 * opal: Do not overwrite same HMI event for multiple HMI errors. 63 Now Linux will get a HMI event for each HMI error 64 * HMI event v2 now includes information about checkstop 65 * HMI improvements, handle more conditions gracefully: 66 67 * TB residue error 68 * TFMR firmware control error 69 * TFMR parity 70 * TFMR HDEC parity error 71 * TFMR DEC parity error 72 * TFMR SPURR/PURR parity error 73 * TB residue and HDEC parity HMI errors on split core 74 * hostservices: Cache lids prior to first load request 75 * Warn when pollers are called with a lock held 76 and keep track of lock depth. 77 78 **NOTE:** This means we will get backtraces in skiboot msglog on FSP machines 79 This is a KNOWN ISSUE and is largely harmless. 80 There's still a couple that we haven't yet cleaned, these 81 messages can be thought of as a TODO list for developers. 82 83 * Don't run pollers in time_wait if lock held 84 * pci: Don't hang if we have only one CPU 85 * Detect recursive poller entry 86 * General cleanup 87 * Cleanup of opal.h so that we can have Linux and skiboot match 88 * add sparse annotations to opal.h 89 * Platform hooks for loading and preloading resources (LIDs) 90 This lays the groundwork for cutting 4-20 seconds off boot in a 91 future skiboot release. 92 * Fix potential race when clearing OCC interrupt status 93 * Add platform operation for reading sensors 94 95 * add support to read core and memory buffer temperatures 96 97Mambo/POWER8 Functional Simulator: 98 99 * Replace is_mambo_chip() with a better quirks mechanism. 100 * Don't hang if we only have one CPU and PCI. 101 102BMC systems: 103 104 * BMC can load payload from flash 105 * IPMI on BMC systems: graceful poweroff and reboot 106 * IPMI on BMC systems: watchdog timer support 107 * IPMI on BMC systems: PNOR locking 108 * Support for IPMI progress sensor 109 * IPMI boot count sensor 110 * capi: Rework microcode flash download and CAPP upload 111 load microcode on non-fsp systems 112 * NEW opal-prd userspace tool that handles PRD on non-FSP systems. 113 and OPAL PRD calls to support it. 114 * Improvements to opal-prd, libflash, and ipmi 115 * ECC support in libflash 116 * Load CAPI micro code, enabling CAPI on OpenPower systems. 117 * Dynamically calculate which CAPP port to use, don't hardcode to PHB0 118 * memboot flash backend 119 120POWER8 121 122 * add nx-842 coproc support 123 124FSP systems: 125 126 * Make abort() update sp attn area (like assert does) 127 On FSP systems this gives better error logs/dumps when abort() is hit 128 * FSP/LEDS: Many improvements and bug fixes 129 * LED support for FSP machines 130 Adds OPAL_LEDS_(GET|SET)_INDICATOR and device-tree bindings 131 * Refactor of fsp-rtc 132 * OCC loading fixes, including possible race condition where we would 133 fail to IPL. 134 135POWER7 136 137 * Fix unsupported return code of OPAL_(UN)REGISTER_DUMP_REGION on P7 138 * occ: Don't do bad XSCOMs on P7 139 The OCC interrupt register only exists on P8, accessing it on P7 causes 140 not only error logs but also causes PRD to eventually gard chips. 141 * cpu: Handle opal_reinit_cpus() more gracefully on P7 142 no longer generate error logs 143 * libflash updates for openpower 144 * misc code cleanup 145 * add nx-842 coproc support 146