[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,

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

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.


  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


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