Skip to content

Commit c8643db

Browse files
committed
Add skiboot-5.5.0-rc2 release notes
Signed-off-by: Stewart Smith <[email protected]>
1 parent bd87856 commit c8643db

File tree

2 files changed

+180
-0
lines changed

2 files changed

+180
-0
lines changed

doc/opal-api/opal-npu2-141-142-143.rst

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _OPAL_NPU2:
2+
13
OPAL NPU2 calls
24
================
35

@@ -21,6 +23,8 @@ the PID used on the processor.
2123
The OPAL calls documented here are used to setup/destroy the
2224
appropriate context for a given process on a given NVLink2 device.
2325

26+
.. _OPAL_NPU_INIT_CONTEXT:
27+
2428
OPAL_NPU_INIT_CONTEXT
2529
---------------------
2630

@@ -40,6 +44,8 @@ Returns the context ID on success or ``OPAL_RESOURCE`` if no more
4044
contexts are available or ``OPAL_UNSUPPORTED`` in the case of
4145
unsupported MSR bits.
4246

47+
.. _OPAL_NPU_DESTROY_CONTEXT:
48+
4349
OPAL_NPU_DESTROY_CONTEXT
4450
------------------------
4551

@@ -51,6 +57,8 @@ Parameters: ::
5157
Destroys a previously allocated context ID. This may cause further
5258
translation requests from the GPU to fail.
5359

60+
.. _OPAL_NPU_MAP_LPAR:
61+
5462
OPAL_NPU_MAP_LPAR
5563
-----------------
5664

+172
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
.. _skiboot-5.5.0-rc2:
2+
3+
skiboot-5.5.0-rc2
4+
=================
5+
6+
skiboot-5.5.0-rc2 was released on Monday April 3rd 2017. It is the second
7+
release candidate of skiboot 5.5, which will become the new stable release
8+
of skiboot following the 5.4 release, first released November 11th 2016.
9+
10+
skiboot-5.5.0-rc2 contains all bug fixes as of :ref:`skiboot-5.4.3`
11+
and :ref:`skiboot-5.1.19` (the currently maintained stable releases).
12+
13+
For how the skiboot stable releases work, see :ref:`stable-rules` for details.
14+
15+
The current plan is to cut the final 5.5.0 by April 8th, with skiboot 5.5.0
16+
being for all POWER8 and POWER9 platforms in op-build v1.16 (Due April 12th).
17+
This is a short cycle as this release is mainly targetted towards POWER9
18+
bringup efforts.
19+
20+
Following skiboot-5.5.0, we will move to a regular six week release cycle,
21+
similar to op-build, but slightly offset to allow for a short stabilisation
22+
period. Expected release dates and contents are tracked using GitHub milestone
23+
and issues: https://github.com/open-power/skiboot/milestones
24+
25+
Over :ref:`skiboot-5.5.0-rc1`, we have the following changes:
26+
27+
NVLINK2
28+
-------
29+
30+
- Introduce NPU2 support
31+
32+
NVLink2 is a new feature introduced on POWER9 systems. It is an
33+
evolution of of the NVLink1 feature included in POWER8+ systems but
34+
adds several new features including support for GPU address
35+
translation using the Nest MMU and cache coherence.
36+
37+
Similar to NVLink1 the functionality is exposed to the OS as a series
38+
of virtual PCIe devices. However the actual hardware interfaces are
39+
significantly different which limits the amount of common code that
40+
can be shared between implementations in the firmware.
41+
42+
This patch adds basic hardware initialisation and exposure of the
43+
virtual NVLink2 PCIe devices to the running OS.
44+
45+
- npu2: Add OPAL calls for nvlink2 address translation services (see :ref:`OPAL_NPU2`)
46+
47+
Adds three OPAL calls for interacting with NPU2 devices:
48+
:ref:`OPAL_NPU_INIT_CONTEXT`, :ref:`OPAL_NPU_DESTROY_CONTEXT` and
49+
:ref:`OPAL_NPU_MAP_LPAR`.
50+
51+
These are used to setup and configure address translation services
52+
(ATS) for a process/partition on a given NVLink2 device.
53+
54+
55+
POWER9
56+
------
57+
- hdata/memory: ignore homer and occ reserved ranges
58+
59+
We populate these from the HOMER BARs in the PBA directly. There's no
60+
need to take the hostboot supplied values so just ignore the
61+
corresponding reserved ranges.
62+
63+
- hdata/vpd: Parse the OpenPOWER OPFR record
64+
65+
Parse the OpenPOWER FRU VPD (OPFR) record on OpenPOWER instead
66+
of the VINI records.
67+
68+
- hdata/vpd: Parse additional VINI records
69+
70+
These records provide hardware version details, CCIN extension information,
71+
card type details and hardware characteristics of the FRU
72+
73+
- hdata/cpu: account for p9 shared caches
74+
75+
On P9 the L2 and L3 caches are shared between pairs of SMT=4 cores.
76+
Currently this is not accounted for when creating caches nodes in
77+
the device tree. This patch adds additional checking so that a
78+
cache node is only created for the first core in the pair and
79+
the second core will reference the cache correctly.
80+
81+
- hdata: print backtraces on HDAT errors
82+
- hdat: ignore zero length reserves
83+
84+
Hostboot can export reserved regions with a length of zero and these
85+
should be ignored rather than being turned into reserved range. While
86+
we're here fix a memory leak by moving the "too large" region check
87+
to before we allocate space for the label.
88+
89+
- SLW: Add init for power9 power management
90+
91+
This patch adds new function to init core for power9 power management.
92+
SPECIAL_WKUP_* SCOM registers, if set, can hold the cores from going into
93+
idle states. Hence, clear PPM_SPECIAL_WKUP_HYP_REG scom register for each
94+
core during init. (This init are not required for MAMBO)
95+
96+
97+
PCI
98+
---
99+
100+
- hw/phb3: Adjust ECRC on root port dynamically
101+
102+
The Samsung NVMe adapter is lost when it's connected to PMC 8546 PCIe
103+
switch, until ECRC is disabled on the root port. We found similar issue
104+
prevously when Broadcom adapter is connected to same part of PCIe switch
105+
and it was fixed by commit 60ce59ccd0e9 ("hw/phb3: Disable ECRC on Broadcom
106+
adapter behind PMC switch"). Unfortunately, the commit doesn't fix
107+
the Samsung NVMe adapter lost issue.
108+
109+
This fixes the issues by disable ECRC generation/check on root port
110+
when PMC 8546 PCIe switch ports are found. This can be extended for
111+
other PCIe switches or endpoints in future: Each PHB maintains the
112+
count of PCI devices (PMC 8546 PCIe switch ports currently) which
113+
require to disable ECRC on root port. The ECRC functionality is
114+
enabled when first PMC 8546 switch port is probed and disabled when
115+
last PMC 8546 switch port is destroyed (in PCI hot remove scenario).
116+
Except PHB's reinitialization after complete reset, the ECRC on
117+
root port is untouched.
118+
119+
- core/pci: Fix lost NVMe adapter behind PMC 8546 switch
120+
121+
The NVMe adapter in below PCI topology is lost. The root cause is
122+
the presence bit on its PCI slot is missed, but the PCIe link has
123+
been up. The PCI core doesn't probe the adapter behind the slot,
124+
leading to lost NVMe adapter in the particular case.
125+
126+
- PHB3 root port
127+
- PLX switch 8748 (10b5:8748)
128+
- PLX swich 9733 (10b5:9733)
129+
- PMC 8546 swtich (11f8:8546)
130+
- NVMe adapter (1c58:0023)
131+
132+
This fixes the issue by overriding the PCI slot presence bit with
133+
PCIe link state bit.
134+
- hw/phb4: Locate AER capability position if necessary
135+
- core/pci: Disable surprise hotplug on root port
136+
- core/pci: Ignore PCI slot capability on root port
137+
138+
We are creating PCI slot on root port, where the PCI slot isn't
139+
supported from hardware. For this case, we shouldn't read the PCI
140+
slot capability from hardware. When bogus data returned from the
141+
hardware, we will attempt to the PCI slot's power state or enable
142+
surprise hotplug functionality. All of them can't be accomplished
143+
without hardware support.
144+
145+
This leaves the PCI slot's capability list 0 if PCICAP_EXP_CAP_SLOT
146+
isn't set in hardware (pcie_cap + 0x2). Otherwise, the PCI slot's
147+
capability list is retrieved from hardware (pcie_cap + 0x14).
148+
149+
150+
- phb4: Default to PCIe GEN2 on DD1
151+
152+
Default to PCIe GEN2 link speeds on DD1 for stability.
153+
154+
Can be overridden using nvram pcie-max-link-speed=4 parameter.
155+
156+
- phb3/4: Set max link speed via nvram
157+
158+
This adds an nvram parameter pcie-max-link-speed to configure the max
159+
speed of the pcie link. This can be set from the petitboot prompt
160+
using: ::
161+
162+
nvram -p ibm,skiboot --update-config pcie-max-link-speed=4
163+
164+
This takes preference over anything set in the device tree and is
165+
global to all PHBs.
166+
167+
Tests
168+
-----
169+
170+
- Mambo/Qemu boot tests: expect (and fail) on checkstop
171+
172+
This allows us to fail a lot faster if we checkstop

0 commit comments

Comments
 (0)