skiboot-5.2.0

skiboot-5.2.0 was released on Wednesday March 16th, 2016.

skiboot-5.2.0 is the first stable release of skiboot 5.2, the new stable release of skiboot, which will take over from the 5.1.x series which was first released August 17th, 2015.

skiboot-5.2.0 contains all bug fixes as of skiboot-5.1.15.

This is the second release that will follow the (now documented) Skiboot stable rules - see Skiboot stable tree rules and releases.

Changes since rc2

Over skiboot-5.2.0-rc2, the following fixes are included:

  • Include ‘extract-gcov’ in make clean.
  • ipmi-sel: Fix esel event logger to handle early boot PANIC events
  • IPMI: Enable synchronous eSEL logging option (for PANIC events)
  • libflash/libffs: Reporting seeing all 0xFF bytes during init.
  • ipmi-sel: Fix memory leak in error path

Changes since rc1

Over skiboot-5.2.0-rc1, we have the following changes:

  • Add Barreleye platform

Generic

  • hw/p8-i2c: Speed up SMBUS_WRITE
  • Fix early backtraces

FSP Platforms

  • fsp-sensor: rework device tree for sensors
  • platforms/firenze: Fix I2C clock source frequency

Simics simulator

  • Enable Simics UART console

Mambo simulator

  • platforms/mambo: Add terminate callback
    • fix hang in multi-threaded mambo
    • add multithreaded mambo tests

IPMI

  • hw/ipmi: fix event data 1 for System Firmware Progress sensor
  • ipmi: Log exact NetFn value in OPAL logs

AST BMC based platforms

  • hw/bt: allow BT driver to use different buffer size

opal-prd utility

  • opal-prd: Add debug output for firmware-driven OCC events
    We indicate when we have a user-driven event, so add corresponding outputs for firmware-driven ones too.

getscom utility

  • Add Naples chip support

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%)