[Skiboot] Skiboot v6.6 is out

Oliver O'Halloran oohall at gmail.com
Thu Apr 23 16:38:25 AEST 2020


Hi everyone,

Skiboot v6.6 is out. Pretty boring release really with a giant pile of bug
fixes, some platform stuff and a few minor features. With that out of the way
I'll start merging stuff again. Probably.

Thanks to everyone who contributed,
Oliver


skiboot-6.6 release notes
*************************

skiboot v6.6 was released on Wednesday April 22nd 2020. It is the
first release of skiboot 6.6 series, which becomes the new stable
release following the skiboot-6.5 release, first released August 16th
2019.

There hasn't been a skiboot release in a while and this release
doesn't contain a huge number of new features for users, just a lot of
bug fixes, and additional platform support. The next release should be
a little more lively with a number of internal refactorings and new
features on the way.


New features
============

* Skiboot is now dual licensed as Apache 2.0 -OR- GPLv2+

  There are some files still licensed Apache 2.0 only due to
  contributions that we are unable to change the license of, but they
  are the minority.

* Skiboot can now be built as little endian, thanks to Team Nick.

  Doing so requires building with: make LITTLE_ENDIAN=1

* OpenCAPI reset support

  This is to allow FPGA-based OpenCAPI devices to be re-flashed with a
  new device image, then reset to activate the new image. Although it
  is based on top of the existing PCI Hotplug support it does require
  some OS changes to function.

* The OPAL_PHB_SET_OPTION and OPAL_PHB_GET_OPTION OPAL calls

  These OPAL calls provide the OS with a means for controlling per-PHB
  settings. Currently this allows the OS to enable or disable the the
  "Global MMIO EEH Disable" and "4GTE" settings which are available on
  Power9 / PHB4. See the PHB specification for more details.


Removed features
================

* Fast-reboot is now disabled by default.

  Fast-reboot will continue to be supported, but as an opt-in feature
  rather than the default. From the commit (ee07f2c68160) message:

     This has two user visible changes:

     1. Full reboot is now the default. In order to get fast-reboot as the
        default the nvram option needs to be set:

             nvram -p ibm,skiboot --update-config fast-reset=1

     2. The nvram option to force a fast-reboot even when some part of
        skiboot has called disable_fast_reboot() has changed from
        'fast-reset=im-feeling-lucky' to 'force-fast-reset=1' because
        it's impossible to actually use that 'feature' if fast-reboot is
        off by default.

             nvram -p ibm,skiboot --update-config force-fast-reset=1


Shortlog
********

Aaron Sawdey (2):
      external/mambo: support mambo COW mode for PMEM disk
      external/mambo: rename env var PMEM_MODES to PMEM_MODE

Alexey Kardashevskiy (3):
      npu2: Invalidate entire TCE cache if many entries requested
      npu2: Clear fence on all bricks
      phb4: Add PHB options get/set OPAL calls

Alistair Popple (1):
      skiboot.tcl: Add chip-id to pmem device tree node

Andrew Donnellan (2):
      npu2-opencapi: Fix integer promotion bug in LPC allocation
      hw/npu2-opencapi: Support multiple LPC devices

Andrew Jeffery (10):
      gard: Fix data corruption when clearing single records
      blocklevel: smart_write: Terminate line for debug output in no-change case
      blocklevel: smart_write: Rename write buffer
      blocklevel: smart_write: Rename size variable for clarity
      blocklevel: smart_write: Avoid indirectly testing formal parameters
      blocklevel: smart_write: Deny writes intersecting ECC protected regions
      blocklevel: smart_write: Avoid reuse of formal parameters
      blocklevel: smart_write: Tidy local variable declarations
      blocklevel: smart_write: Fix unaligned writes to ECC partitions
      libflash: ipmi-hiomap: Document error handling strategy in write path

Artem Senichev (1):
      platforms/nicole: Fixup the system VPD EEPROM size

Balamuruhan S (2):
      occ-sensor: clean dt properties if sensor is not available
      chip: enable HOMER/OCC common area region in Qemu emulated PowerNV host

Cédric Le Goater (20):
      xive: fix return value of opal_xive_allocate_irq()
      xive/p9: introduce header files for the registers
      xive/p9: minor cleanup of the interface
      xive/p9: use MMIO access for VC_EQC_CONFIG
      xive/p9: remove code not using indirect mode
      xive/p9: remove code not using block group mode
      xive/p9: remove dead code
      xive/p9: obsolete OPAL_XIVE_IRQ_*_VIA_FW flags
      xive/p9: obsolete OPAL_XIVE_IRQ_SHIFT_BUG flags
      xive/p9: fix EQ bitmap assignment when allocation fails
      xive/p9: introduce definitions for priorities
      xive/p9: fix silent escalation EQ setup
      xive/p9: cleanup all EQs when a VP block is freed.
      xive/p9: remove ACK# setting in the NVT
      xive/p9: introduce NVT_SHIFT
      xive/p9: remove XIVE_INT_SAFETY_GAP
      xive/p9: use predefined bitmasks to manipulate EQ addresses
      xive/p9: introduce the ESB magic MMIO offsets
      plat/qemu: use "/qemu" device tree node to identify the QEMU platform
      plat/qemu: add a POWER10 platform

Eric Richter (9):
      hw/test: include -gcov binaries in clean target
      doc: add opal secure variable documentation
      libstb/secvar: add secure variable internal abstraction
      libstb/secvar: add secvar api implementation
      secvar/test: add rudimentary secvar API unit testing
      secvar_devtree: add generic compatible, and new format device tree property
      secvar_api: check that enqueue_update writes successfully before returning success
      secvar_main: increase verbosity of the main entrypoint
      tpm_i2c_nuvoton: check TPM vendor id register during probe

Frederic Barrat (26):
      core/pci: Refactor common paths on slot hotplug
      core/pci: Add missing lock in set_power_timer
      core/pci: Use proper phandle during hotplug for PHB slots
      core/pci: Train link of PHB slots when hotplugging
      core/pci: Fix scan of devices for opencapi slots
      npu2-hw-procedures: Move some opencapi PHY settings in one-off init
      npu2-opencapi: Make sure the PCI slot has the proper ID
      npu2-hw-procedures: Fix link retraining on reset
      npu2-opencapi: Rework link training timeout
      npu2-opencapi: Tweak fundamental reset sequence
      npu2-opencapi: Simplify freset states
      npu2-opencapi: Detect PHY reset errors
      npu2-opencapi: Improve error reporting to the OS
      npu2-opencapi: Activate PCI hotplug on opencapi slot
      npu2-opencapi: Handle OPAL_UNMAP_PE operation on set_pe() callback
      npu2-opencapi: Log a warning when resetting a broken device
      platform/mihawk: Detect old system compatible string
      npu2: Rework phb-index assignments for virtual PHBs
      npu3: Don't use the device tree to assign the phb-index of the PHB
      npu2, npu3: Remove ibm, phb-index property from the NPU dt node
      npu3: Register virtual PHBs with static IDs
      npu2-opencapi: don't fence on masked XSL errors
      npu2-opencapi: Don't drive reset signal permanently
      npu2-opencapi: Allow platforms to identify physical slots
      capp: Add lid definition for P9 DD2.3
      hw/phb4: Tune GPU direct performance on witherspoon in PCI mode

Frédéric Bonnard (1):
      external/common: Use file operation used on x86 for ARCH_UNKNOWN

Gavin Shan (2):
      core/pci: Use cached VDID when populating device node
      core/pci: Check PCIe cap version in pci_disable_completion_timeout()

Haren Myneni (1):
      VAS: Alloc IRQ and port address for each VAS instance

Jordan Niethe (2):
      core/flash: Use pr_fmt macro for tagging log messages
      ccan: Add CCAN heap license

Joy Chu (3):
      platform/mihawk: Add system VPD EEPROM to I2C bus
      platform/mihawk: add nvme devices slot table
      platform/mihawk: support dynamic PCIe slot table

Klaus Heinrich Kiwi (3):
      ibm-fsp/lxvpd: check for upstream port on slot labeling
      PCI: create optional loc-code platform callback
      core/pci.c: cleanup pci_add_loc_code()

Madhavan Srinivasan (2):
      hdat/spira: export abc and wxyz bus speeds
      hw/imc: Add error message on failing cases for imc_init

Mahesh Salgaonkar (2):
      IPMI: Trigger OPAL TI in abort path.
      opal-gard: Add support for new PVR POWER9P.

Mauro S. M. Rodrigues (1):
      tpm_i2c_nuvoton: fix tpm_read_fifo overflow check

Michael Ellerman (1):
      mambo: Add more tweakable security flags

Nicholas Piggin (46):
      core/cpu.c: current_radix_mode should be initialised to true
      build: use -mcpu=power8
      core/exceptions.c: rearrange code to allow more interrupt types
      core/util: trap based assertions
      core/util: branch-to-NULL assert for ELFv2 ABI
      core/exceptions.c: do not include handler code in exception backtrace
      slw: slw_reinit fix array overrun
      build: fix non-constant build asserts
      xive/p9: improve cache watch type checking
      xive/p9: use predefined bitmasks to manipulate EQ addresses
      xive/p9: sbe size debug print fix
      fsp: map trace areas on P9
      psi: update registers to reflect >= P8 PHBSCR
      hdata/test/hdata_to_dt.c: use P8E PVR when -8E is given
      Remove dead POWER7 code
      asm/cvc_entry.S: r2 save fix
      capp: fix endian conversion
      cpu: use dt accessor device tree access
      opal-api: add endian conversions to most opal calls
      opal-msg: endian fixes for opal-msg.c and opal_queue_msg callers
      elf: endian conversions
      spira: fix endian conversions in spira data structures
      hdata: endian conversions
      naca: move naca definition from asm to C
      io: endian conversions for io accessors
      hmi: endian conversions
      cvc: allow BE cvc code to be called from LE context
      xive: make endian-clean
      phb4: make endian-clean
      occ sensors: make endian-clean
      memconsole: make endian-clean
      debug descriptor: make endian-clean
      ipmi: endian conversion
      sbe-p9: endian conversion
      fsp: endian conversions
      errorlog: endian conversion
      pel: endian conversion
      libflash: ecc endian conversions
      prd: endian conversions
      opal-dump: MPIPL endan conversions
      sfc-ctrl: endian conversions
      add little endian support
      dt: assorted cleanups
      add more sparse endian annotations
      fix simple sparse warnings
      i2c: fix dereference beyond the end of buffer

Oliver O'Halloran (69):
      core/flash: Validate secure boot content size
      pci: recheck pci nvram hacks on fast-reboot
      hdata: Add Axone IOHUB support
      core/pci: Only hack class code for root ports
      hw/lpc: Configure SerIRQ interrupts on P9P
      hw/psi: Add chip ID to interrupt names
      hw/psi-p9: Make interrupt name array global
      hw/psi-p9: Mask OPAL-owned LSIs without handlers
      hw/psi: Remove explicit external IRQ policy
      core/platform: Actually disable fast-reboot on P8
      core/init: Don't checksum MPIPL data areas
      core/init: Checksum romem after patching out traps
      hw/port80: Squash No SYNC error
      memory: Add NUMA associtivity information to DT
      hdata: Add a generic compatible to ibm,secureboot
      libstb/secvar: Ensure secvar_set_status() is called once
      libstb/secvar: Fix makefile
      core/trace: Move trace buffer exports to a subnode
      core/trace: Rename boot trace buffer
      core/pci: Squash warning from devices with no ecaps
      platforms/astbmc: Add more slot helper macros
      platforms/qemu: Add slot table
      platforms/qemu: Add slot table entries for a PCIe switch
      hdata/test: Remove all temp files
      test/mambo: Skip restoring the old ulimit
      hw/test: Make tests quieter
      makefiles: Make attribute suggestions non-errors
      tests: Squash __attrconst related warnings
      include/cpu: Move __nomcount attribute
      opal-ci: Remove clang builds on 18.04
      boottests: Print the simulator output if V=1 is set
      witherspoon: Squash spurious I2C errors
      hw/p8-i2c: Don't print warnings when dumping registers
      hw/p8-i2c: Clean up interrupt masking
      libstb/tpm: block access to unknown i2c devs on the tpm bus
      xscom: Don't log xscom errors caused by OPAL calls
      doc: Add skiboot-5.2.0 ref
      doc/secvar: Fix table markup
      doc/mpipl: Fix warnings
      doc/secvar: Fix indentation warnings
      doc: Fix code blocks in v6.3.3 release notes
      doc/sbe: Fix block indentation
      doc: Remove duplicate OPAL_ELOG_WRITE label
      doc: Fix block in 6.3.2 release notes
      doc/opal-api: Remove spurious indent
      doc/dt: Fix memory-heirachy block
      doc/opal-api: Remove ref to OPAL_HMI_FLAGS_TOD_TB_FAIL
      doc/device-tree: Add secvar bindings to the toctree
      doc: Add VAS stuff into the tree
      doc: Use parallel builds
      doc: Remove bonus CONTRIBUTING.md from the index
      doc: Fix some errors in platforms-and-cpus
      doc/imc: Fix sphinx warning
      README.md: Add information on docs
      core/platform: Add an explicit fast-reboot type
      core/fast-reset: Do not enable by default
      firenze-pci: Fix infinite loop in firenze_pci_add_loc_code()
      hw/fsp: Remove stray va_end() in __fsp_fillmsg()
      hw/fsp: Fix GENERIC_FAILURE mailbox status code
      Re-license contributions from Raptor Computer Systems
      Re-license contributions from Dan Horák
      Re-license contributions from Yadro
      hw/prd: Hold FSP notifications while PRD is inactive
      docs: Fix ref to skiboot-6.4 in 6.5 release notes
      hw/xscom: Add scom infrastructure
      hw/centaur: Convert to use the new scom API
      hdata/memory: Add support for memory-buffer mmio
      hw/ocmb: Add OCMB SCOM support
      skiboot v6.6 release notes

Reza Arbab (7):
      npu3: Delay enablement of DL parity checking
      devicetree: Remove lpc interrupt properties
      platforms/swift: Remove spurious error message
      npu3: Add ibm, ioda2-npu3-phb to compatible property
      npu3: Improve SALT log output
      npu3: Make SALT CMD_REG writable
      npu2/hw-procedures: Remove assertion from check_credits()

Ryan Grimm (1):
      slw: Enable stop states on P9P

Stewart Smith (4):
      libstb: export CVC/securerom code memory range
      mambo: enable use of real Container Verification Code
      Re-license IBM written files as Apache 2.0 OR GPLv2+
      platform: add Raptor Blackbird support

Thiago Jung Bauermann (2):
      core/init: Add ibm,processor-storage-keys property to CPU DT node
      Makefile: Search for distro-provided cross-compiler

Vasant Hegde (39):
      MPIPL: struct opal_mpipl_fadump doesn't needs to be packed
      core/ipmi: Fix use-after-free
      core/ipmi: Remove redundant variable
      gard: Add support to run gard tests on FSP platform
      skiboot v6.3.4 release notes
      skiboot v6.5.1 release notes
      hostservices: Silence special wakeup assert/release logs
      hdata: Fix reserved node label search
      prd: Improve debug logs
      prd: Fix prd message queuing interface
      prd: Fix FSP - HBRT firmware_notify message
      FSP/IPMI: Handle FSP reset reload
      skiboot 5.4.11 release notes
      skiboot v6.5.2 release notes
      skiboot v6.3.3 release notes
      skiboot v6.0.21 release notes
      hdata: Update MPIPL support IPL parameter
      stable/build: Do not convert warnings to error
      hdata: Fix SP attention area address
      mpipl: Release cpu data memory in free reserved memory path
      mpipl: Disable fast-reboot during post MPIPL boot
      FSP: Remove flash hook after completing code update
      mpipl: Rework memory reservation for OPAL dump
      platform: Log error to BMC even if diag data is missing
      errorlog: Replace hardcode value with macro
      list: Add list_add_after()
      memory: Sort memory regions list
      ipmi-sel: Free ipmi_msg in error path
      esel: Fix OEM SEL generator ID
      eSEL: Make sure PANIC logs are sent to BMC before calling assert
      errorlog: Increase the severity of abnormal reboot events
      skiboot v6.5.3 release notes
      skiboot v6.5.4 release notes
      skiboot v6.0.22 release notes
      Revert "FSP: Disable PSI link whenever FSP tells OPAL about impending R/R"
      skiboot v6.0.23 release notes
      fsp: Ignore platform dump notification on P9
      MPIPL: Add support to save crash CPU details on FSP system
      ZZ: Fix System Attention Indicator location code


More information about the Skiboot mailing list