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