1.. _skiboot-5.10-rc3:
2
3skiboot-5.10-rc3
4================
5
6skiboot v5.10-rc3 was released on Thursday February 15th 2018. It is the third
7release candidate of skiboot 5.10, which will become the new stable release
8of skiboot following the 5.9 release, first released October 31st 2017.
9
10skiboot v5.10-rc3 contains all bug fixes as of :ref:`skiboot-5.9.8`
11and :ref:`skiboot-5.4.9` (the currently maintained stable releases). There
12may be more 5.9.x stable releases, it will depend on demand.
13
14For how the skiboot stable releases work, see :ref:`stable-rules` for details.
15
16The current plan is to cut the final 5.10 in February, with skiboot 5.10
17being for all POWER8 and POWER9 platforms in op-build v1.21.
18This release will be targeted to early POWER9 systems.
19
20Over skiboot-5.10-rc2, we have the following changes:
21
22- vas: Disable VAS/NX-842 on some P9 revisions
23
24  VAS/NX-842 are not functional on some P9 revisions, so disable them
25  in hardware and skip creating their device tree nodes.
26
27  Since the intent is to prevent OS from configuring VAS/NX, we remove
28  only the platform device nodes but leave the VAS/NX DT nodes under
29  xscom (i.e we don't skip add_vas_node() in hdata/spira.c)
30- phb4: Only escalate freezes on MMIO load where necessary
31
32  In order to work around a hardware issue, MMIO load freezes were
33  escalated to fences on every chip.  Now that hardware no longer requires
34  this, restrict escalation to the chips that actually need it.
35- pflash: Fix makefile dependency issue
36- DT: Add "version" property under ibm, firmware-versions node
37
38  First line of VERSION section in PNOR contains firmware version.
39  Use that to add "version" property under firmware versions dt node.
40
41  Sample output:
42
43  .. code-block:: console
44
45     root@xxx2:/proc/device-tree/ibm,firmware-versions# lsprop
46     version          "witherspoon-ibm-OP9_v1.19_1.94"
47
48- npu2: Disable TVT range check when in bypass mode
49
50  On POWER9 the GPUs need to be able to access the MMIO memory space. Therefore
51  the TVT range check needs to include the MMIO address space. As any possible
52  range check would cover all of memory anyway this patch just disables the TVT
53  range check all together when bypassing the TCE tables.
54- hw/npu2: support creset of npu2 devices
55
56  creset calls in the hw procedure that resets the PHY, we don't
57  take them out of reset, just put them in reset.
58
59  this fixes a kexec issue.
60- ATTN: Enable flush instruction cache bit in HID register
61
62  In P9, we have to enable "flush the instruction cache" bit along with
63  "attn instruction support" bit to trigger attention.
64- capi: Enable channel tag streaming for PHB in CAPP mode
65
66  We re-enable channel tag streaming for PHB in CAPP mode as without it
67  PEC was waiting for cresp for each DMA write command before sending a
68  new DMA write command on the Powerbus. This resulted in much lower DMA
69  write performance than expected.
70
71  The patch updates enable_capi_mode() to remove the masking of
72  channel_streaming_en bit in PBCQ Hardware Configuration Register. Also
73  does some re-factoring of the code that updates this register to use
74  xscom_write_mask instead of xscom_read followed by a xscom_write.
75- core/device.c: Fix dt_find_compatible_node
76
77  dt_find_compatible_node() and dt_find_compatible_node_on_chip() are used to
78  find device nodes under a parent/root node with a given compatible
79  property.
80
81  dt_next(root, prev) is used to walk the child nodes of the given parent and
82  takes two arguments - root contains the parent node to walk whilst prev
83  contains the previous child to search from so that it can be used as an
84  iterator over all children nodes.
85
86  The first iteration of dt_find_compatible_node(root, prev) calls
87  dt_next(root, root) which is not a well defined operation as prev is
88  assumed to be child of the root node. The result is that when a node
89  contains no children it will start returning the parent nodes siblings
90  until it hits the top of the tree at which point a NULL derefence is
91  attempted when looking for the root nodes parent.
92
93  Dereferencing NULL can result in undesirable data exceptions during system
94  boot and untimely non-hilarious system crashes. dt_next() should not be
95  called with prev == root. Instead we add a check to dt_next() such that
96  passing prev = NULL will cause it to start iterating from the first child
97  node (if any).
98- stb: Put correct label (for skiboot) into container
99
100  Hostboot will expect the label field of the stb header to contain
101  "PAYLOAD" for skiboot or it will fail to load and run skiboot.
102
103  The failure looks something like this: ::
104
105     53.40896|ISTEP 20. 1 - host_load_payload
106     53.65840|secure|Secureboot Failure plid = 0x90000755, rc = 0x1E07
107
108     53.65881|System shutting down with error status 0x1E07
109     53.67547|================================================
110     53.67954|Error reported by secure (0x1E00) PLID 0x90000755
111     53.67560|  Container's component ID does not match expected component ID
112     53.67561|  ModuleId   0x09 SECUREBOOT::MOD_SECURE_VERIFY_COMPONENT
113     53.67845|  ReasonCode 0x1e07 SECUREBOOT::RC_ROM_VERIFY
114     53.67998|  UserData1   : 0x0000000000000000
115     53.67999|  UserData2   : 0x0000000000000000
116     53.67999|------------------------------------------------
117     53.68000|  Callout type             : Procedure Callout
118     53.68000|  Procedure                : EPUB_PRC_HB_CODE
119     53.68001|  Priority                 : SRCI_PRIORITY_HIGH
120     53.68001|------------------------------------------------
121     53.68002|  Callout type             : Procedure Callout
122     53.68003|  Procedure                : EPUB_PRC_FW_VERIFICATION_ERR
123     53.68003|  Priority                 : SRCI_PRIORITY_HIGH
124     53.68004|------------------------------------------------
125- hw/occ: Fix fast-reboot crash in P8 platforms.
126
127  commit 85a1de35cbe4 ("fast-boot: occ: Re-parse the pstate table during fast-boot" )
128  breaks the fast-reboot on P8 platforms while reiniting the OCC pstates. On P8
129  platforms OPAL adds additional two properties #address-cells and #size-cells
130  under ibm,opal/power-mgmt/ DT node. While in fast-reboot same properties adding
131  back to the same node results in Duplicate properties and hence fast-reboot fails
132  with below traces. ::
133
134    [  541.410373292,5] OCC: All Chip Rdy after 0 ms
135    [  541.410488745,3] Duplicate property "#address-cells" in node /ibm,opal/power-mgt
136    [  541.410694290,0] Aborting!
137    CPU 0058 Backtrace:
138     S: 0000000031d639d0 R: 000000003001367c   .backtrace+0x48
139     S: 0000000031d63a60 R: 000000003001a03c   ._abort+0x4c
140     S: 0000000031d63ae0 R: 00000000300267d8   .new_property+0xd8
141     S: 0000000031d63b70 R: 0000000030026a28   .__dt_add_property_cells+0x30
142     S: 0000000031d63c10 R: 000000003003ea3c   .occ_pstates_init+0x984
143     S: 0000000031d63d90 R: 00000000300142d8   .load_and_boot_kernel+0x86c
144     S: 0000000031d63e70 R: 000000003002586c   .fast_reboot_entry+0x358
145     S: 0000000031d63f00 R: 00000000300029f4   fast_reset_entry+0x2c
146
147  This patch fixes this issue by removing these two properties on P8 while doing
148  OCC pstates re-init in fast-reboot code path.
149