skiboot-5.1.0-beta1

skiboot-5.1.0-beta1 was released on July 21st, 2015.

skiboot-5.1.0-beta1 is the first beta release of skiboot 5.1, which will become a new stable release, replacing skiboot-5.0 (released April 14th 2015)

Skiboot 5.1-beta1 contains all fixes from skiboot-5.0 stable branch up to skiboot-5.0.5.

New features

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

  • Centaur i2c support
  • Add Naples chip (CPU, PHB, LPC serial interrupts) support
  • Added qemu platform
  • improvements to FSI error handling
  • improvements in chip TOD failover (some only on FSP systems)
  • Set Relative Priority Register (RPR) to recommended value
    • this affects thread priority in SMT modes
  • greatly reduce memory consumption by CPU stacks for non-present CPUs
    • Previously we would reserve enough memory for max PIR for each CPU type.
    • This fix frees up 77MB of RAM on a typical P8 system.
  • increased OPAL API documentation
  • Asynchronous preloading of resources from FSP/flash
    • improves boot time on some systems
  • Basic Garrison platform support
  • Add Mambo platform (P8 Functional Simulator, systemsim)
    • includes fake NVRAM, RTC
  • Support building with GCOV, increasing memory for skiboot binary to 2MB
    • includes boot code coverage testing
  • Increased skiboot HEAP size.
    • We are not aware of any system where you would run out, but on large systems it was getting closer than we liked.
  • add boot_tests.sh for helping automate boot testing on FSP and BMC machines
  • Versioning of pflash and gard utilities to help Linux (or other OS) distributions with packaging.
  • OCC throttle status messages to host
  • CAPP timebase sync (“ibm,capp-timebase-sync” in DT to indicate CAPP timebase was synced by OPAL)

New features for FSP based machines

  • in-band IPMI support
  • ethernet adaptor location codes
  • add DIMM frequency information to device tree
  • improvements in FSP error log code paths
  • fix some boot time memory leaks
    • harmless to end user

New features for AMI BMC based machines

  • PCIe power workaround for K80
  • Added support for Macronix 128Mbit flash chips
  • Initial PRD support for Firestone platform
  • improved reliability when BMC reboots

Bug Fixes

The following bugs have been fixed:

  • Increase PHB3 timeout for electrical links coming up to 2 seconds.
    • fixes issues with some Mellanox cards
  • Hang in opal_reinit_cpus() that could prevent kdump from functioning
  • PHB3: fix crash in phb3_init
  • PHB3: fix crash with fenced PHB in phb3_init_hw()
  • Fix bugs in hw/bt.c (interface for IPMI on BMC machines) that could possibly lead to a crash (dereferencing invalid address, deadlock)
  • ipmi/sel: fix use-after-free
  • Bug fixes in EEH handling
    • opal_pci_next_error() cleared OPAL_EVENT_PCI_ERROR unconditionally, possibly leading to missed errors.

FSP-specific bugs fixed:

  • (also fixed in skiboot-5.0.2) Fix race in firenze_get_slot_info() leading to assert() with many PCI cards

    With many PCI cards, we’d hit a race where calls to firenze_add_pcidev_to_fsp_inventory would step on each other leading to memory corruption and finally an assert() in the allocator being hit during boot.

  • PCIe power workaround for K80 cards

  • /ibm,opal/led renamed to /ibm,opal/leds in Device Tree

    • compatible change as no FSP based systems shipped with skiboot-5.0

General improvements:

  • don’t run pollers on non-boot CPUs in time_wait
  • improvements to opal-prd, pflash, libflash
    • including new blocklevel interface in libflash
  • many minor fixes to issues found by static analysis
  • improvements in FSP error log code paths
  • code cleanup in memory allocator
  • Don’t expose individual nvram partitions in the device tree, just the whole flash device.
  • build improvements for building on ppc64el host
  • improvements in cpu_relax() for idle threads, needed for GCOV on large machines.
  • Optimized memset() for POWER8, greatly reducing number of instructions executed for boot, which helps boot time in simulators.
  • Major improvements in hello_world kernel
    • Bloat of huge 17 instruction test case reduced to 10.
  • Disable bust_locks for general calls of abort()
    • Should enable better error messages during abort() when other users of LPC bus exist (e.g. flash)

Contributors

Thanks to everyone who has made skiboot-5.1.0-beta1 happen!

Processed 321 csets from 25 developers 3 employers found A total of 13696 lines added, 2754 removed (delta 10942)

Developers with the most changesets

Developer Changesets
Stewart Smith 101 (31.5%)
Benjamin Herrenschmidt 32 (10.0%)
Cyril Bur 31 (9.7%)
Vasant Hegde 28 (8.7%)
Jeremy Kerr 27 (8.4%)
Kamalesh Babulal 19 (5.9%)
Alistair Popple 12 (3.7%)
Mahesh Salgaonkar 12 (3.7%)
Neelesh Gupta 8 (2.5%)
Cédric Le Goater 8 (2.5%)
Joel Stanley 8 (2.5%)
Ananth N Mavinakayanahalli 8 (2.5%)
Gavin Shan 6 (1.9%)
Michael Neuling 6 (1.9%)
Frederic Bonnard 3 (0.9%)
Vipin K Parashar 2 (0.6%)
Vaidyanathan Srinivasan 2 (0.6%)
Philippe Bergheaud 1 (0.3%)
Shilpasri G Bhat 1 (0.3%)
Daniel Axtens 1 (0.3%)
Hari Bathini 1 (0.3%)
Michael Ellerman 1 (0.3%)
Andrei Warkentin 1 (0.3%)
Dan Horák 1 (0.3%)
Anton Blanchard 1 (0.3%)

Developers with the most changed lines

Developer Changed Lines
Stewart Smith 3987 (27.9%)
Benjamin Herrenschmidt 3811 (26.6%)
Cyril Bur 1918 (13.4%)
Jeremy Kerr 1307 (9.1%)
Mahesh Salgaonkar 886 (6.2%)
Vasant Hegde 764 (5.3%)
Neelesh Gupta 473 (3.3%)
Vipin K Parashar 176 (1.2%)
Alistair Popple 175 (1.2%)
Philippe Bergheaud 171 (1.2%)
Shilpasri G Bhat 165 (1.2%)
Cédric Le Goater 89 (0.6%)
Frederic Bonnard 78 (0.5%)
Gavin Shan 73 (0.5%)
Joel Stanley 65 (0.5%)
Kamalesh Babulal 63 (0.4%)
Michael Neuling 47 (0.3%)
Daniel Axtens 31 (0.2%)
Ananth N Mavinakayanahalli 22 (0.2%)
Anton Blanchard 3 (0.0%)
Vaidyanathan Srinivasan 2 (0.0%)
Hari Bathini 2 (0.0%)
Michael Ellerman 1 (0.0%)
Andrei Warkentin 1 (0.0%)
Dan Horák 1 (0.0%)

Developers with the most lines removed:

   
Vipin K Parashar 105 (3.8%)
Michael Neuling 24 (0.9%)
Hari Bathini 1 (0.0%)

Developers with the most signoffs (total 214)

Stewart Smith 214 (100.0%)

Developers with the most reviews (total 21)

   
Vasant Hegde 7 (33.3%)
Joel Stanley 3 (14.3%)
Gavin Shan 2 (9.5%)
Kamalesh Babulal 2 (9.5%)
Alistair Popple 2 (9.5%)
Stewart Smith 1 (4.8%)
Andrei Warkentin 1 (4.8%)
Preeti U Murthy 1 (4.8%)
Samuel Mendoza-Jonas 1 (4.8%)
Ananth N Mavinakayanahalli 1 (4.8%)

Developers with the most test credits (total 1)

   
Chad Larson 1 (100.0%)

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

   
Gavin Shan 1 (100.0%)

Developers with the most report credits (total 4)

   
Benjamin Herrenschmidt 2 (50.0%)
Chad Larson 1 (25.0%)
Andrei Warkentin 1 (25.0%)

Developers who gave the most report credits (total 4)

   
Stewart Smith 3 (75.0%)
Gavin Shan 1 (25.0%)

Top changeset contributors by employer

   
IBM 319 (99.4%)
dan@danny.cz 1 (0.3%)
andrey.warkentin@gmail.com 1 (0.3%)

Top lines changed by employer

   
IBM 14309 (100.0%)
dan@danny.cz 1 (0.0%)
andrey.warkentin@gmail.com 1 (0.0%)

Employers with the most signoffs (total 214)

IBM 214 (100.0%)

Employers with the most hackers (total 25)

   
IBM 23 (92.0%)
dan@danny.cz 1 (4.0%)
andrey.warkentin@gmail.com 1 (4.0%)