skiboot-5.3.0-rc1

skiboot-5.3.0-rc1 was released on Monday July 25th, 2016

skiboot-5.3.0-rc1 is the first release candidate of skiboot 5.3, which will become the new stable release of skiboot following the 5.2 release, first released March 16th 2016.

skiboot-5.3.0-rc1 contains all bug fixes as of skiboot-5.1.16 and skiboot-5.2.4 (the existing stable releases).

For how the skiboot stable releases work, see Skiboot stable tree rules and releases.

The current plan is to release skiboot-5.3.0 August 1st 2016.

Over skiboot-5.2, we have the following changes:

OPAL API/Device Tree

  • Reserve OPAL API numbers for XICS emulation for XIVE

    Additionally, we put in some skeleton docs for what’s coming, key points being that this is for P9 and above, relies on a device being present in the device tree and is modelled on the PAPR calls.

  • interrupts: Remove #interrupt-cells from ICP nodes

  • Stop adding legacy linux, phandle to device tree, just add phandle No Linux kernel has ever existed for powernv that only knows linux,phandle.

POWER9

  • Add base POWER9 support In NO WAY is this geared towards real POWER9 hardware. Suitable for use in simulators only, and even then, only if you intensely know what you’re doing.

  • Document changes in OPAL API for POWER9 Some things are going to change, we start documenting them.

  • cpu: supply ibm,dec-bits via devicetree

  • power9: Add example device tree for phb4

  • device-tree: Only advertise ibm, opal-v3 (not v2) on POWER9 and above

CAPI

  • phb3: Test CAPI mode on both CAPP units on Naples

  • hmi: Recover both CAPP units on Naples after malfunction alert

  • chiptod: Sync timebase in both CAPP units on Naples

  • phb3: Set CAPI mode for both CAPP units on Naples

  • phb3: Load CAPP ucode to both CAPP units on Naples

  • phb3: Add support for CAPP DMA mode

    The XSL used in the Mellanox CX4 card uses a DMA mode of CAPI, which requires a few registers configured specially. This adds a new mode to the OPAL_PCI_SET_PHB_CAPI_MODE API to enable CAPI in DMA mode.

PCI

  • pci: Do a dummy config write to devices to establish bus number

  • phb: Work around XSL bug sending PTE updates with wrong scope

  • Support for PCI hotplug (if a platform supports it)

Garrison

  • NVLink/NPU support

  • Full garrison platform support.

BMC based platforms

  • bt: use the maximum retry count returned by the BMC

  • SEL: Fix eSEL ID while logging eSEL event

    Commit 127a7dac added eSEL ID to SEL event in reverse order (0700 instead of 0007). This code fixes this issue by adding ID in proper order.

Tests/Simulation

  • test/hello_world: always use shutdown type zero

  • make check: make test runs less noisy

  • boot-tests: force booting from primary (non-golden) side

  • mambo: Enable multicore configurations

  • mambo: Flatten device tree at the end

  • mambo: Increase memory to 4GB and change memory map

  • Timebase quirk for slow simulators like AWAN and SIMICS

  • chip: Add simics specific quirks

  • mambo: Flash driver using bogus disk

  • platform/mambo: Add a heartbeat time, making console more responsive

  • mambo: Fix bt command and add little endian support

FSP platforms

  • beginnings of support for SPIRA-S structure

  • Handle mbox response with bad status:0x24 during FSP termination

  • FSP: Validate fsp_msg response memory allocation

  • FSP/ELOG: Fix OPAL generated elog event notification

  • FSP/ELOG: Disable event notification during kexec Possible crash if error log timing around kexec is unfortunate

  • fsp/console: Ignore data on unresponsive consoles

    Linux kernels from v4.1 onwards will try to request an irq for each hvc console using OPAL_EVENT_CONSOLE_INPUT, however because the IRQF_SHARED flag is not set any console after the first will fail. If there is data on one of these failed consoles OPAL will set OPAL_EVENT_CONSOLE_INPUT every time fsp_console_read is called, leading to RCU stalls in the kernel.

    As a workaround for unpatched kernels, cease setting OPAL_EVENT_CONSOLE_INPUT for consoles that we have noticed are not being read.

HMI

  • hmi: Fix a bug where partial hmi event was reported to host.

  • hmi: Add handling for NPU checkstops

  • hmi: Only raise a catchall HMI if no other components have

  • hmi: Rework HMI event handling of FIR read failure

Tools

  • external: Add a getsram command

    The getsram command reads the OCC SRAM. This is useful for debug.

  • bug fixes in flash utilities (pflash/gard)

  • pflash: Allow building under yocto.

  • external/opal-prd: Ensure that struct host_interfaces matches the thunk

  • external/pflash: Handle incorrect cmd-line options better

  • libflash: fix bug on reading truncated flash file

  • pflash: add support for manipulating file rather than flash

  • gard: fix compile error on ARM

  • libflash: Add sanity checks to ffs init code.

  • external: Add dynamically linked pflash

Mambo

  • Test device tree for kernel location

    This can reduce the boot time since the kernel no longer needs to relocate itself when loaded directly at 0.

Generic

  • hw/lpc: Log LPC SYNC errors as OPAL_PLATFORM_ERR_EVT errors

  • Explicitly disable the attn instruction on all CPUs on boot.

  • hw/xscom: Reset XSCOM engine after finite number of retries when busy

  • hw/xscom: Reset XSCOM engine after querying sleeping core FIR

  • core/timer: Add support for platform specific heartbeat

  • Fix GCOV_COUNTERS ifdef logic for GCC 6.0

  • core: Fix backtrace for gcc 6 fixes a compiler warning on GCC 6 and above

  • cpu: Don’t call time_wait with lock held

    Also make the locking around re-init safer, properly block the OS from restarting a thread that was caught for re-init.

  • flash: Increase the maximum number of flash devices

Contributors

Extending the analysis done for the last few releases, we can see our trends in code review across versions:

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

5.3-rc1

302

36

53

4

5

An increase in reviews this cycle is great!

Detailed statistics for 5.3.0-rc1 are below:

Processed 302 csets from 31 developers A total of 20887 lines added, 4540 removed (delta 16347)

Developers with the most changesets

Stewart Smith

82 (27.2%)

Gavin Shan

36 (11.9%)

Benjamin Herrenschmidt

28 (9.3%)

Michael Neuling

25 (8.3%)

Vasant Hegde

24 (7.9%)

Russell Currey

14 (4.6%)

Brad Bishop

12 (4.0%)

Vipin K Parashar

10 (3.3%)

Cédric Le Goater

9 (3.0%)

Shreyas B. Prabhu

8 (2.6%)

Jeremy Kerr

7 (2.3%)

Philippe Bergheaud

6 (2.0%)

Cyril Bur

5 (1.7%)

Mukesh Ojha

4 (1.3%)

Alistair Popple

4 (1.3%)

Ian Munsie

4 (1.3%)

Oliver O’Halloran

3 (1.0%)

Chris Smart

3 (1.0%)

Sam Mendoza-Jonas

2 (0.7%)

Joel Stanley

2 (0.7%)

Dinar Valeev

2 (0.7%)

Shilpasri G Bhat

2 (0.7%)

Patrick Williams

2 (0.7%)

Deb McLemore

1 (0.3%)

Balbir Singh

1 (0.3%)

Andrew Donnellan

1 (0.3%)

Suraj Jitindar Singh

1 (0.3%)

Frederic Bonnard

1 (0.3%)

Kamalesh Babulal

1 (0.3%)

Mamatha

1 (0.3%)

Mahesh Salgaonkar

1 (0.3%)

Developers with the most changed lines

Benjamin Herrenschmidt

7491 (34.4%)

Gavin Shan

4821 (22.1%)

Vasant Hegde

4740 (21.7%)

Stewart Smith

1294 (5.9%)

Michael Neuling

620 (2.8%)

Cédric Le Goater

470 (2.2%)

Jeremy Kerr

338 (1.6%)

Shreyas B. Prabhu

330 (1.5%)

Vipin K Parashar

305 (1.4%)

Russell Currey

295 (1.4%)

Alistair Popple

229 (1.1%)

Philippe Bergheaud

170 (0.8%)

Ian Munsie

133 (0.6%)

Dinar Valeev

126 (0.6%)

Brad Bishop

80 (0.4%)

Oliver O’Halloran

80 (0.4%)

Cyril Bur

62 (0.3%)

Frederic Bonnard

61 (0.3%)

Sam Mendoza-Jonas

32 (0.1%)

Chris Smart

27 (0.1%)

Shilpasri G Bhat

20 (0.1%)

Patrick Williams

18 (0.1%)

Suraj Jitindar Singh

17 (0.1%)

Mamatha

15 (0.1%)

Mukesh Ojha

8 (0.0%)

Mahesh Salgaonkar

8 (0.0%)

Joel Stanley

4 (0.0%)

Balbir Singh

4 (0.0%)

Kamalesh Babulal

2 (0.0%)

Deb McLemore

1 (0.0%)

Andrew Donnellan

1 (0.0%)

Developers with the most lines removed

Dinar Valeev

68 (1.5%)

Patrick Williams

10 (0.2%)

Mukesh Ojha

4 (0.1%)

Kamalesh Babulal

1 (0.0%)

Developers with the most signoffs (total 249)

Stewart Smith

236 (94.8%)

Vaidyanathan Srinivasan

6 (2.4%)

Benjamin Herrenschmidt

3 (1.2%)

Michael Neuling

2 (0.8%)

Oliver O’Halloran

1 (0.4%)

Vipin K Parashar

1 (0.4%)

Developers with the most reviews (total 53)

Andrew Donnellan

11 (20.8%)

Russell Currey

9 (17.0%)

Joel Stanley

7 (13.2%)

Alistair Popple

7 (13.2%)

Mukesh Ojha

5 (9.4%)

Cyril Bur

3 (5.7%)

Mahesh Salgaonkar

2 (3.8%)

Gavin Shan

2 (3.8%)

Vasant Hegde

2 (3.8%)

Stewart Smith

1 (1.9%)

Vaidyanathan Srinivasan

1 (1.9%)

Vipin K Parashar

1 (1.9%)

Frederic Barrat

1 (1.9%)

Cédric Le Goater

1 (1.9%)

Developers with the most test credits (total 4)

Andrew Donnellan

2 (50.0%)

Russell Currey

1 (25.0%)

Vaibhav Jain

1 (25.0%)

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

Michael Neuling

3 (75.0%)

Gavin Shan

1 (25.0%)

Developers with the most report credits (total 5)

Mukesh Ojha

2 (40.0%)

Russell Currey

1 (20.0%)

Pridhiviraj Paidipeddi

1 (20.0%)

Balbir Singh

1 (20.0%)

Developers who gave the most report credits (total 5)

Gavin Shan

2 (40.0%)

Stewart Smith

2 (40.0%)

Vasant Hegde

1 (20.0%)