skiboot-5.2.0-rc1
=================

skiboot-5.2.0-rc1 was released on Friday Feb 26th, 2016.

skiboot-5.2.0-rc1 is the first release candidate of skiboot 5.2, which will
become the new stable release of skiboot following the 5.1 release, first
released August 17th, 2015.

skiboot-5.2.0-rc1 contains all bug fixes as of skiboot-5.1.13.

This is the second release that will follow the (now documented) Skiboot
stable rules - see :ref:`stable-rules`.

The current plan is to release skiboot-5.2.0 mid-March 2016, with a focus on
bug fixing for future 5.2.0-rc releases.

New Features
^^^^^^^^^^^^

Over skiboot-5.1, the following features have been added:

- Naples (P8', i.e. P8 with NVLINK) processor support, including NVLINK.
- Improvements in gard, libflash/pflash and opal-prd utilities

  - increased testing
  - increased usability
  - systemd scripts for opal-prd
  - pflash can now use the /dev/mtd device to access BMC flash rather than
    accessing it directly. It is *important* that you use --mtd if your
    BMC may otherwise know how to interact with its own flash.
- support for Micron N25Q256Ax and N25Qx256Ax NOR flash.
- support for Winbond W25Q256BV NOR flash
- support for an emulated ("fake") RTC clock, useful in simulators
  and during bringup
- Explicit 1:1 mapping in ranges properties have been added to PCI
  bridges. This allows a neat trick with offb and VGA ports that should
  probably not be told to young children.
- Added support to read the V2 format of the OCC-OPAL memory region,
  which supports Workload Optimized Frequency (WOF)

Changes in behavior
^^^^^^^^^^^^^^^^^^^

- Assigning OPAL IDs to PHBs is now fixed and based on the chip id and PHB
  index on that chip. On POWER7, we continue to use allocated numbers.
- We now query the BMC for BT capabilities rather than making assumptions

Removed support
^^^^^^^^^^^^^^^

- p5ioc2 is no longer supported.
  This affects a grand total of two POWER7 systems in the world.

**NOTE**: It is planned that skiboot-5.2 will be the last release supporting
POWER7 machines.

Bugs fixed
^^^^^^^^^^

- PHB3: Fix unexpected ER (all) on errinjct by PCI config
- hw/bt: timeout messages when BT interface isn't functional
- On Habanero, Slot3 should have been "Slot 3".
- We now completely flush the console buffer before power down and reboot
- For chips with ibm,occ-functional-state set to false, we don't wait
  for the OCC to start. This caused needless delay in booting on simulators
  which did not simulate OCCs.
- Change OCC reset order to always reset slave OCCs first.
- slw: Remove overwrites for EX_PM_CORE_ECO_VRET and EX_PM_CORE_PFET_VRET
  (these were already initialized in hostboot)
- p8-i2c: send stop bit on timeouts.
  Some devices can otherwise leave the bus in a held state.

Other improvements
^^^^^^^^^^^^^^^^^^

- many fixes of compiler and static analysis warnings
- increased unit test coverage
- Unit test of "boot debian jessie installer"
- ability to plug in other simulators to run existing tests (e.g. simulator for
  non pegasus p8)
- Support using (patched) Qemu with PowerNV platform support for running
  unit tests.
- increased support for running with sparse
- We now build with -fstack-protector-strong if supported by the compiler
- We now build with -Werror for -Wformat
- pflash is now built as part of travis-ci and for Coverity Scan.
- There is now a RPM SPEC file that can be used as the basis for packaging
  skiboot and associated utilities.

Contributors
------------

We have had a number of improvements in workflow over skiboot-5.1.0. Looking
back, we have roughly the same number of changesets (372 for 5.1.0, 334 for
5.2.0-rc1 - even closer for 5.1.0-beta1) which indicates a relatively stable
rate of development.

Complete statistics are included below (generated by gitdm), but I'd like to
draw attention to a couple of stats:

======== ====== ======= ======= ======  ========
Release	 csets	Ack	Reviews	Tested	Reported
======== ====== ======= ======= ======  ========
5.0	 329	 15	     20	     1	       0
5.1	 372	 13	     38	     1	       4
5.2-rc1	 334	 20	     34	     6	      11
======== ====== ======= ======= ======  ========

Overall, it looks like we're on the right trajectory for increasing the number
of eyeballs looking at code before it heads in tree, especially around testing.
Largely, this increase in Tested-by can be attributed to encouraging the
existing test teams to start commenting on the patches themselves.

Anyway, here's the full stats from skiboot 5.1.0 to 5.2.0-rc1:

Processed 334 csets from 27 developers
2 employers found
A total of 46172 lines added, 23274 removed (delta 22898)

Developers with the most changesets

========================== ===========
========================== ===========
Stewart Smith              146 (43.7%)
Cyril Bur                   52 (15.6%)
Benjamin Herrenschmidt      15 (4.5%)
Joel Stanley                12 (3.6%)
Gavin Shan                  12 (3.6%)
Alistair Popple             10 (3.0%)
Vasant Hegde                10 (3.0%)
Michael Neuling             10 (3.0%)
Russell Currey               9 (2.7%)
Cédric Le Goater             8 (2.4%)
Jeremy Kerr                  8 (2.4%)
Samuel Mendoza-Jonas         6 (1.8%)
Neelesh Gupta                6 (1.8%)
Shilpasri G Bhat             4 (1.2%)
Oliver O'Halloran            4 (1.2%)
Mahesh Salgaonkar            4 (1.2%)
Vipin K Parashar             3 (0.9%)
Daniel Axtens                3 (0.9%)
Andrew Donnellan             2 (0.6%)
Philippe Bergheaud           2 (0.6%)
Ananth N Mavinakayanahalli   2 (0.6%)
Vaibhav Jain                 1 (0.3%)
Sam Mendoza-Jonas            1 (0.3%)
Adriana Kobylak              1 (0.3%)
Shreyas B. Prabhu            1 (0.3%)
Vaidyanathan Srinivasan      1 (0.3%)
Ian Munsie                   1 (0.3%)
========================== ===========

Developers with the most changed lines


========================== =============
========================== =============
Stewart Smith              19533 (39.4%)
Oliver O'Halloran          17920 (36.1%)
Alistair Popple             3285 (6.6%)
Daniel Axtens               2154 (4.3%)
Cyril Bur                   2028 (4.1%)
Benjamin Herrenschmidt       941 (1.9%)
Neelesh Gupta                434 (0.9%)
Gavin Shan                   294 (0.6%)
Russell Currey               261 (0.5%)
Vasant Hegde                 245 (0.5%)
Cédric Le Goater             209 (0.4%)
Vipin K Parashar             155 (0.3%)
Shilpasri G Bhat             153 (0.3%)
Joel Stanley                 140 (0.3%)
Vaidyanathan Srinivasan      135 (0.3%)
Michael Neuling              111 (0.2%)
Samuel Mendoza-Jonas          81 (0.2%)
Jeremy Kerr                   60 (0.1%)
Mahesh Salgaonkar             58 (0.1%)
Vaibhav Jain                  50 (0.1%)
Ananth N Mavinakayanahalli    43 (0.1%)
Shreyas B. Prabhu             17 (0.0%)
Sam Mendoza-Jonas             12 (0.0%)
Andrew Donnellan              10 (0.0%)
Ian Munsie                     8 (0.0%)
Philippe Bergheaud             6 (0.0%)
Adriana Kobylak                6 (0.0%)
========================== =============

Developers with the most lines removed

========================= =============
========================= =============
Daniel Axtens             2149 (9.2%)
Shreyas B. Prabhu           17 (0.1%)
Andrew Donnellan             9 (0.0%)
Vipin K Parashar             2 (0.0%)
========================= =============

Developers with the most signoffs (total 190)

========================= =============
========================= =============
Stewart Smith              188 (98.9%)
Gavin Shan                   1 (0.5%)
Neelesh Gupta                1 (0.5%)
========================= =============

Developers with the most reviews (total 34)

========================= =============
========================= =============
Patrick Williams             5 (14.7%)
Joel Stanley                 5 (14.7%)
Cédric Le Goater            5 (14.7%)
Vasant Hegde                 4 (11.8%)
Alistair Popple              4 (11.8%)
Sam Mendoza-Jonas            3 (8.8%)
Samuel Mendoza-Jonas         3 (8.8%)
Andrew Donnellan             2 (5.9%)
Cyril Bur                    2 (5.9%)
Vaibhav Jain                 1 (2.9%)
========================= =============

Developers with the most test credits (total 6)

========================= =============
========================= =============
Vipin K Parashar             3 (50.0%)
Vaibhav Jain                 2 (33.3%)
Gajendra B Bandhu1           1 (16.7%)
========================= =============

Developers who gave the most tested-by credits (total 6)

=========================== =============
=========================== =============
Gavin Shan                   2 (33.3%)
Ananth N Mavinakayanahalli    2 (33.3%)
Alistair Popple              1 (16.7%)
Stewart Smith                1 (16.7%)
=========================== =============

Developers with the most report credits (total 11)

========================= =============
========================= =============
Vaibhav Jain                 2 (18.2%)
Paul Nguyen                  2 (18.2%)
Alistair Popple              1 (9.1%)
Cédric Le Goater            1 (9.1%)
Aneesh Kumar K.V             1 (9.1%)
Dionysius d. Bell            1 (9.1%)
Pradeep Ramanna              1 (9.1%)
John Walthour                1 (9.1%)
Benjamin Herrenschmidt       1 (9.1%)
========================= =============

Developers who gave the most report credits (total 11)

========================= =============
========================= =============
Gavin Shan                   6 (54.5%)
Stewart Smith                3 (27.3%)
Samuel Mendoza-Jonas         1 (9.1%)
Shilpasri G Bhat             1 (9.1%)
========================= =============
