| <!DOCTYPE html> |
| |
| <html lang="en" data-content_root="../"> |
| <head> |
| <meta charset="utf-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> |
| |
| <title>skiboot-5.4.0-rc1 — skiboot d365a01 |
| documentation</title> |
| <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> |
| <link rel="stylesheet" type="text/css" href="../_static/classic.css?v=514cf933" /> |
| |
| <script src="../_static/documentation_options.js?v=e1fecbe9"></script> |
| <script src="../_static/doctools.js?v=888ff710"></script> |
| <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> |
| |
| <link rel="index" title="Index" href="../genindex.html" /> |
| <link rel="search" title="Search" href="../search.html" /> |
| <link rel="next" title="skiboot-5.4.0-rc2" href="skiboot-5.4.0-rc2.html" /> |
| <link rel="prev" title="skiboot-5.4.0" href="skiboot-5.4.0.html" /> |
| </head><body> |
| <div class="related" role="navigation" aria-label="related navigation"> |
| <h3>Navigation</h3> |
| <ul> |
| <li class="right" style="margin-right: 10px"> |
| <a href="../genindex.html" title="General Index" |
| accesskey="I">index</a></li> |
| <li class="right" > |
| <a href="skiboot-5.4.0-rc2.html" title="skiboot-5.4.0-rc2" |
| accesskey="N">next</a> |</li> |
| <li class="right" > |
| <a href="skiboot-5.4.0.html" title="skiboot-5.4.0" |
| accesskey="P">previous</a> |</li> |
| <li class="nav-item nav-item-0"><a href="../index.html">skiboot d365a01 |
| documentation</a> »</li> |
| <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> »</li> |
| <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc1</a></li> |
| </ul> |
| </div> |
| |
| <div class="document"> |
| <div class="documentwrapper"> |
| <div class="bodywrapper"> |
| <div class="body" role="main"> |
| |
| <section id="skiboot-5-4-0-rc1"> |
| <span id="id1"></span><h1>skiboot-5.4.0-rc1<a class="headerlink" href="#skiboot-5-4-0-rc1" title="Link to this heading">¶</a></h1> |
| <p>skiboot-5.4.0-rc1 was released on Monday October 17th 2016. It is the first |
| release candidate of skiboot 5.4, which will become the new stable release |
| of skiboot following the 5.3 release, first released August 2nd 2016.</p> |
| <p>skiboot-5.4.0-rc1 contains all bug fixes as of <a class="reference internal" href="skiboot-5.3.7.html#skiboot-5-3-7"><span class="std std-ref">skiboot-5.3.7</span></a> |
| and <a class="reference internal" href="skiboot-5.1.18.html#skiboot-5-1-18"><span class="std std-ref">skiboot-5.1.18</span></a> (the currently maintained stable releases).</p> |
| <p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p> |
| <p>The current plan is to release a new release candidate every week until we |
| feel good about it. The aim is for skiboot-5.4.x to be in op-build v1.13, which |
| is due by November 23rd 2016.</p> |
| <p>Over skiboot-5.3, we have the following changes:</p> |
| <section id="new-features"> |
| <h2>New Features<a class="headerlink" href="#new-features" title="Link to this heading">¶</a></h2> |
| <ul> |
| <li><p>Initial Trusted Boot support (see <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>). |
| There are several limitations with this initial release:</p> |
| <blockquote> |
| <div><ul class="simple"> |
| <li><p>CAPP partition is not measured correctly</p></li> |
| <li><p>Only Nuvoton TPM 2.0 is supported</p></li> |
| <li><p>Requires hardware rework on late revision Habanero or Firestone boards |
| in order to install TPM.</p></li> |
| </ul> |
| </div></blockquote> |
| <ul class="simple"> |
| <li><p>Add i2c Nuvoton TPM 2.0 Driver</p></li> |
| <li><p>romcode driver for POWER8 secure ROM</p></li> |
| <li><p>See Device tree docs for tpm and ibm,secureboot nodes</p></li> |
| <li><p>See main secure and trusted boot documentation.</p></li> |
| </ul> |
| </li> |
| <li><p>Fast reboot for P8</p> |
| <p>This makes reboot take an <em>awful</em> lot less time, somewhere between four |
| and ten times faster than a full IPL. It is currently experimental and not |
| enabled by default. |
| You can enable the experimental support via nvram option:</p> |
| <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># nvram -p ibm,skiboot --update-config experimental-fast-reset=feeling-lucky</span> |
| </pre></div> |
| </div> |
| <p><strong>WARNING</strong>: This has <em>known</em> bugs. For example, if you have used a device |
| in CAPI mode, we will currently <em>NOT</em> reset it back to plain PCI. There |
| are also some known issues in most simulators.</p> |
| </li> |
| <li><p>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition with skiboot configuration options.</p> |
| <ul class="simple"> |
| <li><p>These should generally only be used if you either completely know what |
| you are doing or need to work around a skiboot bug. They are <strong>not</strong> |
| intended for end users.</p></li> |
| <li><p>Add support for supplying the kernel boot arguments from the <code class="docutils literal notranslate"><span class="pre">bootargs</span></code> |
| configuration string in the <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition.</p></li> |
| <li><p>Enabling the experimental fast reset feature is done via this method.</p></li> |
| </ul> |
| </li> |
| <li><p>Add support for nap mode on P8 while in skiboot</p> |
| <ul class="simple"> |
| <li><p>While nap has been exposed to the Operating System since day 1, we have |
| not utilized low power states when in skiboot itself, leading to higher |
| power consumption during boot. |
| We only enable the functionality after the 0x100 vector has been |
| patched, and we disable it before transferring control to Linux.</p></li> |
| </ul> |
| </li> |
| <li><p>libflash: add 128MB MX66L1G45G part</p></li> |
| <li><p>Pointer validation of OPAL API call arguments.</p> |
| <ul class="simple"> |
| <li><p>If the kernel called an OPAL API with vmalloc’d address |
| or any other address range in real mode, we would hit |
| a problem with aliasing. Since the top 4 bits are ignored |
| in real mode, pointers from 0xc.. and 0xd.. (and other ranges) |
| could collide and lead to hard to solve bugs. This patch |
| adds the infrastructure for pointer validation and a simple |
| test case for testing the API</p></li> |
| <li><p>The checks validate pointers sent in using <code class="docutils literal notranslate"><span class="pre">opal_addr_valid()</span></code></p></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <section id="documentation"> |
| <h2>Documentation<a class="headerlink" href="#documentation" title="Link to this heading">¶</a></h2> |
| <p>There have been a number of documentation fixes this release. Most prominent |
| is the switch to Sphinx (from the Python project) and ReStructured Text (RST) |
| as the documentation format. RST and Sphinx enable both production of pretty |
| documentation in HTML and PDF formats while remaining readable in their raw |
| form to those with no knowledge of RST.</p> |
| <p>You can build a HTML site by doing the following:</p> |
| <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="n">doc</span><span class="o">/</span> |
| <span class="n">make</span> <span class="n">html</span> |
| </pre></div> |
| </div> |
| <p>As always, documentation patches are very, <em>very</em> welcome as we attempt to |
| document the OPAL API, the device tree bindings and important parts of |
| OPAL internals.</p> |
| <p>We would like the Device Tree documentation to follow the style that can be |
| included in the Device Tree Specification.</p> |
| </section> |
| <section id="general"> |
| <h2>General<a class="headerlink" href="#general" title="Link to this heading">¶</a></h2> |
| <ul> |
| <li><p>Make console-log time more readable: seconds rather than timebase |
| Log format is now <code class="docutils literal notranslate"><span class="pre">[SECONDS.(tb%512000000),LEVEL]</span></code></p></li> |
| <li><p>Flash (PNOR) code improvements</p> |
| <ul class="simple"> |
| <li><p>flash: Make size 64 bit safe |
| This makes the size of flash 64 bit safe so that we can have flash |
| devices greater than 4GB. This is especially useful for mambo disks |
| passed through to Linux.</p></li> |
| <li><p>core/flash.c: load actual partition size |
| We are downloading 0x20000 bytes from PNOR for CAPP, but currently the |
| CAPP lid is only 40K.</p></li> |
| <li><p>flash: Rework error paths and messages for multiple flash controllers |
| Now that we have mambo bogusdisk flash, we can have many flash chips. |
| This is resulting in some confusing output messages.</p></li> |
| </ul> |
| </li> |
| <li><p>core/init: Fix “failure of getting node in the free list” warning on boot.</p></li> |
| <li><p>slw: improve error message for SLW timer stuck</p></li> |
| <li><p>Centaur / XSCOM error handling</p> |
| <ul class="simple"> |
| <li><p>print message on disabling xscoms to centaur due to many errors</p></li> |
| <li><p>Mark centaur offline after 10 consecutive access errors</p></li> |
| </ul> |
| </li> |
| <li><p>XSCOM improvements</p> |
| <ul class="simple"> |
| <li><p>xscom: Map all HMER status codes to OPAL errors</p></li> |
| <li><p>xscom: Initialize the data to a known value in <code class="docutils literal notranslate"><span class="pre">xscom_read</span></code> |
| In case of error, don’t leave the data random. It helps debugging when |
| the user fails to check the error code. This happens due to a bug in the |
| PRD wrapper app.</p></li> |
| <li><p>chip: Add a quirk for when core direct control XSCOMs are missing</p></li> |
| </ul> |
| </li> |
| <li><p>p8-i2c: Don’t crash if a centaur errored out</p></li> |
| <li><p>cpu: Make endian switch message more informative</p></li> |
| <li><p>cpu: Display number of started CPUs during boot</p></li> |
| <li><p>core/init: ensure that HRMOR is zero at boot</p></li> |
| <li><p>asm: Fix backtrace for unexpected exception</p></li> |
| <li><p>cpu: Remove pollers calling heuristics from <code class="docutils literal notranslate"><span class="pre">cpu_wait_job</span></code> |
| This will be handled by <code class="docutils literal notranslate"><span class="pre">time_wait_ms()</span></code>. Also remove a useless |
| <code class="docutils literal notranslate"><span class="pre">smt_medium()</span></code>. |
| Note that this introduce a difference in behaviour: time_wait |
| will only call the pollers on the boot CPU while <code class="docutils literal notranslate"><span class="pre">cpu_wait_job()</span></code> |
| could call them on any. However, I can’t think of a case where |
| this is a problem.</p></li> |
| <li><p>cpu: Remove global job queue |
| Instead, target a specific CPU for a global job at queuing time. |
| This will allow us to wake up the target using an interrupt when |
| implementing nap mode. |
| The algorithm used is to look for idle primary threads first, then |
| idle secondaries, and finally the less loaded thread. If nothing can |
| be found, we fallback to a synchronous call.</p></li> |
| <li><p>lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing</p></li> |
| <li><p>lpc: Optimize SerIRQ dispatch based on which PSI IRQ fired</p></li> |
| <li><dl> |
| <dt>interrupts: Add new source <code class="docutils literal notranslate"><span class="pre">->attributes()</span></code> callback</dt><dd><p>This allows a given source to provide per-interrupt attributes |
| such as whether it targets OPAL or Linux and it’s estimated |
| frequency.</p> |
| <p>The former allows to get rid of the double set of ops used to |
| decide which interrupts go where on some modules like the PHBs |
| and the latter will be eventually used to implement smart |
| caching of the source lookups.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><p>opal/hmi: Fix a TOD HMI failure during a race condition.</p></li> |
| <li><p>platform: Add BT to Generic platform</p></li> |
| </ul> |
| </section> |
| <section id="nvram"> |
| <h2>NVRAM<a class="headerlink" href="#nvram" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> partition for skiboot specific configuration options</p></li> |
| <li><dl class="simple"> |
| <dt>flash: Size NVRAM based on ECC for OpenPOWER platforms</dt><dd><p>If NVRAM has ECC (as per the ffs header) then the actual size of the |
| partition is less than reported by the ffs header in the PNOR then the |
| actual size of the partition is less than reported by the ffs header.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="nvlink-npu"> |
| <h2>NVLink/NPU<a class="headerlink" href="#nvlink-npu" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>Fix reserved PE#</p></li> |
| <li><p>NPU bdfn allocation bugfix</p></li> |
| <li><dl class="simple"> |
| <dt>Fix bad PE number check</dt><dd><p>NPUs have 4 PEs which are zero indexed, so {0, 1, 2, 3}. A bad PE number |
| check in npu_err_inject checks if the PE number is greater than 4 as a |
| fail case, so it would wrongly perform operations on a non-existant PE 4.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><p>Use PCI virtual device</p></li> |
| <li><p>assert the NPU irq min is aligned.</p></li> |
| <li><p>program NPU BUID reg properly</p></li> |
| <li><dl class="simple"> |
| <dt>npu: reword “error” to indicate it’s actually a warning</dt><dd><p>Incorrect FWTS annotation. |
| Without this patch, you get spurious FirmWare Test Suite (FWTS) warnings |
| about NVLink not working on machines that aren’t fully populated with |
| GPUs.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><dl class="simple"> |
| <dt>external: NPU hardware procedure script</dt><dd><p>Performing NPU hardware procedures requires some config space magic. |
| Put all that magic into a script, so you can just specify the target |
| device and the procedure number.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="pci"> |
| <h2>PCI<a class="headerlink" href="#pci" title="Link to this heading">¶</a></h2> |
| <ul> |
| <li><p>Generic fixes</p> |
| <ul> |
| <li><p>Claim surprise hotplug capability</p></li> |
| <li><p>Reserve PCI buses for RC’s slot</p></li> |
| <li><p>Update PCI topology after power change</p></li> |
| <li><p>Return slot cached power state</p></li> |
| <li><p>Cache power state on slot without power control</p></li> |
| <li><p>Avoid hot resets at boot time</p></li> |
| <li><p>Fix initial PCIe slot power state</p></li> |
| <li><p>Print CRS retry times |
| It’s useful to know the CRS retry times before the PCI device is |
| detected successfully. In PCI hot add case, it usually indicates |
| time consumed for the adapter’s firmware to be partially ready |
| (responsive PCI config space).</p></li> |
| <li><p>core/pci: Fix the power-off timeout in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code> |
| The timeout should be 1000ms instead of 1000 ticks while powering |
| off PCI slot in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>. Otherwise, it’s likely to |
| hit timeout powering off the PCI slot as below skiboot logs reveal:</p> |
| <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mi">5399576870</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0005:02:11.0 Timeout powering off slot</span> |
| </pre></div> |
| </div> |
| </li> |
| </ul> |
| </li> |
| <li><p>PHB3</p> |
| <ul class="simple"> |
| <li><p>Override root slot’s <code class="docutils literal notranslate"><span class="pre">prepare_link_change()</span></code> with PHB’s</p></li> |
| <li><p>Disable surprise link down event on PCI slots</p></li> |
| <li><p>Disable ECRC on Broadcom adapter behind PMC switch</p></li> |
| </ul> |
| </li> |
| <li><p>astbmc platforms</p> |
| <ul class="simple"> |
| <li><p>Support dynamic PCI slot. We might insert a PCIe switch to PHB direct slot |
| and the downstream ports of the PCIe switch supports PCI hotplug.</p></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <section id="capi"> |
| <h2>CAPI<a class="headerlink" href="#capi" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><dl class="simple"> |
| <dt>hw/phb3: Update capi initialization sequence</dt><dd><p>The capi initialization sequence was revised in a circumvention |
| document when a ‘link down’ error was converted from fatal to Endpoint |
| Recoverable. Other, non-capi, register setup was corrected even before |
| the initial open-source release of skiboot, but a few capi-related |
| registers were not updated then, so this patch fixes it.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="ipmi"> |
| <h2>IPMI<a class="headerlink" href="#ipmi" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><dl class="simple"> |
| <dt>core/ipmi: Set interrupt-parent property</dt><dd><p>This allows ipmi-opal to properly use the OPAL irqchip rather than |
| falling back to the event interface in Linux.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="mambo-simulator"> |
| <h2>Mambo Simulator<a class="headerlink" href="#mambo-simulator" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>Helpers for POWER9 Mambo.</p></li> |
| <li><p>mambo: Advertise available RADIX page sizes</p></li> |
| <li><p>mambo: Add section for kernel command line boot args |
| Users can set kernel command line boot arguments for Mambo in a tcl |
| script.</p></li> |
| <li><p>mambo: add exception and qtrace helpers</p></li> |
| <li><p>external/mambo: Update skiboot.tcl to add page-sizes nodes to device tree</p></li> |
| </ul> |
| </section> |
| <section id="simics-simulator"> |
| <h2>Simics Simulator<a class="headerlink" href="#simics-simulator" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>chiptod: Enable ChipTOD in SIMICS</p></li> |
| </ul> |
| </section> |
| <section id="utilities"> |
| <h2>Utilities<a class="headerlink" href="#utilities" title="Link to this heading">¶</a></h2> |
| <ul> |
| <li><p>pflash</p> |
| <ul class="simple"> |
| <li><p>fix harmless buffer overflow: <code class="docutils literal notranslate"><span class="pre">fl_total_size</span></code> was <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> not <code class="docutils literal notranslate"><span class="pre">uint64_t</span></code>.</p></li> |
| <li><p>Don’t try to write protect when writing to flash file</p></li> |
| <li><p>Misc small improvements to code and code style</p></li> |
| <li><p>makefile bug fixes</p></li> |
| </ul> |
| </li> |
| <li><p>external/boot_tests</p> |
| <ul class="simple"> |
| <li><p>remove lid from the BMC after flashing</p></li> |
| <li><p>add the nobooting option -N</p></li> |
| <li><p>add arbitrary lid option -F</p></li> |
| </ul> |
| </li> |
| <li><dl> |
| <dt><code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code>: Parse chip-id as hex</dt><dd><p>We print the chip-id in hex (without a leading 0x), but we fail to |
| parse that same value correctly in <code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code></p> |
| <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># getscom -l</span> |
| <span class="o">...</span> |
| <span class="mi">80000000</span> <span class="o">|</span> <span class="n">DD2</span><span class="mf">.0</span> <span class="o">|</span> <span class="n">Centaur</span> <span class="n">memory</span> <span class="n">buffer</span> |
| <span class="c1"># getscom -c 80000000 201140a</span> |
| <span class="n">Error</span> <span class="o">-</span><span class="mi">19</span> <span class="n">reading</span> <span class="n">XSCOM</span> |
| </pre></div> |
| </div> |
| <p>Fix this by assuming base 16 when parsing chip-id.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="prd"> |
| <h2>PRD<a class="headerlink" href="#prd" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>opal-prd: Fix error code from <code class="docutils literal notranslate"><span class="pre">scom_read</span></code> and <code class="docutils literal notranslate"><span class="pre">scom_write</span></code></p></li> |
| <li><p>opal-prd: Add get_interface_capabilities to host interfaces</p></li> |
| <li><p>opal-prd: fix for 64-bit pnor sizes</p></li> |
| <li><dl class="simple"> |
| <dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt><dd><p>During an OCC reset cycle the system is forced to Psafe pstate. |
| When OCC becomes active, the system has to be restored to its |
| last pstate as requested by host. So host needs to be notified |
| of OCC_RESET event or else system will continue to remian in |
| Psafe state until host requests a new pstate after the OCC |
| reset cycle.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="ibm-fsp-based-platforms"> |
| <h2>IBM FSP Based Platforms<a class="headerlink" href="#ibm-fsp-based-platforms" title="Link to this heading">¶</a></h2> |
| <ul> |
| <li><dl class="simple"> |
| <dt>fsp/console: Allocate irq for each hvc console</dt><dd><p>Allocate an irq number for each hvc console and set its interrupt-parent |
| property so that Linux can use the opal irqchip instead of the |
| OPAL_EVENT_CONSOLE_INPUT interface.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><p>platforms/firenze: Fix clock frequency dt property:</p> |
| <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1.212366090</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">DT</span><span class="p">:</span> <span class="n">Unexpected</span> <span class="nb">property</span> <span class="n">length</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">3</span><span class="n">fc0000000000</span><span class="o">/</span><span class="n">i2cm</span><span class="nd">@a0020</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">frequency</span> |
| </pre></div> |
| </div> |
| </li> |
| <li><dl class="simple"> |
| <dt>HDAT: Fix typo in nest-frequency property</dt><dd><p>nest-frquency -> nest-frequency</p> |
| </dd> |
| </dl> |
| </li> |
| <li><dl class="simple"> |
| <dt>platforms/ibm-fsp: Use power_ctl bit when determining slot reset method</dt><dd><p>The power_ctl bit is used to represent if power management is available. |
| If power_ctl is set to true, then the I2C based external power management |
| functionality will be populated on the PCI slot. Otherwise we will try to |
| use the inband PERST as the fundamental reset, as before.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><dl class="simple"> |
| <dt>FSP/ELOG: Fix elog timeout issue</dt><dd><p>Presently we set timeout value as soon as we add elog to queue. If |
| we have multiple elogs to write, it doesn’t consider queue wait time. |
| Instead set timeout value when we are actually sending elog to FSP.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><dl class="simple"> |
| <dt>FSP/ELOG: elog_enable flag should be false by default</dt><dd><p>This issue is one of the corner case, which is related to recent change |
| went upstream and only observed in the petitboot prompt, where we see |
| only one error log instead of getting all error log in |
| <code class="docutils literal notranslate"><span class="pre">/sys/firmware/opal/elog</span></code>.</p> |
| </dd> |
| </dl> |
| </li> |
| </ul> |
| </section> |
| <section id="power9"> |
| <h2>POWER9<a class="headerlink" href="#power9" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>mambo: Make POWER9 look like DD2</p></li> |
| <li><dl class="simple"> |
| <dt>flash: Move flash node under <code class="docutils literal notranslate"><span class="pre">ibm,opal/flash/</span></code></dt><dd><p>This changes the boot ABI, so it’s only active for P9 and later systems, |
| even though it’s unrelated to hardware changes. There is an associated |
| Linux change to properly search for this node as well.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><p>core/cpu.c: Add OPAL call to setup Nest MMU</p></li> |
| <li><p>psi: On p9, create an interrupt-map for routing PSI interrupts</p></li> |
| <li><p>lpc: Add P9 LPC interrupts support</p></li> |
| <li><p>chiptod: Basic P9 support</p></li> |
| <li><p>psi: Add P9 support</p></li> |
| </ul> |
| </section> |
| <section id="testing-and-debugging"> |
| <h2>Testing and Debugging<a class="headerlink" href="#testing-and-debugging" title="Link to this heading">¶</a></h2> |
| <ul class="simple"> |
| <li><p>test/qemu: bump qemu version used in CI, adds IPMI support</p></li> |
| <li><p>platform/qemu: add BT and IPMI support |
| Enables testing BT and IPMI functionality in the Qemu simulator</p></li> |
| <li><p>init: In debug builds, enable debug output to console</p></li> |
| <li><dl class="simple"> |
| <dt>mem_region: Be a bit smarter about poisoning</dt><dd><p>Don’t poison chunks that are already free and poison regions on |
| first allocation. This speeds things up dramatically.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><dl class="simple"> |
| <dt>libc: Use 8-bytes stores for non-0 memset too</dt><dd><p>Memory poisoning hammers this, so let’s be a bit smart about it and |
| avoid falling back to byte stores when the data is not 0</p> |
| </dd> |
| </dl> |
| </li> |
| <li><p>fwts: add annotation for manufacturing mode</p></li> |
| <li><p>check: Fix bugs in mem region tests</p></li> |
| <li><dl class="simple"> |
| <dt>Don’t set -fstack-protector-all unconditionally</dt><dd><p>We set it already in DEBUG builds and we use -fstack-protector-strong |
| in release builds which provides most of the benefits and is more |
| efficient.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><dl class="simple"> |
| <dt>Build host programs (and checks) with debug enabled</dt><dd><p>This enables memory poisoning in allocations and list checking |
| among other things.</p> |
| </dd> |
| </dl> |
| </li> |
| <li><p>Add global DEBUG make flag</p></li> |
| </ul> |
| </section> |
| <section id="contributors"> |
| <h2>Contributors<a class="headerlink" href="#contributors" title="Link to this heading">¶</a></h2> |
| <p>Extending the analysis done for the last few releases, we can see our trends |
| in code review across versions:</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"><p>Release</p></th> |
| <th class="head"><p>csets</p></th> |
| <th class="head"><p>Ack</p></th> |
| <th class="head"><p>Reviews</p></th> |
| <th class="head"><p>Tested</p></th> |
| <th class="head"><p>Reported</p></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>5.0</p></td> |
| <td><p>329</p></td> |
| <td><p>15</p></td> |
| <td><p>20</p></td> |
| <td><p>1</p></td> |
| <td><p>0</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>5.1</p></td> |
| <td><p>372</p></td> |
| <td><p>13</p></td> |
| <td><p>38</p></td> |
| <td><p>1</p></td> |
| <td><p>4</p></td> |
| </tr> |
| <tr class="row-even"><td><p>5.2-rc1</p></td> |
| <td><p>334</p></td> |
| <td><p>20</p></td> |
| <td><p>34</p></td> |
| <td><p>6</p></td> |
| <td><p>11</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>5.3-rc1</p></td> |
| <td><p>302</p></td> |
| <td><p>36</p></td> |
| <td><p>53</p></td> |
| <td><p>4</p></td> |
| <td><p>5</p></td> |
| </tr> |
| <tr class="row-even"><td><p>5.4-rc1</p></td> |
| <td><p>278</p></td> |
| <td><p>8</p></td> |
| <td><p>19</p></td> |
| <td><p>0</p></td> |
| <td><p>4</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>This release has fewer changesets over previous 5.x first release candidates, |
| but that is not indicative of the size or complexity of these changes.</p> |
| <p>Processed 278 csets from 31 developers |
| A total of 17052 lines added, 4745 removed (delta 12307)</p> |
| <p>Developers with the most changesets</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Stewart Smith</p></td> |
| <td><p>71</p></td> |
| <td><p>(25.5%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td> |
| <td><p>50</p></td> |
| <td><p>(18.0%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Claudio Carvalho</p></td> |
| <td><p>38</p></td> |
| <td><p>(13.7%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Gavin Shan</p></td> |
| <td><p>20</p></td> |
| <td><p>(7.2%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Oliver O’Halloran</p></td> |
| <td><p>18</p></td> |
| <td><p>(6.5%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Mukesh Ojha</p></td> |
| <td><p>9</p></td> |
| <td><p>(3.2%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Cyril Bur</p></td> |
| <td><p>7</p></td> |
| <td><p>(2.5%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Russell Currey</p></td> |
| <td><p>7</p></td> |
| <td><p>(2.5%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Vasant Hegde</p></td> |
| <td><p>7</p></td> |
| <td><p>(2.5%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td> |
| <td><p>6</p></td> |
| <td><p>(2.2%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Michael Neuling</p></td> |
| <td><p>6</p></td> |
| <td><p>(2.2%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Alistair Popple</p></td> |
| <td><p>4</p></td> |
| <td><p>(1.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td> |
| <td><p>3</p></td> |
| <td><p>(1.1%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Vipin K Parashar</p></td> |
| <td><p>3</p></td> |
| <td><p>(1.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Balbir Singh</p></td> |
| <td><p>3</p></td> |
| <td><p>(1.1%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td> |
| <td><p>3</p></td> |
| <td><p>(1.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Frederic Barrat</p></td> |
| <td><p>3</p></td> |
| <td><p>(1.1%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Chris Smart</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Jack Miller</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Patrick Williams</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Jeremy Kerr</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Milton Miller</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Shilpasri G Bhat</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Frederic Bonnard</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Joel Stanley</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Breno Leitao</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Anton Blanchard</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Nicholas Piggin</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Nageswara R Sastry</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Cédric Le Goater</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Developers with the most changed lines</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Claudio Carvalho</p></td> |
| <td><p>6817</p></td> |
| <td><p>(38.2%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Stewart Smith</p></td> |
| <td><p>4677</p></td> |
| <td><p>(26.2%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td> |
| <td><p>2586</p></td> |
| <td><p>(14.5%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Gavin Shan</p></td> |
| <td><p>1005</p></td> |
| <td><p>(5.6%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Cyril Bur</p></td> |
| <td><p>509</p></td> |
| <td><p>(2.9%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Mukesh Ojha</p></td> |
| <td><p>361</p></td> |
| <td><p>(2.0%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Oliver O’Halloran</p></td> |
| <td><p>343</p></td> |
| <td><p>(1.9%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Russell Currey</p></td> |
| <td><p>343</p></td> |
| <td><p>(1.9%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Balbir Singh</p></td> |
| <td><p>227</p></td> |
| <td><p>(1.3%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td> |
| <td><p>194</p></td> |
| <td><p>(1.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Michael Neuling</p></td> |
| <td><p>121</p></td> |
| <td><p>(0.7%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Cédric Le Goater</p></td> |
| <td><p>115</p></td> |
| <td><p>(0.6%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Vipin K Parashar</p></td> |
| <td><p>68</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Alistair Popple</p></td> |
| <td><p>66</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Vasant Hegde</p></td> |
| <td><p>65</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Shilpasri G Bhat</p></td> |
| <td><p>45</p></td> |
| <td><p>(0.3%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Suraj Jitindar Singh</p></td> |
| <td><p>41</p></td> |
| <td><p>(0.2%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Nicholas Piggin</p></td> |
| <td><p>34</p></td> |
| <td><p>(0.2%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td> |
| <td><p>33</p></td> |
| <td><p>(0.2%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Jack Miller</p></td> |
| <td><p>32</p></td> |
| <td><p>(0.2%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Nageswara R Sastry</p></td> |
| <td><p>32</p></td> |
| <td><p>(0.2%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Jeremy Kerr</p></td> |
| <td><p>23</p></td> |
| <td><p>(0.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Mahesh Salgaonkar</p></td> |
| <td><p>21</p></td> |
| <td><p>(0.1%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Chris Smart</p></td> |
| <td><p>20</p></td> |
| <td><p>(0.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Milton Miller</p></td> |
| <td><p>19</p></td> |
| <td><p>(0.1%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Patrick Williams</p></td> |
| <td><p>11</p></td> |
| <td><p>(0.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Frederic Barrat</p></td> |
| <td><p>6</p></td> |
| <td><p>(0.0%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Anton Blanchard</p></td> |
| <td><p>3</p></td> |
| <td><p>(0.0%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Frederic Bonnard</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.0%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Joel Stanley</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.0%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Breno Leitao</p></td> |
| <td><p>2</p></td> |
| <td><p>(0.0%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Developers with the most lines removed</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Cyril Bur</p></td> |
| <td><p>299</p></td> |
| <td><p>(6.3%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Developers with the most signoffs (total 226)</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Stewart Smith</p></td> |
| <td><p>219</p></td> |
| <td><p>(96.9%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Alistair Popple</p></td> |
| <td><p>4</p></td> |
| <td><p>(1.8%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Cyril Bur</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Jeremy Kerr</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td> |
| <td><p>1</p></td> |
| <td><p>(0.4%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Developers with the most reviews (total 19)</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Mukesh Ojha</p></td> |
| <td><p>5</p></td> |
| <td><p>(26.3%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Andrew Donnellan</p></td> |
| <td><p>4</p></td> |
| <td><p>(21.1%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Vasant Hegde</p></td> |
| <td><p>3</p></td> |
| <td><p>(15.8%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Russell Currey</p></td> |
| <td><p>3</p></td> |
| <td><p>(15.8%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Balbir Singh</p></td> |
| <td><p>2</p></td> |
| <td><p>(10.5%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Cyril Bur</p></td> |
| <td><p>1</p></td> |
| <td><p>(5.3%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td> |
| <td><p>1</p></td> |
| <td><p>(5.3%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Developers with the most test credits (total 0)</p> |
| <p>Developers who gave the most tested-by credits (total 0)</p> |
| <p>Developers with the most report credits (total 4)</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Li Meng</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Gavin Shan</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Developers who gave the most report credits (total 4)</p> |
| <table class="docutils align-default"> |
| <thead> |
| <tr class="row-odd"><th class="head"></th> |
| <th class="head"></th> |
| <th class="head"></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Gavin Shan</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Vasant Hegde</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Russell Currey</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Stewart Smith</p></td> |
| <td><p>1</p></td> |
| <td><p>(25.0%)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| </section> |
| |
| |
| <div class="clearer"></div> |
| </div> |
| </div> |
| </div> |
| <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> |
| <div class="sphinxsidebarwrapper"> |
| <div> |
| <h3><a href="../index.html">Table of Contents</a></h3> |
| <ul> |
| <li><a class="reference internal" href="#">skiboot-5.4.0-rc1</a><ul> |
| <li><a class="reference internal" href="#new-features">New Features</a></li> |
| <li><a class="reference internal" href="#documentation">Documentation</a></li> |
| <li><a class="reference internal" href="#general">General</a></li> |
| <li><a class="reference internal" href="#nvram">NVRAM</a></li> |
| <li><a class="reference internal" href="#nvlink-npu">NVLink/NPU</a></li> |
| <li><a class="reference internal" href="#pci">PCI</a></li> |
| <li><a class="reference internal" href="#capi">CAPI</a></li> |
| <li><a class="reference internal" href="#ipmi">IPMI</a></li> |
| <li><a class="reference internal" href="#mambo-simulator">Mambo Simulator</a></li> |
| <li><a class="reference internal" href="#simics-simulator">Simics Simulator</a></li> |
| <li><a class="reference internal" href="#utilities">Utilities</a></li> |
| <li><a class="reference internal" href="#prd">PRD</a></li> |
| <li><a class="reference internal" href="#ibm-fsp-based-platforms">IBM FSP Based Platforms</a></li> |
| <li><a class="reference internal" href="#power9">POWER9</a></li> |
| <li><a class="reference internal" href="#testing-and-debugging">Testing and Debugging</a></li> |
| <li><a class="reference internal" href="#contributors">Contributors</a></li> |
| </ul> |
| </li> |
| </ul> |
| |
| </div> |
| <div> |
| <h4>Previous topic</h4> |
| <p class="topless"><a href="skiboot-5.4.0.html" |
| title="previous chapter">skiboot-5.4.0</a></p> |
| </div> |
| <div> |
| <h4>Next topic</h4> |
| <p class="topless"><a href="skiboot-5.4.0-rc2.html" |
| title="next chapter">skiboot-5.4.0-rc2</a></p> |
| </div> |
| <div role="note" aria-label="source link"> |
| <h3>This Page</h3> |
| <ul class="this-page-menu"> |
| <li><a href="../_sources/release-notes/skiboot-5.4.0-rc1.rst.txt" |
| rel="nofollow">Show Source</a></li> |
| </ul> |
| </div> |
| <div id="searchbox" style="display: none" role="search"> |
| <h3 id="searchlabel">Quick search</h3> |
| <div class="searchformwrapper"> |
| <form class="search" action="../search.html" method="get"> |
| <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> |
| <input type="submit" value="Go" /> |
| </form> |
| </div> |
| </div> |
| <script>document.getElementById('searchbox').style.display = "block"</script> |
| </div> |
| </div> |
| <div class="clearer"></div> |
| </div> |
| <div class="related" role="navigation" aria-label="related navigation"> |
| <h3>Navigation</h3> |
| <ul> |
| <li class="right" style="margin-right: 10px"> |
| <a href="../genindex.html" title="General Index" |
| >index</a></li> |
| <li class="right" > |
| <a href="skiboot-5.4.0-rc2.html" title="skiboot-5.4.0-rc2" |
| >next</a> |</li> |
| <li class="right" > |
| <a href="skiboot-5.4.0.html" title="skiboot-5.4.0" |
| >previous</a> |</li> |
| <li class="nav-item nav-item-0"><a href="../index.html">skiboot d365a01 |
| documentation</a> »</li> |
| <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> »</li> |
| <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc1</a></li> |
| </ul> |
| </div> |
| <div class="footer" role="contentinfo"> |
| © Copyright 2016-2017, IBM, others. |
| Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.2.6. |
| </div> |
| </body> |
| </html> |