aboutsummaryrefslogtreecommitdiff
path: root/doc/release-notes/skiboot-5.0.rst
blob: 0a62546ef35932ecce887585984825450831093c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
.. _skiboot-5.0:

===========
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