.. _skiboot-6.0.10:

==============
skiboot-6.0.10
==============

skiboot 6.0.10 was released on Wednesday October 31st, 2018. It replaces
:ref:`skiboot-6.0.9` as the current stable release in the 6.0.x series.

It is recommended that 6.0.10 be used instead of any previous 6.0.x version
due to the bug fixes it contains.

The bug fixes are:

- Recognise signed VERSION partition
- hdata/i2c: Skip unknown device type

  Do not add unknown I2C devices to device tree.
- hdata/i2c: Make SPD workaround more workaroundy

  We have a hack in the I2C device parser to fix up entries generated by
  hostboot for the DIMM SPD devices. For some reason they get reported as
  128Kbit EEPROMs which is bad since those have a different I2C interface
  to an actual SPD device.

  Oddly enough, the FSP also gets this wrong in a slightly different way.
  In the FSP case they are reported as a at24c04 (4Kbit) EEPROM, which
  also has a different I2C interface.

  To fix both these problems for any eeprom we find on that bus to have
  the compatible string of "spd".

- hdata/i2c: Add whitelisting for Host I2C devices

  Many of the devices that we get information about through HDAT are for
  use by firmware rather than the host operating system. This patch adds
  a boolean flag to hdat_i2c_info structure that indicates whether devices
  with a given purpose should be reserved for use inside of OPAL (or some
  other firmware component, such as the OCC).
- Add fast-reboot property to /ibm,opal DT node

  this means that if it's permanently disabled on boot, the test suite can
  pick that up and not try a fast reboot test.
- libflash: Add ipmi-hiomap (currently for Witherspoon only)

  ipmi-hiomap implements the PNOR access control protocol formerly known
  as "the mbox protocol" but uses IPMI instead of the AST LPC mailbox as a
  transport. As there is no-longer any mailbox involved in this alternate
  implementation the old protocol name is quite misleading, and so it has
  been renamed to "the hiomap protoocol" (Host I/O Mapping protocol). The
  same commands and events are used though this client-side implementation
  assumes v2 of the protocol is supported by the BMC.
- AMI BMC: use 0x3a as OEM command

  The 0x3a OEM command is for IBM commands, while 0x32 was for AMI ones.
  Sometime in the P8 timeframe, AMI BMCs were changed to listen for our
  commands on either 0x32 or 0x3a. Since 0x3a is the direction forward,
  we'll use that, as P9 machines with AMI BMCs probably also want these
  to work, and let's not bet that 0x32 will continue to be okay.
- astbmc: Set romulus BMC type to OpenBMC
- Fixes to bulid with GCC8
- phb4/capp: Use link width to allocate STQ engines to CAPP

  Update phb4_init_capp_regs() to allocates STQ Engines to CAPP/PEC2
  based on link width instead of always assuming it to x8.

  Also re-factor the function slightly to evaluate the link-width only
  once and cache it so that it can also be used to allocate DMA read
  engines.
- phb4/capp: Update the expected Eye-catcher for CAPP ucode lid

  Currently on a FSP based P9 system load_capp_code() expects CAPP ucode
  lid header to have eye-catcher magic of 'CAPPPSLL'. However skiboot
  currently supports CAPP ucode only lids that have a eye-catcher magic
  of 'CAPPLIDH'. This prevents skiboot from loading the ucode with this
  error message: ::

    CAPP: ucode header invalid

  We fix this issue by updating load_capp_ucode() to use the eye-catcher
  value of 'CAPPLIDH' instead of 'CAPPPSLL'.
