diff --git a/buildroot b/buildroot
index e01dcd0..b1a7f41 160000
--- a/buildroot
+++ b/buildroot
@@ -1 +1 @@
-Subproject commit e01dcd0974861a2c26eed6a66829a2d0bc5356d7
+Subproject commit b1a7f4117e5e1dd5fa1343cea50641dfbe3c2438
diff --git a/doc/release-notes/index.rst b/doc/release-notes/index.rst
index 226a7d4..dc1fe70 100644
--- a/doc/release-notes/index.rst
+++ b/doc/release-notes/index.rst
@@ -75,3 +75,4 @@
 
    v2.3-rc1 
    v2.3-rc2
+   v2.3
diff --git a/doc/release-notes/v2.3.1.rst b/doc/release-notes/v2.3.1.rst
new file mode 100644
index 0000000..14e6085
--- /dev/null
+++ b/doc/release-notes/v2.3.1.rst
@@ -0,0 +1,244 @@
+Release Notes for OpenPower Firmware v2.3.1
+===========================================
+
+op-build v2.3.1 was released on July 9th, 2019 and contains several important
+fixes for POWER8 and POWER9 systems.
+
+For POWER8 and POWER9 systems there are updated skiboot, Linux, and buildroot.
+There's also an an updated hostboot for POWER8 systems.
+
+skiboot
+-------
+
+Bug fixes included in this release are:
+
+- npu2: Purge cache when resetting a GPU
+
+  After putting all a GPU's links in reset, do a cache purge in case we
+  have CPU cache lines belonging to the now-unaccessible GPU memory.
+
+- npu2: Reset NVLinks when resetting a GPU
+
+  Resetting a V100 GPU brings its NVLinks down and if an NPU tries using
+  those, an HMI occurs. We were lucky not to observe this as the bare metal
+  does not normally reset a GPU and when passed through, GPUs are usually
+  before NPUs in QEMU command line or Libvirt XML and because of that NPUs
+  are naturally reset first. However simple change of the device order
+  brings HMIs.
+
+  This defines a bus control filter for a PCI slot with a GPU with NVLinks
+  so when the host system issues secondary bus reset to the slot, it resets
+  associated NVLinks.
+
+- hw/phb4: Assert Link Disable bit after ETU init
+
+  The cursed RAID card in ozrom1 has a bug where it ignores PERST being
+  asserted. The PCIe Base spec is a little vague about what happens
+  while PERST is asserted, but it does clearly specify that when
+  PERST is de-asserted the Link Training and Status State Machine
+  (LTSSM) of a device should return to the initial state (Detect)
+  defined in the spec and the link training process should restart.
+
+  This bug was worked around in 9078f8268922 ("phb4: Delay training till
+  after PERST is deasserted") by setting the link disable bit at the
+  start of the FRESET process and clearing it after PERST was
+  de-asserted. Although this fixed the bug, the patch offered no
+  explaination of why the fix worked.
+
+  In b8b4c79d4419 ("hw/phb4: Factor out PERST control") the link disable
+  workaround was moved into phb4_assert_perst(). This is called
+  always in the CRESET case, but a following patch resulted in
+  assert_perst() not being called if phb4_freset() was entered following a
+  CRESET since p->skip_perst was set in the CRESET handler. This is bad
+  since a side-effect of the CRESET is that the Link Disable bit is
+  cleared.
+
+  This, combined with the RAID card ignoring PERST results in the PCIe
+  link being trained by the PHB while we're waiting out the 100ms
+  ETU reset time. If we hack skiboot to print a DLP trace after returning
+  from phb4_hw_init() we get: ::
+
+   PHB#0001[0:1]: Initialization complete
+   PHB#0001[0:1]: TRACE:0x0000102101000000  0ms presence GEN1:x16:polling
+   PHB#0001[0:1]: TRACE:0x0000001101000000 23ms          GEN1:x16:detect
+   PHB#0001[0:1]: TRACE:0x0000102101000000 23ms presence GEN1:x16:polling
+   PHB#0001[0:1]: TRACE:0x0000183101000000 29ms training GEN1:x16:config
+   PHB#0001[0:1]: TRACE:0x00001c5881000000 30ms training GEN1:x08:recovery
+   PHB#0001[0:1]: TRACE:0x00001c5883000000 30ms training GEN3:x08:recovery
+   PHB#0001[0:1]: TRACE:0x0000144883000000 33ms presence GEN3:x08:L0
+   PHB#0001[0:1]: TRACE:0x0000154883000000 33ms trained  GEN3:x08:L0
+   PHB#0001[0:1]: CRESET: wait_time = 100
+   PHB#0001[0:1]: FRESET: Starts
+   PHB#0001[0:1]: FRESET: Prepare for link down
+   PHB#0001[0:1]: FRESET: Assert skipped
+   PHB#0001[0:1]: FRESET: Deassert
+   PHB#0001[0:1]: TRACE:0x0000154883000000  0ms trained  GEN3:x08:L0
+   PHB#0001[0:1]: TRACE: Reached target state
+   PHB#0001[0:1]: LINK: Start polling
+   PHB#0001[0:1]: LINK: Electrical link detected
+   PHB#0001[0:1]: LINK: Link is up
+   PHB#0001[0:1]: LINK: Went down waiting for stabilty
+   PHB#0001[0:1]: LINK: DLP train control: 0x0000105101000000
+   PHB#0001[0:1]: CRESET: Starts
+
+  What has happened here is that the link is trained to 8x Gen3 33ms after
+  we return from phb4_init_hw(), and before we've waitined to 100ms
+  that we normally wait after re-initialising the ETU. When we "deassert"
+  PERST later on in the FRESET handler the link in L0 (normal) state. At
+  this point we try to read from the Vendor/Device ID register to verify
+  that the link is stable and immediately get a PHB fence due to a PCIe
+  Completion Timeout. Skiboot attempts to recover by doing another CRESET,
+  but this will encounter the same issue.
+
+  This patch fixes the problem by setting the Link Disable bit (by calling
+  phb4_assert_perst()) immediately after we return from phb4_init_hw().
+  This prevents the link from being trained while PERST is asserted which
+  seems to avoid the Completion Timeout. With the patch applied we get: ::
+
+   PHB#0001[0:1]: Initialization complete
+   PHB#0001[0:1]: TRACE:0x0000102101000000  0ms presence GEN1:x16:polling
+   PHB#0001[0:1]: TRACE:0x0000001101000000 23ms          GEN1:x16:detect
+   PHB#0001[0:1]: TRACE:0x0000102101000000 23ms presence GEN1:x16:polling
+   PHB#0001[0:1]: TRACE:0x0000909101000000 29ms presence GEN1:x16:disabled
+   PHB#0001[0:1]: CRESET: wait_time = 100
+   PHB#0001[0:1]: FRESET: Starts
+   PHB#0001[0:1]: FRESET: Prepare for link down
+   PHB#0001[0:1]: FRESET: Assert skipped
+   PHB#0001[0:1]: FRESET: Deassert
+   PHB#0001[0:1]: TRACE:0x0000001101000000  0ms          GEN1:x16:detect
+   PHB#0001[0:1]: TRACE:0x0000102101000000  0ms presence GEN1:x16:polling
+   PHB#0001[0:1]: TRACE:0x0000001101000000 24ms          GEN1:x16:detect
+   PHB#0001[0:1]: TRACE:0x0000102101000000 36ms presence GEN1:x16:polling
+   PHB#0001[0:1]: TRACE:0x0000183101000000 97ms training GEN1:x16:config
+   PHB#0001[0:1]: TRACE:0x00001c5881000000 97ms training GEN1:x08:recovery
+   PHB#0001[0:1]: TRACE:0x00001c5883000000 97ms training GEN3:x08:recovery
+   PHB#0001[0:1]: TRACE:0x0000144883000000 99ms presence GEN3:x08:L0
+   PHB#0001[0:1]: TRACE: Reached target state
+   PHB#0001[0:1]: LINK: Start polling
+   PHB#0001[0:1]: LINK: Electrical link detected
+   PHB#0001[0:1]: LINK: Link is up
+   PHB#0001[0:1]: LINK: Link is stable
+   PHB#0001[0:1]: LINK: Card [9005:028c] Optimal Retry:disabled
+   PHB#0001[0:1]: LINK: Speed Train:GEN3 PHB:GEN4 DEV:GEN3
+   PHB#0001[0:1]: LINK: Width Train:x08 PHB:x08 DEV:x08
+   PHB#0001[0:1]: LINK: RX Errors Now:0 Max:8 Lane:0x0000
+
+- npu2: Reset PID wildcard and refcounter when mapped to LPID
+
+  Since 105d80f85b "npu2: Use unfiltered mode in XTS tables" we do not
+  register every PID in the XTS table so the table has one entry per LPID.
+  Then we added a reference counter to keep track of the entry use when
+  switching GPU between the host and guest systems (the "Fixes:" tag below).
+
+  The POWERNV platform setup creates such entries and references them
+  at the boot time when initializing IOMMUs and only removes it when
+  a GPU is passed through to a guest. This creates a problem as POWERNV
+  boots via kexec and no defererencing happens; the XTS table state remains
+  undefined. So when the host kernel boots, skiboot thinks there are valid
+  XTS entries and does not update the XTS table which breaks ATS.
+
+  This adds the reference counter and the XTS entry reset when a GPU is
+  assigned to LPID and we cannot rely on the kernel to clean that up.
+
+- hw/phb4: Use read/write_reg in assert_perst
+
+  While the PHB is fenced we can't use the MMIO interface to access PHB
+  registers. While processing a complete reset we inject a PHB fence to
+  isolate the PHB from the rest of the system because the PHB won't
+  respond to MMIOs from the rest of the system while being reset.
+
+  We assert PERST after the fence has been erected which requires us to
+  use the XSCOM indirect interface to access the PHB registers rather than
+  the MMIO interface. Previously we did that when asserting PERST in the
+  CRESET path. However in b8b4c79d4419 ("hw/phb4: Factor out PERST
+  control"). This was re-written to use the raw in_be64() accessor. This
+  means that CRESET would not be asserted in the reset path. On some
+  Mellanox cards this would prevent them from re-loading their firmware
+  when the system was fast-reset.
+
+  This patch fixes the problem by replacing the raw {in|out}_be64()
+  accessors with the phb4_{read|write}_reg() functions.
+
+- opal-prd: Fix prd message size issue
+
+  If prd messages size is insufficient then read_prd_msg() call fails with
+  below error. And caller is not reallocating sufficient buffer. Also its
+  hard to guess the size.
+
+  sample log:::
+  -----------
+  Mar 28 03:31:43 zz24p1 opal-prd: FW: error reading from firmware: alloc 32 rc -1: Invalid argument
+  Mar 28 03:31:43 zz24p1 opal-prd: FW: error reading from firmware: alloc 32 rc -1: Invalid argument
+  Mar 28 03:31:43 zz24p1 opal-prd: FW: error reading from firmware: alloc 32 rc -1: Invalid argument
+  ....
+
+  Lets use opal-msg-size device tree property to allocate memory
+  for prd message.
+
+- npu2: Fix clearing the FIR bits
+
+  FIR registers are SCOM-only so they cannot be accesses with the indirect
+  write, and yet we use SCOM-based addresses for these; fix this.
+
+- opal-gard: Account for ECC size when clearing partition
+
+  When 'opal-gard clear all' is run, it works by erasing the GUARD then
+  using blockevel_smart_write() to write nothing to the partition. This
+  second write call is needed because we rely on libflash to set the ECC
+  bits appropriately when the partition contained ECCed data.
+
+  The API for this is a little odd with the caller specifying how much
+  actual data to write, and libflash writing size + size/8 bytes
+  since there is one additional ECC byte for every eight bytes of data.
+
+  We currently do not account for the extra space consumed by the ECC data
+  in reset_partition() which is used to handle the 'clear all' command.
+  Which results in the paritition following the GUARD partition being
+  partially overwritten when the command is used. This patch fixes the
+  problem by reducing the length we would normally write by the number
+  of ECC bytes required.
+
+- nvram: Flag dangerous NVRAM options
+
+  Most nvram options used by skiboot are just for debug or testing for
+  regressions. They should never be used long term.
+
+  We've hit a number of issues in testing and the field where nvram
+  options have been set "temporarily" but haven't been properly cleared
+  after, resulting in crashes or real bugs being masked.
+
+  This patch marks most nvram options used by skiboot as dangerous and
+  prints a chicken to remind users of the problem.
+
+- devicetree: Don't set path to dtc in makefile
+
+  By setting the path we fail to build under buildroot which has it's own
+  set of host tools in PATH, but not at /usr/bin.
+
+  Keep the variable so it can be set if need be but default to whatever
+  'dtc' is in the users path.
+
+
+Linux and buildroot
+-------------------
+
+Move to Linux v5.1.15-openpower1 and buildroot 2019.02.3
+
+This updates to a in-support stable Linux release, resolving potential
+security and stability issues. Notably, this includes fixes for
+CVE-2019-12817, CVE-2019-11477, CVE-2019-11478, and CVE-2019-11479.
+
+Buildroot stays on the same major version with the .2 and .3 stable
+releases added in.
+
+The skiroot defconfig is updated to ensure we still run the MMU in Radix
+mode (see http://git.kernel.org/torvalds/c/8adddf349fda0). It also
+disables xmon by default.
+
+Hostboot
+--------
+
+Point op-build P8 hostboot at commit to report cache-count-disabled OS flag
+
+Points OP build at the P8 hostboot package commit which enables reporting to the OS
+that the cache-count-disabled Spectre workaround is available.
diff --git a/doc/release-notes/v2.3.rst b/doc/release-notes/v2.3.rst
new file mode 100644
index 0000000..924430c
--- /dev/null
+++ b/doc/release-notes/v2.3.rst
@@ -0,0 +1,1877 @@
+Release Notes for OpenPower Firmware v2.3
+=========================================
+
+op-build v2.3 was released on Tuesday May 21st, 2019. It is the new stable release of op-build,
+following on from v2.2, first released on March 8th, 2019.
+
+op-build v2.3 contains all the fixes as of op-build v2.0.15, and we expect to continue to do stable
+2.0.y releases of v2.0 into the forseeable future. We do not expect to do any stable releases of
+v2.2.
+
+The v2.3 release cycle has been short yet still contains some notable changes.
+
+Over op-build v2.2, this release contains the following changes:
+
+Removed platforms
+-----------------
+
+-  openpower_mambo (superseded by the generic ‘opal’ defconfig, aimed towards use with simulators)
+-  witherspoon_dev (superseded by just using the generic witherspoon defconfig)
+
+New platforms
+-------------
+
+-  opal
+
+Since v2.3-rc2: - p8dtu
+
+Updated Packages since v2.3-rc2
+-------------------------------
+
++------------+-------------------+-----------------+----------------------------------------------+
+| Package    | Old Version       | New Version     | Platforms                                    |
++============+===================+=================+==============================================+
+| hcode      | hw040319a.940     | hw041519a.opv23 | witherspoon, p9dsu, zaius, romulus           |
++------------+-------------------+-----------------+----------------------------------------------+
+| hostboot   | e5622fb032dc      | ca03643dd893    | witherspoon, p9dsu, zaius, romulus           |
++------------+-------------------+-----------------+----------------------------------------------+
+| hostboot-b | hw021419a.930     | hw041519a.opv23 | witherspoon, p9dsu, zaius, habanero,         |
+| inaries    |                   |                 | garrison, barreleye, firestone, palmetto,    |
+|            |                   |                 | vesnin, romulus                              |
++------------+-------------------+-----------------+----------------------------------------------+
+| linux      | 5.0.5             | 5.0.7           | witherspoon, p9dsu, zaius, habanero,         |
+|            |                   |                 | firenze, garrison, barreleye, pseries, opal, |
+|            |                   |                 | firestone, palmetto, vesnin, zz, romulus     |
++------------+-------------------+-----------------+----------------------------------------------+
+| linux-head | 5.0.5             | 5.0.7           | witherspoon, p9dsu, zaius, habanero,         |
+| ers        |                   |                 | firenze, garrison, barreleye, pseries, opal, |
+|            |                   |                 | firestone, palmetto, vesnin, zz, romulus     |
++------------+-------------------+-----------------+----------------------------------------------+
+| skiboot    | v6.3-rc1          | v6.3.1          | witherspoon, p9dsu, zaius, habanero,         |
+|            |                   |                 | firenze, garrison, barreleye, pseries, opal, |
+|            |                   |                 | firestone, palmetto, vesnin, zz, romulus     |
++------------+-------------------+-----------------+----------------------------------------------+
+
+Updated Packages since v2.2
+---------------------------
+
++-------------+----------------+-----------------+------------------------------------------------+
+| Package     | Old Version    | New Version     | Platforms                                      |
++=============+================+=================+================================================+
+| ethtool     | 4.16           | 4.19            | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| eudev       | 3.2.5          | 3.2.7           | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| glibc       | glibc-2.28-69- | glibc-2.28-94-g | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             | g1e5c5303      | 4aeff335        | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| hcode       | hw022319a.930  | hw041519a.opv23 | witherspoon, p9dsu, zaius, romulus             |
++-------------+----------------+-----------------+------------------------------------------------+
+| hostboot    | 37e67698be56   | ca03643dd893    | witherspoon, p9dsu, zaius, romulus             |
++-------------+----------------+-----------------+------------------------------------------------+
+| hostboot-bi | hw021419a.930  | hw041519a.opv23 | witherspoon, p9dsu, zaius, habanero, garrison, |
+| naries      |                |                 | barreleye, firestone, palmetto, vesnin,        |
+|             |                |                 | romulus                                        |
++-------------+----------------+-----------------+------------------------------------------------+
+| hostboot-p8 | a3b0cb929cbf   | dc218d94c57b    | habanero, garrison, barreleye, firestone,      |
+|             |                |                 | palmetto, vesnin                               |
++-------------+----------------+-----------------+------------------------------------------------+
+| i2c-tools   | 4.0            | 4.1             | pseries, vesnin                                |
++-------------+----------------+-----------------+------------------------------------------------+
+| linux       | 4.19.26        | 5.0.7           | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| linux-firmw | 44d4fca9922a   | 1baa34868b2c    | witherspoon, p9dsu, zaius, habanero, firenze,  |
+| are         |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| linux-heade | 4.19.26        | 5.0.7           | witherspoon, p9dsu, zaius, habanero, firenze,  |
+| rs          |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| lvm2        | 2.02.180       | 2.02.183        | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| machine-xml | c994a1815bcb   | f44f8808fc7c8   | vesnin                                         |
++-------------+----------------+-----------------+------------------------------------------------+
+| machine-xml | f7cffdbe00f6   | e3e9aef82673b   | witherspoon                                    |
++-------------+----------------+-----------------+------------------------------------------------+
+| occ         | 12c8088a32c5   | 58e422dede59    | witherspoon, p9dsu, zaius, romulus             |
++-------------+----------------+-----------------+------------------------------------------------+
+| openpower-p | 0aeae23bd0c68  | 2ea669b4aa57    | witherspoon, p9dsu, zaius, habanero, garrison, |
+| nor         |                |                 | barreleye, firestone, palmetto, vesnin,        |
+|             |                |                 | romulus                                        |
++-------------+----------------+-----------------+------------------------------------------------+
+| petitboot   | v1.10.2        | v1.10.3         | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| sbe         | 2e253cebdaff   | 1410677b65e4    | witherspoon, p9dsu, zaius, romulus             |
++-------------+----------------+-----------------+------------------------------------------------+
+| skiboot     | v6.2.2         | v6.3.1          | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+| util-linux  | 2.32.1         | 2.33            | witherspoon, p9dsu, zaius, habanero, firenze,  |
+|             |                |                 | garrison, barreleye, pseries, firestone,       |
+|             |                |                 | palmetto, vesnin, zz, romulus                  |
++-------------+----------------+-----------------+------------------------------------------------+
+
+Package: hcode
+--------------
+
+`Repository <https://github.com/open-power/hcode>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Chris Cain (1):
+
+-  `3330dbdae60f <https://github.com/open-power/hcode/commit/3330dbdae60f>`__ Proposed structure
+   change for OCC
+
+Prasad Bg Ranganath (1):
+
+-  `0dd012c7f495 <https://github.com/open-power/hcode/commit/0dd012c7f495>`__ PPB: Refactor pstate
+   parameter block
+
+hostboot (14):
+
+-  `cc5c034aa468 <https://github.com/open-power/hcode/commit/cc5c034aa468>`__ Release tag
+   information updated for hw030819a.940
+-  `96bdad1dc08c <https://github.com/open-power/hcode/commit/96bdad1dc08c>`__ Release tag
+   information updated for hw030919a.940
+-  `b4bd4e7e0e75 <https://github.com/open-power/hcode/commit/b4bd4e7e0e75>`__ Release tag
+   information updated for hw031219a.940
+-  `b31c43a6c27e <https://github.com/open-power/hcode/commit/b31c43a6c27e>`__ Release tag
+   information updated for hw031319a.940
+-  `3d18592a7e3a <https://github.com/open-power/hcode/commit/3d18592a7e3a>`__ Release tag
+   information updated for hw031619a.940
+-  `4ffb0e57df57 <https://github.com/open-power/hcode/commit/4ffb0e57df57>`__ Release tag
+   information updated for hw031919a.940
+-  `ca318ee145bf <https://github.com/open-power/hcode/commit/ca318ee145bf>`__ Release tag
+   information updated for hw032019b.940
+-  `21fb83a0aec7 <https://github.com/open-power/hcode/commit/21fb83a0aec7>`__ Release tag
+   information updated for hw032119a.940
+-  `f722a49ec15b <https://github.com/open-power/hcode/commit/f722a49ec15b>`__ Release tag
+   information updated for hw032219a.940
+-  `b072dcdd5a9a <https://github.com/open-power/hcode/commit/b072dcdd5a9a>`__ Release tag
+   information updated for hw032319a.940
+-  `06fd9cb6a476 <https://github.com/open-power/hcode/commit/06fd9cb6a476>`__ Release tag
+   information updated for hw041119a.opv23
+-  `65dd1355197d <https://github.com/open-power/hcode/commit/65dd1355197d>`__ Release tag
+   information updated for hw041219a.opv23
+-  `cce430a720af <https://github.com/open-power/hcode/commit/cce430a720af>`__ Release tag
+   information updated for hw041319a.opv23
+-  `adf78f8e0538 <https://github.com/open-power/hcode/commit/adf78f8e0538>`__ Release tag
+   information updated for hw041519a.opv23
+
+Package: hostboot
+-----------------
+
+`Repository <https://github.com/open-power/hostboot>`__
+
+.. _v2.3-patches-1:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-1:
+
+Commits
+~~~~~~~
+
+Alvin Wang (7):
+
+-  `49a169abfa3d <https://github.com/open-power/hostboot/commit/49a169abfa3d>`__ Adds mcbist empty
+   files
+-  `517ec60ee50d <https://github.com/open-power/hostboot/commit/517ec60ee50d>`__ Adds mcbist empty
+   files
+-  `f50a11628b1c <https://github.com/open-power/hostboot/commit/f50a11628b1c>`__ Change generic
+   mcbist file name
+-  `4984330e0ef9 <https://github.com/open-power/hostboot/commit/4984330e0ef9>`__ Change generic
+   mcbist file name
+-  `d7910f680f5c <https://github.com/open-power/hostboot/commit/d7910f680f5c>`__ Add exp_scrub empty
+   files
+-  `8765bcd2cc17 <https://github.com/open-power/hostboot/commit/8765bcd2cc17>`__ Add empty files for
+   power_theraml
+-  `75f8277bbc20 <https://github.com/open-power/hostboot/commit/75f8277bbc20>`__ Add empty
+   file(accessor_wrapper.H) for power_theraml
+
+Andre A. Marin (4):
+
+-  `c368037cb36e <https://github.com/open-power/hostboot/commit/c368037cb36e>`__ Update phy_pharams
+   structure, tests, and exp attrs
+-  `ee476c6abdad <https://github.com/open-power/hostboot/commit/ee476c6abdad>`__ Update phy_pharams
+   structure, tests, and exp attrs
+-  `d679e6d649ee <https://github.com/open-power/hostboot/commit/d679e6d649ee>`__ Add
+   attr_engine_traits empty files for HB to mirror
+-  `b5e9f70eb916 <https://github.com/open-power/hostboot/commit/b5e9f70eb916>`__ Update phy_pharams
+   structure, tests, and exp attrs
+
+Andre Marin (6):
+
+-  `877a032b90cd <https://github.com/open-power/hostboot/commit/877a032b90cd>`__ Fix SPD cas latency
+   assert bug
+-  `9e1906f95ba3 <https://github.com/open-power/hostboot/commit/9e1906f95ba3>`__ Add
+   std::remove_all_extends to HB STL library
+-  `2dcce4bcccc2 <https://github.com/open-power/hostboot/commit/2dcce4bcccc2>`__ Add L1 for
+   p9a_mss_bulk_pwr_throttles and p9a_mss_utils_to_throttle
+-  `1c169fc8be5a <https://github.com/open-power/hostboot/commit/1c169fc8be5a>`__ Add attribute
+   engine algorithm for eff_config and pre_eff_config
+-  `018a009896d8 <https://github.com/open-power/hostboot/commit/018a009896d8>`__ Add attribute
+   engine algorithm for eff_config and pre_eff_config
+-  `e5a493e300da <https://github.com/open-power/hostboot/commit/e5a493e300da>`__ Add attribute
+   engine algorithm for eff_config and pre_eff_config
+
+Ben Gass (6):
+
+-  `5bfda17c8018 <https://github.com/open-power/hostboot/commit/5bfda17c8018>`__ Add chip base
+   address to the OMI MMIO offset in p9a_mmio_util
+-  `d27c5e1fe431 <https://github.com/open-power/hostboot/commit/d27c5e1fe431>`__ Update ATRMISS
+   registers for Axone
+-  `71d98844bb93 <https://github.com/open-power/hostboot/commit/71d98844bb93>`__ Update p9_l2_flush
+   to check if purge is busy on anything prior to flush.
+-  `a4278d1df874 <https://github.com/open-power/hostboot/commit/a4278d1df874>`__ Add
+   ATTR_OMI_DL_GROUP_POS and ATTR_OMI_DL_NUM for OMI targets
+-  `224517ac925b <https://github.com/open-power/hostboot/commit/224517ac925b>`__ Update cmd/rsp
+   endian handling in exp_inband
+-  `5beffad6f2f2 <https://github.com/open-power/hostboot/commit/5beffad6f2f2>`__ Replace FAPI_ERR
+   with FAPI_DBG when no error in exp_omi_init
+
+Bill Hoffa (4):
+
+-  `7364f2447d18 <https://github.com/open-power/hostboot/commit/7364f2447d18>`__ Initialize and test
+   alt-master PNOR access in all boots
+-  `8b9e2d415060 <https://github.com/open-power/hostboot/commit/8b9e2d415060>`__ Fix autocitest
+   simics attempt numbering
+-  `c54069667c86 <https://github.com/open-power/hostboot/commit/c54069667c86>`__ Catch Unknown
+   Values for CONFIG_APPLY attribute
+-  `2620abc7dc62 <https://github.com/open-power/hostboot/commit/2620abc7dc62>`__ INTRP HW Workaround
+   for Clockgating Issue
+
+Caleb Palmer (10):
+
+-  `066af762a047 <https://github.com/open-power/hostboot/commit/066af762a047>`__ Add SW callout if
+   invalid proc model in call_mss_scrub
+-  `d94e5b51c9e5 <https://github.com/open-power/hostboot/commit/d94e5b51c9e5>`__ PRD: Remove old
+   domain startScrubs
+-  `0843af939876 <https://github.com/open-power/hostboot/commit/0843af939876>`__ PRD: Don’t skip ECC
+   spare when no DRAM spare
+-  `86b0576b22dc <https://github.com/open-power/hostboot/commit/86b0576b22dc>`__ PRD: NVDIMM reg
+   review updates
+-  `6d28e5b524f2 <https://github.com/open-power/hostboot/commit/6d28e5b524f2>`__ PRD: Remove EccSp
+   from errl when not avail
+-  `be07d93af71c <https://github.com/open-power/hostboot/commit/be07d93af71c>`__ PRD: MEM_PORT
+   getConnected support
+-  `4046e66acfb6 <https://github.com/open-power/hostboot/commit/4046e66acfb6>`__ Hostboot Memory HWP
+   include update
+-  `16024c9f92fa <https://github.com/open-power/hostboot/commit/16024c9f92fa>`__ PRD: Axone
+   PlatServices and Misc Updates
+-  `f2837b85611f <https://github.com/open-power/hostboot/commit/f2837b85611f>`__ PRD: Memory HWP
+   include updates
+-  `09b6e80a55d2 <https://github.com/open-power/hostboot/commit/09b6e80a55d2>`__ PRD: NVDIMM health
+   status reg errors no longer gard
+
+Chen Du (1):
+
+-  `c4031acbfb05 <https://github.com/open-power/hostboot/commit/c4031acbfb05>`__ Dropped messages at
+   shutdown
+
+Chris Cain (1):
+
+-  `ad388de1a208 <https://github.com/open-power/hostboot/commit/ad388de1a208>`__ Proposed structure
+   change for OCC
+
+Chris Steffen (1):
+
+-  `298aa306a1f4 <https://github.com/open-power/hostboot/commit/298aa306a1f4>`__ P9A OMI Dccal /
+   Scominit
+
+Christian Geddes (32):
+
+-  `8ee01af225a0 <https://github.com/open-power/hostboot/commit/8ee01af225a0>`__ Allow child/parent
+   lookups between DIMM and OCMB_CHIP targets
+-  `6cc4d5078e34 <https://github.com/open-power/hostboot/commit/6cc4d5078e34>`__ Again try to fix
+   checkpoint issue with fips930 simics
+-  `3452fbd95989 <https://github.com/open-power/hostboot/commit/3452fbd95989>`__ Allow for nullptr
+   io_buffer in eecache read
+-  `7ce2a9daac0c <https://github.com/open-power/hostboot/commit/7ce2a9daac0c>`__ Add interface to
+   look up model type of master processor on targetService
+-  `efda71702697 <https://github.com/open-power/hostboot/commit/efda71702697>`__ Set early test case
+   IPL step to be 14.7 in Axone simics
+-  `e70d216f8e2b <https://github.com/open-power/hostboot/commit/e70d216f8e2b>`__ Compile and add
+   calls to exp_scominit in istep 13.8
+-  `58b845f915ea <https://github.com/open-power/hostboot/commit/58b845f915ea>`__ Disable Mutex
+   Attribute Test Cases for now
+-  `250291d09340 <https://github.com/open-power/hostboot/commit/250291d09340>`__ Add
+   p9a_omi_training_check hwp call to istep 12.9
+-  `3b02a6aa674c <https://github.com/open-power/hostboot/commit/3b02a6aa674c>`__ Fix
+   getChildByAffinity call in mmio.C and add more traces
+-  `dafcf54942f1 <https://github.com/open-power/hostboot/commit/dafcf54942f1>`__ Remove imported
+   files that were added incorrectly
+-  `552339eb7f78 <https://github.com/open-power/hostboot/commit/552339eb7f78>`__ Create a common
+   explorer accesss module expaccess
+-  `281c7c93a463 <https://github.com/open-power/hostboot/commit/281c7c93a463>`__ Skip enabling PM
+   complex (start_stop_engine HWP) in Axone simics
+-  `63afd50c3393 <https://github.com/open-power/hostboot/commit/63afd50c3393>`__ Disable SMF tests
+   for Axone bringup
+-  `5618f2f2b432 <https://github.com/open-power/hostboot/commit/5618f2f2b432>`__ Fix issues with how
+   we were handling new .so added for Axone
+-  `9145082bb0ca <https://github.com/open-power/hostboot/commit/9145082bb0ca>`__ Disable OCMB mmio
+   communication tests until MMIO works
+-  `b397d8d630ac <https://github.com/open-power/hostboot/commit/b397d8d630ac>`__ Allow single dimm
+   configurations in Axone
+-  `dd41d6161ea9 <https://github.com/open-power/hostboot/commit/dd41d6161ea9>`__ Set
+   MAX_COMPUTE_NODES attribute so TOD code gets setup correctly
+-  `3653c5d44e88 <https://github.com/open-power/hostboot/commit/3653c5d44e88>`__ Skip establish ex
+   chiplet step (15.3) during Axone for now
+-  `0a0fe1f2857a <https://github.com/open-power/hostboot/commit/0a0fe1f2857a>`__ Compile new
+   Axone/Explorer memory libs in isteps_mss library
+-  `d09e67a0a554 <https://github.com/open-power/hostboot/commit/d09e67a0a554>`__ Update simics
+   release that Axone is using and adjust simics script
+-  `b8cfbb22598c <https://github.com/open-power/hostboot/commit/b8cfbb22598c>`__ Set MUX i2c slave
+   port to be 1
+-  `1c5f03e47872 <https://github.com/open-power/hostboot/commit/1c5f03e47872>`__ Fix bug that was
+   scrambling traces in errorlogs during HBRT
+-  `ddc7b1ec95be <https://github.com/open-power/hostboot/commit/ddc7b1ec95be>`__ Apply OBUS PG rules
+   update to Axone also
+-  `a52d45742151 <https://github.com/open-power/hostboot/commit/a52d45742151>`__ Edit
+   cxxtest.start.sh script to call runsim correctly
+-  `c6677251ee3d <https://github.com/open-power/hostboot/commit/c6677251ee3d>`__ Call p9a_mss_volt
+   if MEM_PORT targets are available in istep 7.2
+-  `994299cf3d45 <https://github.com/open-power/hostboot/commit/994299cf3d45>`__ Add code to call
+   p9a_mss_freq / p9a_mss_freq_system in istep 7.3
+-  `1564d45787ce <https://github.com/open-power/hostboot/commit/1564d45787ce>`__ Wrap exp_draminit
+   in a extern “C” to workaround name mangling
+-  `30a512e3d84d <https://github.com/open-power/hostboot/commit/30a512e3d84d>`__ Disable OCMB getVPD
+   tests until we get better SPD
+-  `33e7c6de0769 <https://github.com/open-power/hostboot/commit/33e7c6de0769>`__ Add calls to
+   available p9a_mss_eff_config HWPs in istep 7.4
+-  `85e898e7c68e <https://github.com/open-power/hostboot/commit/85e898e7c68e>`__ Edit autocitest to
+   handle hbTrace.log generated in /src/
+-  `a98d9a843a71 <https://github.com/open-power/hostboot/commit/a98d9a843a71>`__ Generate P9A
+   accessors for Axone
+-  `f55c462e587c <https://github.com/open-power/hostboot/commit/f55c462e587c>`__ Resize WOF to allow
+   AXONE test pnor to fit inside 64 MB
+
+Christian R. Geddes (1):
+
+-  `bcecb8a2a15a <https://github.com/open-power/hostboot/commit/bcecb8a2a15a>`__ Revert “Update
+   phy_pharams structure, tests, and exp attrs”
+
+Corey Swenson (1):
+
+-  `0bfacdff427f <https://github.com/open-power/hostboot/commit/0bfacdff427f>`__ Add callouts for
+   NVDIMM errors
+
+Dan Crowell (16):
+
+-  `b8720c117759 <https://github.com/open-power/hostboot/commit/b8720c117759>`__ Reset Engine E to
+   handle NVDIMMs
+-  `d505fea7f169 <https://github.com/open-power/hostboot/commit/d505fea7f169>`__ Make overrideOnly
+   fapi attributes volatile-zero
+-  `86b5d355d643 <https://github.com/open-power/hostboot/commit/86b5d355d643>`__ Delete complextype
+   fields in attributes if they have no value
+-  `e73d0c117548 <https://github.com/open-power/hostboot/commit/e73d0c117548>`__ Force reboot
+   without visible errors for core wakeup failure
+-  `386165c1c5da <https://github.com/open-power/hostboot/commit/386165c1c5da>`__ Updates to
+   testcases for Axone
+-  `ce4004d542f1 <https://github.com/open-power/hostboot/commit/ce4004d542f1>`__ Create runtime mss
+   library
+-  `4636db0ab1ec <https://github.com/open-power/hostboot/commit/4636db0ab1ec>`__ Always use original
+   defaults for attribute fields with no value
+-  `0b3f4e146b01 <https://github.com/open-power/hostboot/commit/0b3f4e146b01>`__ Use meaningful
+   values for PNOR build parms
+-  `7d86b40c30c1 <https://github.com/open-power/hostboot/commit/7d86b40c30c1>`__ Modify rank
+   variable for OCMB VPD lookup
+-  `c2c08ea15af6 <https://github.com/open-power/hostboot/commit/c2c08ea15af6>`__ Remove old fapi
+   files
+-  `63622494a0f3 <https://github.com/open-power/hostboot/commit/63622494a0f3>`__ Add PMIC target
+-  `e0f035161098 <https://github.com/open-power/hostboot/commit/e0f035161098>`__ Tweak page eviction
+   parameters to handle low mem better
+-  `2c2978d3a443 <https://github.com/open-power/hostboot/commit/2c2978d3a443>`__ Add ASSERT trace
+   buffer to task crash log
+-  `8fc37a704410 <https://github.com/open-power/hostboot/commit/8fc37a704410>`__ Create
+   p9a_disable_ocmb_i2c HWP
+-  `27d7ab8db738 <https://github.com/open-power/hostboot/commit/27d7ab8db738>`__ Moving libnvdimm
+   into a resident module
+-  `7c067d46c2f7 <https://github.com/open-power/hostboot/commit/7c067d46c2f7>`__ Make pci cache
+   injection attributes writeable
+
+Dean Sanner (2):
+
+-  `73fc80f05f07 <https://github.com/open-power/hostboot/commit/73fc80f05f07>`__ Base HWP mirroring
+   control on HB policy
+-  `610f16673641 <https://github.com/open-power/hostboot/commit/610f16673641>`__ Allow OPAL to run
+   on fused cores
+
+Glenn Miles (6):
+
+-  `0af9610f18a1 <https://github.com/open-power/hostboot/commit/0af9610f18a1>`__ Make access to
+   iv_overridePtr threadsafe
+-  `676c584aaa70 <https://github.com/open-power/hostboot/commit/676c584aaa70>`__ Make more room for
+   hbicore_extended in PNOR layout files.
+-  `814734326962 <https://github.com/open-power/hostboot/commit/814734326962>`__ Use thread_local
+   for globals that require it
+-  `373d8a5fb285 <https://github.com/open-power/hostboot/commit/373d8a5fb285>`__ Run memory training
+   in parallel across centaurs
+-  `853d251aef29 <https://github.com/open-power/hostboot/commit/853d251aef29>`__ Add 1MB to PNOR HBI
+   section
+-  `f6ddb6dc19f8 <https://github.com/open-power/hostboot/commit/f6ddb6dc19f8>`__ Add checks for
+   invalid trace data in removeDuplicateTraces
+
+Ilya Smirnov (5):
+
+-  `b1c1b2cc5e78 <https://github.com/open-power/hostboot/commit/b1c1b2cc5e78>`__ Secureboot:
+   Enhanced Multinode Comm: TPM_POISONED
+-  `ed35e3da7c26 <https://github.com/open-power/hostboot/commit/ed35e3da7c26>`__ Unit Tests For SMF
+   Secure Mem Distribution
+-  `9ece0ede203d <https://github.com/open-power/hostboot/commit/9ece0ede203d>`__ SMF: Memory
+   Distribution Logic Improvements
+-  `eeb5732a169d <https://github.com/open-power/hostboot/commit/eeb5732a169d>`__ Revert “SMF: Create
+   New UVBWLIST Partition”
+-  `c7534ed92a2d <https://github.com/open-power/hostboot/commit/c7534ed92a2d>`__ Secureboot:
+   Enhanced Nomdecomm: Quote Fix
+
+Jacob Harvey (1):
+
+-  `e7f0582196fb <https://github.com/open-power/hostboot/commit/e7f0582196fb>`__ L3 work for mss
+   xmls
+
+Jayashankar Padath (1):
+
+-  `596bde3e93f3 <https://github.com/open-power/hostboot/commit/596bde3e93f3>`__ HDAT : Support of
+   new Rugby values in P9N systems
+
+Jaymes Wilks (2):
+
+-  `f5475890894b <https://github.com/open-power/hostboot/commit/f5475890894b>`__ Support thread
+   local storage
+-  `ff62338a5699 <https://github.com/open-power/hostboot/commit/ff62338a5699>`__ Thread local
+   storage: Update unit tests for thread local storage
+
+Jenny Huynh (1):
+
+-  `1c6429e239e2 <https://github.com/open-power/hostboot/commit/1c6429e239e2>`__ HW483672: Enable
+   TLBIE WAT (version 5); fixes unintended flushing
+
+Joe McGill (1):
+
+-  `87cc9b25b008 <https://github.com/open-power/hostboot/commit/87cc9b25b008>`__ cleanup references
+   to chip-centric EC feature attributes
+
+Kahn Evans (1):
+
+-  `e45d35734d18 <https://github.com/open-power/hostboot/commit/e45d35734d18>`__ Fix doxygen
+   warnings
+
+Louis Stermole (11):
+
+-  `5fcfd69a0278 <https://github.com/open-power/hostboot/commit/5fcfd69a0278>`__ Remove MBA GARD
+   from RC_CEN_MSS_DRAMINIT_MC_INSUF_RCD_PROTECT_TIME
+-  `835d2074b6bc <https://github.com/open-power/hostboot/commit/835d2074b6bc>`__ Add empty files
+   required for mss::index, pos, and c_str templating
+-  `197507fb6e80 <https://github.com/open-power/hostboot/commit/197507fb6e80>`__ Add empty file
+   required for templating eff_memory_size
+-  `ebf6fda9958f <https://github.com/open-power/hostboot/commit/ebf6fda9958f>`__ Add empty files
+   required for p9a_mss_freq
+-  `6f660c2b98b7 <https://github.com/open-power/hostboot/commit/6f660c2b98b7>`__ Add new files
+   required for fixing mss::index, mss::pos, and mss::c_str
+-  `0f728a100a8e <https://github.com/open-power/hostboot/commit/0f728a100a8e>`__ Add empty file for
+   explorer eff_memory_size specialization
+-  `8fc0e7abffb0 <https://github.com/open-power/hostboot/commit/8fc0e7abffb0>`__ Add p9a version of
+   eff_memory_size API
+-  `ca025608c0c1 <https://github.com/open-power/hostboot/commit/ca025608c0c1>`__ Move p9a sync.C and
+   sync.H to new names to fix collisions
+-  `6bdf34b9fe0a <https://github.com/open-power/hostboot/commit/6bdf34b9fe0a>`__ Add workaround for
+   Nimbus symbol mark performance hw bug
+-  `76a4f5d86930 <https://github.com/open-power/hostboot/commit/76a4f5d86930>`__ Move explorer
+   specialization of eff_memory_size into explorer lib
+-  `a5d11b476381 <https://github.com/open-power/hostboot/commit/a5d11b476381>`__ Add empty files for
+   DEFAULT_MC_TYPE constants
+
+Luis Fernandez (2):
+
+-  `90552694307e <https://github.com/open-power/hostboot/commit/90552694307e>`__ Secure Boot: Log
+   error when attribute override attempted in secure mode
+-  `ab6efc5935dc <https://github.com/open-power/hostboot/commit/ab6efc5935dc>`__ HB Improvements:
+   Fix compiler warnings on modern compilers
+
+Mark Pizzutillo (4):
+
+-  `847ced968c58 <https://github.com/open-power/hostboot/commit/847ced968c58>`__ Add blank files for
+   axone p10 rank API
+-  `7b3c165b9c65 <https://github.com/open-power/hostboot/commit/7b3c165b9c65>`__ Add empty files for
+   gemini IPL
+-  `af6712fe5c03 <https://github.com/open-power/hostboot/commit/af6712fe5c03>`__ Remove files not
+   needed by gemini IPL
+-  `9011abf477a1 <https://github.com/open-power/hostboot/commit/9011abf477a1>`__ Add wrapper and
+   utils blank files for exp_getecid
+
+Matt Derksen (4):
+
+-  `518a05ca5136 <https://github.com/open-power/hostboot/commit/518a05ca5136>`__ Move nvdimm_update
+   call to istep 21.1
+-  `2df122342fae <https://github.com/open-power/hostboot/commit/2df122342fae>`__ Use NVDIMM lids for
+   update
+-  `a5c403221e3e <https://github.com/open-power/hostboot/commit/a5c403221e3e>`__ Fixing runtime i2c
+   operation
+-  `f5ab52ab7117 <https://github.com/open-power/hostboot/commit/f5ab52ab7117>`__ NVDIMM update code
+
+Matt K. Light (1):
+
+-  `a7c8ac4df4e1 <https://github.com/open-power/hostboot/commit/a7c8ac4df4e1>`__ move
+   ATTR_SPD_OVERRIDE[_ENABLE] to cronus only file
+
+Matt Raybuck (1):
+
+-  `4b29a1188536 <https://github.com/open-power/hostboot/commit/4b29a1188536>`__ UCD attribute and
+   targeting updates
+
+Matthew Raybuck (10):
+
+-  `d2899da82cb0 <https://github.com/open-power/hostboot/commit/d2899da82cb0>`__ Improve performance
+   of Partial Good logic
+-  `3830dc6e8fb0 <https://github.com/open-power/hostboot/commit/3830dc6e8fb0>`__ Support UCD target
+   generation for Zeppelin MRW
+-  `d47b63700d87 <https://github.com/open-power/hostboot/commit/d47b63700d87>`__ Add functions to
+   get Device Id and MFR revision from UCD
+-  `3265b62f038c <https://github.com/open-power/hostboot/commit/3265b62f038c>`__ Improve performance
+   of general PG algorithm
+-  `2cfb551c4e56 <https://github.com/open-power/hostboot/commit/2cfb551c4e56>`__ TESTCASES: Improve
+   performance of general PG algorithm
+-  `086018c231e7 <https://github.com/open-power/hostboot/commit/086018c231e7>`__ Support UCD for I2C
+   callouts
+-  `c3264eed4874 <https://github.com/open-power/hostboot/commit/c3264eed4874>`__ Add minor tweaks to
+   I2C Callouts for UCD
+-  `8684bd3d5656 <https://github.com/open-power/hostboot/commit/8684bd3d5656>`__ Add retry loop to
+   UCD deviceOps
+-  `b445b93fc21e <https://github.com/open-power/hostboot/commit/b445b93fc21e>`__ Handle bad PEC from
+   UCD device op
+-  `ac7a4f206efe <https://github.com/open-power/hostboot/commit/ac7a4f206efe>`__ Fix UCD retry loop
+   size bug
+
+Mike Baiocchi (7):
+
+-  `d74d3932d989 <https://github.com/open-power/hostboot/commit/d74d3932d989>`__ Secureboot: Enhance
+   Error Callouts For New Multinode Trustedboot Transfer
+-  `4eb72a8bf074 <https://github.com/open-power/hostboot/commit/4eb72a8bf074>`__ Adjust I2C Reset
+   for OpenPower MPIPL
+-  `656ba908c6f2 <https://github.com/open-power/hostboot/commit/656ba908c6f2>`__ Add UCD devices to
+   ATTR_I2C_BUS_SPEED_ARRAY for ZZ
+-  `08d6bc305592 <https://github.com/open-power/hostboot/commit/08d6bc305592>`__ Update UCD class
+   member variables and functions
+-  `ffdc6b255981 <https://github.com/open-power/hostboot/commit/ffdc6b255981>`__ Add check to
+   determine if a UCD’s I2C Master is functional
+-  `72fc1da005b7 <https://github.com/open-power/hostboot/commit/72fc1da005b7>`__ Invoke UCD Update
+   Algorithm on UCD Devices
+-  `571956c7f546 <https://github.com/open-power/hostboot/commit/571956c7f546>`__ Create Attribute to
+   force UCD Updates
+
+Murulidhar Nataraju (1):
+
+-  `6b7bbd62febe <https://github.com/open-power/hostboot/commit/6b7bbd62febe>`__ Enable OCC Start in
+   MPIPL path for OPAL based systems
+
+Nick Bofferding (9):
+
+-  `90b00de769e0 <https://github.com/open-power/hostboot/commit/90b00de769e0>`__ Enhance RAS for
+   case where boot firmware image is too big to load
+-  `09a3da759682 <https://github.com/open-power/hostboot/commit/09a3da759682>`__ UCD Flash Update:
+   Support I2C SMBUS operations for UCD flash update
+-  `10784ce5d02b <https://github.com/open-power/hostboot/commit/10784ce5d02b>`__ Support UCD target
+   generation for ZZ MRW
+-  `642a5f63c61b <https://github.com/open-power/hostboot/commit/642a5f63c61b>`__ Support UCD
+   discovery
+-  `5588cf81b95d <https://github.com/open-power/hostboot/commit/5588cf81b95d>`__ Fix bug where task
+   migrates away from pinned CPU unexpectedly
+-  `810394f87078 <https://github.com/open-power/hostboot/commit/810394f87078>`__ UCD flash update
+   invoker
+-  `0d9e3f2cde91 <https://github.com/open-power/hostboot/commit/0d9e3f2cde91>`__ Verify UCD update
+   success at end of store to UCD flash
+-  `de2312a44b13 <https://github.com/open-power/hostboot/commit/de2312a44b13>`__ Fix deadlock in ECC
+   error shutdown path
+-  `ca03643dd893 <https://github.com/open-power/hostboot/commit/ca03643dd893>`__ Initialize backup
+   TPM in MPIPL
+
+Prasad Bg Ranganath (1):
+
+-  `4d983e4c8bdd <https://github.com/open-power/hostboot/commit/4d983e4c8bdd>`__ PPB: Refactor
+   pstate parameter block
+
+Prem Shanker Jha (1):
+
+-  `143d03952806 <https://github.com/open-power/hostboot/commit/143d03952806>`__ Image Build: Fixed
+   handling of unsecure HOMER address field.
+
+Raja Das (2):
+
+-  `55260d579728 <https://github.com/open-power/hostboot/commit/55260d579728>`__ Security List
+   Binary Dump Chip-op Support
+-  `b8f4e5009a34 <https://github.com/open-power/hostboot/commit/b8f4e5009a34>`__ OPAL/MPIPL:
+   Processor Dump Area Table interfaces
+
+Ricardo Mata Jr (1):
+
+-  `784fe894f9ec <https://github.com/open-power/hostboot/commit/784fe894f9ec>`__ Updated
+   proc_pcie_config to support cache inject attributes
+
+Roland Veloz (3):
+
+-  `6e84cce39773 <https://github.com/open-power/hostboot/commit/6e84cce39773>`__ Force VPD IO
+   through HW (Axone) ,add plat function to get OCMB VPD
+-  `038631ba24f0 <https://github.com/open-power/hostboot/commit/038631ba24f0>`__ Updated file
+   ddimm_get_efd.C to be in sync with file ddimm_get_efd.xml
+-  `17930bb348b5 <https://github.com/open-power/hostboot/commit/17930bb348b5>`__ Unit test and
+   integration test for platGetVPD(OCMB) call
+
+Sharath Manjunath (1):
+
+-  `bdaa5b1d2af3 <https://github.com/open-power/hostboot/commit/bdaa5b1d2af3>`__ Update exp_draminit
+   to read values from attributes
+
+Stanley Zheng (1):
+
+-  `c23e99369c50 <https://github.com/open-power/hostboot/commit/c23e99369c50>`__ add address xlate
+   to initfile
+
+Stephen Glancy (8):
+
+-  `dadbba56f413 <https://github.com/open-power/hostboot/commit/dadbba56f413>`__ Adds SI setting for
+   4R and dual-drop LRDIMM configs
+-  `c050abede299 <https://github.com/open-power/hostboot/commit/c050abede299>`__ Updates the
+   explorer training response structure
+-  `6fa8d0452930 <https://github.com/open-power/hostboot/commit/6fa8d0452930>`__ Updates read to
+   write timers for LRDIMM
+-  `c96464c7d525 <https://github.com/open-power/hostboot/commit/c96464c7d525>`__ Moves set bad
+   bitmap into generic
+-  `2b943a5ba24f <https://github.com/open-power/hostboot/commit/2b943a5ba24f>`__ Fixes MPR read ODT
+   values
+-  `b850083ce640 <https://github.com/open-power/hostboot/commit/b850083ce640>`__ Fixes LRDIMM CKE
+   issue
+-  `8e0290d32802 <https://github.com/open-power/hostboot/commit/8e0290d32802>`__ Fixes LRDIMM rank
+   configuration for dual-drop
+-  `cd82f3ecbcef <https://github.com/open-power/hostboot/commit/cd82f3ecbcef>`__ Adds DDIMM EFD
+   decoder API
+
+Steven Janssen (1):
+
+-  `85942470b223 <https://github.com/open-power/hostboot/commit/85942470b223>`__ Update function
+   pointer name to correctly point to function
+
+Stewart Smith (1):
+
+-  `4470dc33a126 <https://github.com/open-power/hostboot/commit/4470dc33a126>`__ Disable warnings
+   that crop up a lot with GCC6
+
+Sumit Kumar (1):
+
+-  `395f284926ab <https://github.com/open-power/hostboot/commit/395f284926ab>`__ FAPI_Infra:Add new
+   member to structure ErrorInfoHwCallout
+
+Tsung Yeung (3):
+
+-  `8eb0494af6a1 <https://github.com/open-power/hostboot/commit/8eb0494af6a1>`__ Enforces NVDIMM
+   Pairing
+-  `da2c80997909 <https://github.com/open-power/hostboot/commit/da2c80997909>`__ Suppresses
+   maintenance error messages due to STR exit
+-  `c2a9006d0552 <https://github.com/open-power/hostboot/commit/c2a9006d0552>`__ NVDIMM RCD restore
+   fix and zqcal timing fix
+
+Package: occ
+------------
+
+`Repository <https://github.com/open-power/occ>`__
+
+.. _v2.3-patches-2:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-2:
+
+Commits
+~~~~~~~
+
+Chris Cain (2):
+
+-  `1904821d6279 <https://github.com/open-power/occ/commit/1904821d6279>`__ Updates to wofparser
+   tool
+-  `98ccba678ad4 <https://github.com/open-power/occ/commit/98ccba678ad4>`__ Support for PGPE error
+   handling
+
+William Bryan (1):
+
+-  `6e52f56bd2cc <https://github.com/open-power/occ/commit/6e52f56bd2cc>`__ Fix memory bandwidth
+   chom averages
+
+Zane Shelley (11):
+
+-  `75f2dd306f18 <https://github.com/open-power/occ/commit/75f2dd306f18>`__ FIRDATA: fix iteration
+   bug in firData.c
+-  `d60be21fc396 <https://github.com/open-power/occ/commit/d60be21fc396>`__ FIRDATA: remove
+   Cumulus/Centaur targets and add Axone/Explorer
+-  `d85d3c5387ec <https://github.com/open-power/occ/commit/d85d3c5387ec>`__ FIRDATA: add Axone
+   memory subsystem SCOM support
+-  `18fa6f29e388 <https://github.com/open-power/occ/commit/18fa6f29e388>`__ FIRDATA: removed HOMER
+   support for Cumulus/Centaur
+-  `d2801157a080 <https://github.com/open-power/occ/commit/d2801157a080>`__ FIRDATA: Clean up HOMER
+   parsing variables in firData.c
+-  `d4e558e09c51 <https://github.com/open-power/occ/commit/d4e558e09c51>`__ FIRDATA: Simplified
+   adding targets to PNOR
+-  `29d1d67db71c <https://github.com/open-power/occ/commit/29d1d67db71c>`__ FIRDATA: Simplified
+   adding chip units to PNOR
+-  `69bac807b007 <https://github.com/open-power/occ/commit/69bac807b007>`__ FIRDATA: Simplified
+   iterating targets from HOMER in firData.c
+-  `b673f22459ca <https://github.com/open-power/occ/commit/b673f22459ca>`__ FIRDATA: Further
+   simplifying iteration variables in firData.c
+-  `6220fb3d8d7a <https://github.com/open-power/occ/commit/6220fb3d8d7a>`__ FIRDATA: Simplified
+   adding subunit targets to PNOR in firData.c
+-  `58e422dede59 <https://github.com/open-power/occ/commit/58e422dede59>`__ FIRDATA: added
+   Axone/Explorer support to firData.c
+
+Package: op-build
+-----------------
+
+`Repository <https://github.com/open-power/op-build>`__
+
+.. _v2.3-patches-3:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-3:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: p9dsu-xml
+------------------
+
+`Repository <https://github.com/open-power/p9dsu-xml>`__
+
+.. _v2.3-patches-4:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-4:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: palmetto-xml
+---------------------
+
+`Repository <https://github.com/open-power/palmetto-xml>`__
+
+.. _v2.3-patches-5:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-5:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: petitboot
+------------------
+
+`Repository <https://github.com/open-power/petitboot>`__
+
+.. _v2.3-patches-6:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-6:
+
+Commits
+~~~~~~~
+
+Samuel Mendoza-Jonas (6):
+
+-  `df1a234c15fb <https://github.com/open-power/petitboot/commit/df1a234c15fb>`__ lib/system: Add
+   cryptsetup utility
+-  `ba8144f917f5 <https://github.com/open-power/petitboot/commit/ba8144f917f5>`__ lib/process: Add
+   option to pipe to process stdin
+-  `5f8fa2c151b8 <https://github.com/open-power/petitboot/commit/5f8fa2c151b8>`__ lib: Add
+   AUTH_MSG_DECRYPT
+-  `f583f0cf35fc <https://github.com/open-power/petitboot/commit/f583f0cf35fc>`__ discover:
+   Recognise and open LUKS encrypted partitions
+-  `1ad18bf128c4 <https://github.com/open-power/petitboot/commit/1ad18bf128c4>`__ ui/ncurses: Add
+   prompt for LUKS device password
+-  `1cd261748c00 <https://github.com/open-power/petitboot/commit/1cd261748c00>`__ utils/pb-console:
+   Use -m to run shell in own process group
+
+Package: pnor
+-------------
+
+`Repository <https://github.com/open-power/pnor>`__
+
+.. _v2.3-patches-7:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-7:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: romulus-xml
+--------------------
+
+`Repository <https://github.com/open-power/romulus-xml>`__
+
+.. _v2.3-patches-8:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-8:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: sbe
+------------
+
+`Repository <https://github.com/open-power/sbe>`__
+
+.. _v2.3-patches-9:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-9:
+
+Commits
+~~~~~~~
+
+Christian Geddes (1):
+
+-  `0f9a51d0059e <https://github.com/open-power/sbe/commit/0f9a51d0059e>`__ Update i2c driver for
+   OCMB chip
+
+Christopher M Riedl (1):
+
+-  `a3b2377b7de1 <https://github.com/open-power/sbe/commit/a3b2377b7de1>`__ Implement PBA
+   Cache-Inhibited 8B Rd/Wr Access
+
+Dan Crowell (1):
+
+-  `c9b85ed2ed42 <https://github.com/open-power/sbe/commit/c9b85ed2ed42>`__ Add
+   ATTR_ENABLED_OBUS_BRICKS
+
+Jenny Huynh (6):
+
+-  `be0d09d34335 <https://github.com/open-power/sbe/commit/be0d09d34335>`__ HW477626 Dangerous Elk -
+   Applies to CDD12+
+-  `e18d802d082f <https://github.com/open-power/sbe/commit/e18d802d082f>`__ HW477626 Dangerous Elk -
+   Temporarily apply to CDD13 native only
+-  `04c534c750c6 <https://github.com/open-power/sbe/commit/04c534c750c6>`__ HW477626 Dangerous Elk -
+   Reapply for all CDD12+ risk levels
+-  `f3b4f8efe1f8 <https://github.com/open-power/sbe/commit/f3b4f8efe1f8>`__ Additional core inits
+   for Nimbus DD2.3 compatibility modes
+-  `934ccd82e22f <https://github.com/open-power/sbe/commit/934ccd82e22f>`__ Axone core initfile
+   update to match Nimbus DD23
+-  `4a5f8ddab286 <https://github.com/open-power/sbe/commit/4a5f8ddab286>`__ Adjust PVR Version for
+   Axone
+
+Joachim Fenkes (5):
+
+-  `b9b668e5916e <https://github.com/open-power/sbe/commit/b9b668e5916e>`__ FAPI2: Multicast API
+   1/2: Platform-breaking changes
+-  `8a09d58df7aa <https://github.com/open-power/sbe/commit/8a09d58df7aa>`__ FAPI2: Multicast API
+   2/2: Introduce the actual multicast functions
+-  `4529a95e14de <https://github.com/open-power/sbe/commit/4529a95e14de>`__ Add tools to help
+   measure and compare SBE image size
+-  `5786b04efe86 <https://github.com/open-power/sbe/commit/5786b04efe86>`__ p9_sbe_tp_chiplet_init3:
+   Mask TOD error bit 62 (osclite switched)
+-  `e8590a9d3a19 <https://github.com/open-power/sbe/commit/e8590a9d3a19>`__ p9_sbe_npll_setup:
+   Enable spread spectrum before starting PLL
+
+Joe McGill (1):
+
+-  `81642d21704f <https://github.com/open-power/sbe/commit/81642d21704f>`__ whitelist update for
+   ABUS CCM
+
+Prasad Bg Ranganath (3):
+
+-  `9eba57570f29 <https://github.com/open-power/sbe/commit/9eba57570f29>`__ PPB:New attribute
+   ATTR_PMCR_MOST_RECENT_MODE for PMCR request
+-  `8fd8d1401c5f <https://github.com/open-power/sbe/commit/8fd8d1401c5f>`__ HWP:Cache stop clocks
+   complete fix
+-  `1410677b65e4 <https://github.com/open-power/sbe/commit/1410677b65e4>`__ PM HWP: Fix bug in stop
+   clock procedure that effects mpipl
+
+Prem Shanker Jha (2):
+
+-  `b6b4eafa650c <https://github.com/open-power/sbe/commit/b6b4eafa650c>`__ SMF: Defined new
+   attribute containing unsecure HOMER memory’s size.
+-  `47f5faba3803 <https://github.com/open-power/sbe/commit/47f5faba3803>`__ SMF: Populates unsecure
+   HOMER with SC2 instruction.
+
+Pretty Mariam Jacob (1):
+
+-  `b2548e254811 <https://github.com/open-power/sbe/commit/b2548e254811>`__ Added Alink changes in
+   attributes and initfiles
+
+Raja Das (5):
+
+-  `0420efec88bd <https://github.com/open-power/sbe/commit/0420efec88bd>`__ White/Black/Grey List
+   Binary dump PSU Chip-op Support
+-  `0321b165dad7 <https://github.com/open-power/sbe/commit/0321b165dad7>`__ SBE scripts to update
+   pib repair data
+-  `9f9f77cec3cb <https://github.com/open-power/sbe/commit/9f9f77cec3cb>`__ L1 loader Axone Pibmem
+   repair parse
+-  `c508f8e9d96e <https://github.com/open-power/sbe/commit/c508f8e9d96e>`__ NVDIMM Flush update
+-  `57905edebf34 <https://github.com/open-power/sbe/commit/57905edebf34>`__ Axone pibmem repair
+   logic
+
+Soma BhanuTej (1):
+
+-  `1d73131d1a11 <https://github.com/open-power/sbe/commit/1d73131d1a11>`__ Update p9a_10 engd - spy
+   name changes
+
+Srikantha Meesala (1):
+
+-  `9b5f5c303ddc <https://github.com/open-power/sbe/commit/9b5f5c303ddc>`__ Befor flushNVDIMM
+   chip-op make sure all core Instructions are stopped
+
+Stephen Glancy (2):
+
+-  `953dc3134693 <https://github.com/open-power/sbe/commit/953dc3134693>`__ Updates MWD_COARSE to
+   run multiple patterns
+-  `6eb2a4c0f0d8 <https://github.com/open-power/sbe/commit/6eb2a4c0f0d8>`__ Updates MCA write and
+   read timings
+
+Tsung Yeung (1):
+
+-  `1ac3d5b9cd5f <https://github.com/open-power/sbe/commit/1ac3d5b9cd5f>`__ Adjust STR enter
+   sequence to enable immediate entry
+
+kswaroop (1):
+
+-  `81c848765857 <https://github.com/open-power/sbe/commit/81c848765857>`__ PIBMEM only image
+
+Package: skiboot
+----------------
+
+`Repository <https://github.com/open-power/skiboot>`__
+
+.. _v2.3-patches-10:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-10:
+
+Commits
+~~~~~~~
+
+Abhishek Goel (1):
+
+-  `b821f8c2a8e3 <https://github.com/open-power/skiboot/commit/b821f8c2a8e3>`__ power-mgmt : occ :
+   Add ‘freq-domain-mask’ DT property
+
+Akshay Adiga (2):
+
+-  `40b99f58ea37 <https://github.com/open-power/skiboot/commit/40b99f58ea37>`__ SLW: Remove Idle
+   state support tor Power8 DD1
+-  `c46ab3a0509c <https://github.com/open-power/skiboot/commit/c46ab3a0509c>`__ SLW: Print verbose
+   info on errors only
+
+Alexey Kardashevskiy (9):
+
+-  `17975a6e6457 <https://github.com/open-power/skiboot/commit/17975a6e6457>`__ cpufeatures: Always
+   advertise POWER8NVL as DD2
+-  `64627c85e648 <https://github.com/open-power/skiboot/commit/64627c85e648>`__ cpufeatures: Always
+   advertise POWER8NVL as DD2
+-  `fd0950488f7f <https://github.com/open-power/skiboot/commit/fd0950488f7f>`__ opal: Deprecate
+   reading the PHB status
+-  `4824d17bb53b <https://github.com/open-power/skiboot/commit/4824d17bb53b>`__ hw/phb3/naples:
+   Disable D-states
+-  `889dba86c3c8 <https://github.com/open-power/skiboot/commit/889dba86c3c8>`__ hw/phb3/naples:
+   Disable D-states
+-  `ba1d95a1d460 <https://github.com/open-power/skiboot/commit/ba1d95a1d460>`__ npu2: Add
+   XTS_BDF_MAP wildcard refcount
+-  `c0f17caddcd8 <https://github.com/open-power/skiboot/commit/c0f17caddcd8>`__ npu2: Allow ATSD for
+   LPAR other than 0
+-  `b392d785eb49 <https://github.com/open-power/skiboot/commit/b392d785eb49>`__ witherspoon: Add
+   nvlink2 interconnect information
+-  `0f492a925908 <https://github.com/open-power/skiboot/commit/0f492a925908>`__ npu2: Disable
+   Probe-to-Invalid-Return-Modified-or-Owned snarfing by default
+
+Andrew Donnellan (11):
+
+-  `682fa68e577c <https://github.com/open-power/skiboot/commit/682fa68e577c>`__
+   platforms/witherspoon: Make PCIe shared slot error message more informative
+-  `e1c3ed8224bf <https://github.com/open-power/skiboot/commit/e1c3ed8224bf>`__ config: Get rid of
+   DEBUG_MALLOC
+-  `647dc4aff7b6 <https://github.com/open-power/skiboot/commit/647dc4aff7b6>`__ config: Get rid of
+   FAST_REBOOT_CLEARS_MEMORY
+-  `c9bc52a250a0 <https://github.com/open-power/skiboot/commit/c9bc52a250a0>`__ core/stack: Remove
+   r1 argument from \___backtrace()
+-  `b971b67ac2e1 <https://github.com/open-power/skiboot/commit/b971b67ac2e1>`__ core/stack: Define a
+   backtrace metadata struct
+-  `80a49c7022b2 <https://github.com/open-power/skiboot/commit/80a49c7022b2>`__ core/stack: Store
+   PIR in \___backtrace()
+-  `8dddd751ef43 <https://github.com/open-power/skiboot/commit/8dddd751ef43>`__ hw/fsp, hw/ipmi:
+   Convert attn code to not use backtrace wrappers
+-  `e5a7411cd74e <https://github.com/open-power/skiboot/commit/e5a7411cd74e>`__ core/stack: Convert
+   stack check code to not use backtrace wrapper
+-  `b965b9de25d2 <https://github.com/open-power/skiboot/commit/b965b9de25d2>`__ core/stack: Rename
+   backtrace functions, get rid of wrappers
+-  `73cd109ecd8f <https://github.com/open-power/skiboot/commit/73cd109ecd8f>`__ opal-api: Reserve 2
+   OPAL API calls for future OpenCAPI LPC use
+-  `b3bc840c1d85 <https://github.com/open-power/skiboot/commit/b3bc840c1d85>`__ hw/npu2: Fix
+   OpenCAPI PE assignment
+
+Andrew Jeffery (115):
+
+-  `bd9839684d48 <https://github.com/open-power/skiboot/commit/bd9839684d48>`__ astbmc: Try IPMI
+   HIOMAP for P8
+-  `71ce936ffe38 <https://github.com/open-power/skiboot/commit/71ce936ffe38>`__ p8dtu: Enable HIOMAP
+   support
+-  `9dcbd1f41d98 <https://github.com/open-power/skiboot/commit/9dcbd1f41d98>`__ p8dtu: Configure BMC
+   graphics
+-  `963629523084 <https://github.com/open-power/skiboot/commit/963629523084>`__ pflash: Don’t try
+   update RO ToC
+-  `0dec1de73e1e <https://github.com/open-power/skiboot/commit/0dec1de73e1e>`__ libflash/test:
+   Generate header dependencies for tests
+-  `3852a9460abc <https://github.com/open-power/skiboot/commit/3852a9460abc>`__ ffspart, libflash:
+   Fix stack size warnings
+-  `a7e1efe864ad <https://github.com/open-power/skiboot/commit/a7e1efe864ad>`__ pflash: Increase
+   stack frame size warning threshold
+-  `5636d390b7f0 <https://github.com/open-power/skiboot/commit/5636d390b7f0>`__ gard: Fix warnings
+   from gcc 8.2.0
+-  `96409597aa39 <https://github.com/open-power/skiboot/commit/96409597aa39>`__ Makefile: Paper over
+   gard and pflash coverage issues
+-  `43ca6a2e5b12 <https://github.com/open-power/skiboot/commit/43ca6a2e5b12>`__ test-ipmi-hiomap:
+   Add ability to delay some IPMI messages
+-  `f246cceda717 <https://github.com/open-power/skiboot/commit/f246cceda717>`__ test-ipmi-hiomap:
+   Dump unexpected IPMI messages
+-  `5293333dd1af <https://github.com/open-power/skiboot/commit/5293333dd1af>`__ test-ipmi-hiomap:
+   Ensure the completion code is set
+-  `f46ed4f7ee79 <https://github.com/open-power/skiboot/commit/f46ed4f7ee79>`__ test-ipmi-hiomap:
+   Print some information on early scenario_exit()
+-  `1b3a5dfbdf92 <https://github.com/open-power/skiboot/commit/1b3a5dfbdf92>`__
+   libflash/ipmi-hiomap: Fix leak of msg in callback
+-  `64a61885a229 <https://github.com/open-power/skiboot/commit/64a61885a229>`__
+   libflash/ipmi-hiomap: Overhaul error handling
+-  `403d527269be <https://github.com/open-power/skiboot/commit/403d527269be>`__
+   libflash/ipmi-hiomap: Overhaul event handling
+-  `6d8bd2dd9eab <https://github.com/open-power/skiboot/commit/6d8bd2dd9eab>`__
+   libflash/ipmi-hiomap: Remove unused close handling
+-  `4af122b23402 <https://github.com/open-power/skiboot/commit/4af122b23402>`__
+   libflash/ipmi-hiomap: Enforce message size for empty response
+-  `41e6e8b4acf7 <https://github.com/open-power/skiboot/commit/41e6e8b4acf7>`__ test-ipmi-hiomap:
+   Add protocol-persistent-error test
+-  `5b12dfe8dd0d <https://github.com/open-power/skiboot/commit/5b12dfe8dd0d>`__ test-ipmi-hiomap:
+   Add read-one-block test
+-  `d4b870c8524c <https://github.com/open-power/skiboot/commit/d4b870c8524c>`__ test-ipmi-hiomap:
+   Add read-two-blocks test
+-  `e1f20bfd7d91 <https://github.com/open-power/skiboot/commit/e1f20bfd7d91>`__ test-ipmi-hiomap:
+   Add event-before-read
+-  `fd271bc570d3 <https://github.com/open-power/skiboot/commit/fd271bc570d3>`__ test-ipmi-hiomap:
+   Add event-during-read test
+-  `e69b1135db38 <https://github.com/open-power/skiboot/commit/e69b1135db38>`__ test-ipmi-hiomap:
+   Add write-one-block test
+-  `eb0c85ae9868 <https://github.com/open-power/skiboot/commit/eb0c85ae9868>`__ test-ipmi-hiomap:
+   Add write-two-blocks test
+-  `7f246ff2c999 <https://github.com/open-power/skiboot/commit/7f246ff2c999>`__ test-ipmi-hiomap:
+   Add event-before-write test
+-  `9175028fc84a <https://github.com/open-power/skiboot/commit/9175028fc84a>`__ test-ipmi-hiomap:
+   Add event-during-write test
+-  `5ee7b0f70b04 <https://github.com/open-power/skiboot/commit/5ee7b0f70b04>`__ test-ipmi-hiomap:
+   Add erase-one-block test
+-  `275b3d12af39 <https://github.com/open-power/skiboot/commit/275b3d12af39>`__ test-ipmi-hiomap:
+   Add erase-two-blocks test
+-  `410b80725ad2 <https://github.com/open-power/skiboot/commit/410b80725ad2>`__ test-ipmi-hiomap:
+   Add event-before-erase test
+-  `c2a4b4988ecc <https://github.com/open-power/skiboot/commit/c2a4b4988ecc>`__ test-ipmi-hiomap:
+   Add event-during-erase
+-  `077d19d82405 <https://github.com/open-power/skiboot/commit/077d19d82405>`__ test-ipmi-hiomap:
+   Add bad-sequence test
+-  `ecf6430d1ee9 <https://github.com/open-power/skiboot/commit/ecf6430d1ee9>`__ test-ipmi-hiomap:
+   Add action-error test
+-  `f65c781eee16 <https://github.com/open-power/skiboot/commit/f65c781eee16>`__ test-ipmi-hiomap:
+   Add get-flash-info test
+-  `bcdd3f134970 <https://github.com/open-power/skiboot/commit/bcdd3f134970>`__ test-ipmi-hiomap:
+   Add get-info-error test
+-  `0bef2695055d <https://github.com/open-power/skiboot/commit/0bef2695055d>`__ test-ipmi-hiomap:
+   Add get-flash-info-error test
+-  `c4d5734fde21 <https://github.com/open-power/skiboot/commit/c4d5734fde21>`__ test-ipmi-hiomap:
+   Add create-read-window-error test
+-  `364b433adb7d <https://github.com/open-power/skiboot/commit/364b433adb7d>`__ test-ipmi-hiomap:
+   Add create-write-window-error test
+-  `a4349da67c9c <https://github.com/open-power/skiboot/commit/a4349da67c9c>`__ test-ipmi-hiomap:
+   Add mark-dirty-error test
+-  `7798ea646fb7 <https://github.com/open-power/skiboot/commit/7798ea646fb7>`__ test-ipmi-hiomap:
+   Add flush-error test
+-  `ff5153612f85 <https://github.com/open-power/skiboot/commit/ff5153612f85>`__ test-ipmi-hiomap:
+   Add ack-error test
+-  `12ca08b58e5b <https://github.com/open-power/skiboot/commit/12ca08b58e5b>`__ test-ipmi-hiomap:
+   Add erase-error test
+-  `4642a6c9a66b <https://github.com/open-power/skiboot/commit/4642a6c9a66b>`__ test-ipmi-hiomap:
+   Add ack-malformed tests
+-  `8745e91d48d1 <https://github.com/open-power/skiboot/commit/8745e91d48d1>`__ test-ipmi-hiomap:
+   Add get-info-malformed tests
+-  `5c2ada09e76d <https://github.com/open-power/skiboot/commit/5c2ada09e76d>`__ test-ipmi-hiomap:
+   Add get-flash-info-malformed tests
+-  `bd1a08ab3e12 <https://github.com/open-power/skiboot/commit/bd1a08ab3e12>`__ test-ipmi-hiomap:
+   Add create-read-window-malformed tests
+-  `ee0314d2d9d0 <https://github.com/open-power/skiboot/commit/ee0314d2d9d0>`__ test-ipmi-hiomap:
+   Add create-write-window-malformed tests
+-  `c7b8293d867a <https://github.com/open-power/skiboot/commit/c7b8293d867a>`__ test-ipmi-hiomap:
+   Add mark-dirty-malformed tests
+-  `985c7a26bcb1 <https://github.com/open-power/skiboot/commit/985c7a26bcb1>`__ test-ipmi-hiomap:
+   Add flush-malformed tests
+-  `7735cc354609 <https://github.com/open-power/skiboot/commit/7735cc354609>`__ test-ipmi-hiomap:
+   Add erase-malformed tests
+-  `d0c798252521 <https://github.com/open-power/skiboot/commit/d0c798252521>`__ test-ipmi-hiomap:
+   Add protocol-recovery-failure-ack test
+-  `ce81b9364131 <https://github.com/open-power/skiboot/commit/ce81b9364131>`__ test-ipmi-hiomap:
+   Add protocol-recovery-failure-get-info test
+-  `9398b84fad0e <https://github.com/open-power/skiboot/commit/9398b84fad0e>`__ test-ipmi-hiomap:
+   Add protocol-recovery-get-flash-info-failure test
+-  `b94bb54f6569 <https://github.com/open-power/skiboot/commit/b94bb54f6569>`__ test-ipmi-hiomap:
+   Add read-one-block-twice test
+-  `ed35a7d04bde <https://github.com/open-power/skiboot/commit/ed35a7d04bde>`__ test-ipmi-hiomap:
+   Add write-one-block-twice test
+-  `a3777e58990f <https://github.com/open-power/skiboot/commit/a3777e58990f>`__ test-ipmi-hiomap:
+   Add erase-one-block-twice test
+-  `6a4db4c249a1 <https://github.com/open-power/skiboot/commit/6a4db4c249a1>`__ ast-io: Rework
+   ast_sio_is_enabled() test sequence
+-  `c826e1ca9e5b <https://github.com/open-power/skiboot/commit/c826e1ca9e5b>`__ astbmc: Try IPMI
+   HIOMAP for P8 (again)
+-  `b9d7c9da583a <https://github.com/open-power/skiboot/commit/b9d7c9da583a>`__ astbmc: Enable IPMI
+   HIOMAP for AMI platforms
+-  `5d07d064db05 <https://github.com/open-power/skiboot/commit/5d07d064db05>`__ libflash/test:
+   Generate header dependencies for tests
+-  `e3a3ba16a44a <https://github.com/open-power/skiboot/commit/e3a3ba16a44a>`__ test-ipmi-hiomap:
+   Add ability to delay some IPMI messages
+-  `3056fcd0a7c4 <https://github.com/open-power/skiboot/commit/3056fcd0a7c4>`__ test-ipmi-hiomap:
+   Dump unexpected IPMI messages
+-  `7cb5eca8d6ca <https://github.com/open-power/skiboot/commit/7cb5eca8d6ca>`__ test-ipmi-hiomap:
+   Ensure the completion code is set
+-  `272443f7687b <https://github.com/open-power/skiboot/commit/272443f7687b>`__ test-ipmi-hiomap:
+   Print some information on early scenario_exit()
+-  `7bb5ead55bdf <https://github.com/open-power/skiboot/commit/7bb5ead55bdf>`__
+   libflash/ipmi-hiomap: Fix leak of msg in callback
+-  `2e29cf8d00fb <https://github.com/open-power/skiboot/commit/2e29cf8d00fb>`__
+   libflash/ipmi-hiomap: Overhaul error handling
+-  `5c4b51a0408f <https://github.com/open-power/skiboot/commit/5c4b51a0408f>`__
+   libflash/ipmi-hiomap: Overhaul event handling
+-  `041d61e2be1d <https://github.com/open-power/skiboot/commit/041d61e2be1d>`__
+   libflash/ipmi-hiomap: Remove unused close handling
+-  `b64b3544d90b <https://github.com/open-power/skiboot/commit/b64b3544d90b>`__
+   libflash/ipmi-hiomap: Enforce message size for empty response
+-  `cca1c08ece5e <https://github.com/open-power/skiboot/commit/cca1c08ece5e>`__ test-ipmi-hiomap:
+   Add protocol-persistent-error test
+-  `a215e3e547a0 <https://github.com/open-power/skiboot/commit/a215e3e547a0>`__ test-ipmi-hiomap:
+   Add read-one-block test
+-  `96ca4e26deb6 <https://github.com/open-power/skiboot/commit/96ca4e26deb6>`__ test-ipmi-hiomap:
+   Add read-two-blocks test
+-  `ea318dbe989f <https://github.com/open-power/skiboot/commit/ea318dbe989f>`__ test-ipmi-hiomap:
+   Add event-before-read
+-  `e4e76c8d2f6c <https://github.com/open-power/skiboot/commit/e4e76c8d2f6c>`__ test-ipmi-hiomap:
+   Add event-during-read test
+-  `e3497461c93b <https://github.com/open-power/skiboot/commit/e3497461c93b>`__ test-ipmi-hiomap:
+   Add write-one-block test
+-  `bf722c0ac561 <https://github.com/open-power/skiboot/commit/bf722c0ac561>`__ test-ipmi-hiomap:
+   Add write-two-blocks test
+-  `4cc5d420eeb4 <https://github.com/open-power/skiboot/commit/4cc5d420eeb4>`__ test-ipmi-hiomap:
+   Add event-before-write test
+-  `55b284e63e7d <https://github.com/open-power/skiboot/commit/55b284e63e7d>`__ test-ipmi-hiomap:
+   Add event-during-write test
+-  `da61b9e8dc1f <https://github.com/open-power/skiboot/commit/da61b9e8dc1f>`__ test-ipmi-hiomap:
+   Add erase-one-block test
+-  `a6f3245eda74 <https://github.com/open-power/skiboot/commit/a6f3245eda74>`__ test-ipmi-hiomap:
+   Add erase-two-blocks test
+-  `6432db36f0b1 <https://github.com/open-power/skiboot/commit/6432db36f0b1>`__ test-ipmi-hiomap:
+   Add event-before-erase test
+-  `7d666e226bd9 <https://github.com/open-power/skiboot/commit/7d666e226bd9>`__ test-ipmi-hiomap:
+   Add event-during-erase
+-  `d69b6567669b <https://github.com/open-power/skiboot/commit/d69b6567669b>`__ test-ipmi-hiomap:
+   Add bad-sequence test
+-  `4f9facdacef9 <https://github.com/open-power/skiboot/commit/4f9facdacef9>`__ test-ipmi-hiomap:
+   Add action-error test
+-  `b20312eb6ee5 <https://github.com/open-power/skiboot/commit/b20312eb6ee5>`__ test-ipmi-hiomap:
+   Add get-flash-info test
+-  `852d38850654 <https://github.com/open-power/skiboot/commit/852d38850654>`__ test-ipmi-hiomap:
+   Add get-info-error test
+-  `21bed4d078d9 <https://github.com/open-power/skiboot/commit/21bed4d078d9>`__ test-ipmi-hiomap:
+   Add get-flash-info-error test
+-  `05e1dabcb97d <https://github.com/open-power/skiboot/commit/05e1dabcb97d>`__ test-ipmi-hiomap:
+   Add create-read-window-error test
+-  `1c97112ba0b9 <https://github.com/open-power/skiboot/commit/1c97112ba0b9>`__ test-ipmi-hiomap:
+   Add create-write-window-error test
+-  `14959a69eeac <https://github.com/open-power/skiboot/commit/14959a69eeac>`__ test-ipmi-hiomap:
+   Add mark-dirty-error test
+-  `4de5c234518b <https://github.com/open-power/skiboot/commit/4de5c234518b>`__ test-ipmi-hiomap:
+   Add flush-error test
+-  `c38fccd32df0 <https://github.com/open-power/skiboot/commit/c38fccd32df0>`__ test-ipmi-hiomap:
+   Add ack-error test
+-  `5e1559af3394 <https://github.com/open-power/skiboot/commit/5e1559af3394>`__ test-ipmi-hiomap:
+   Add erase-error test
+-  `66b4b2e49d46 <https://github.com/open-power/skiboot/commit/66b4b2e49d46>`__ test-ipmi-hiomap:
+   Add ack-malformed tests
+-  `90ae8a0767ce <https://github.com/open-power/skiboot/commit/90ae8a0767ce>`__ test-ipmi-hiomap:
+   Add get-info-malformed tests
+-  `7ae038042951 <https://github.com/open-power/skiboot/commit/7ae038042951>`__ test-ipmi-hiomap:
+   Add get-flash-info-malformed tests
+-  `dba42852b0de <https://github.com/open-power/skiboot/commit/dba42852b0de>`__ test-ipmi-hiomap:
+   Add create-read-window-malformed tests
+-  `564d5e4ba7e4 <https://github.com/open-power/skiboot/commit/564d5e4ba7e4>`__ test-ipmi-hiomap:
+   Add create-write-window-malformed tests
+-  `b812fa3d16ce <https://github.com/open-power/skiboot/commit/b812fa3d16ce>`__ test-ipmi-hiomap:
+   Add mark-dirty-malformed tests
+-  `0ebf921c1a0a <https://github.com/open-power/skiboot/commit/0ebf921c1a0a>`__ test-ipmi-hiomap:
+   Add flush-malformed tests
+-  `4769cb645e20 <https://github.com/open-power/skiboot/commit/4769cb645e20>`__ test-ipmi-hiomap:
+   Add erase-malformed tests
+-  `35a6cbe24717 <https://github.com/open-power/skiboot/commit/35a6cbe24717>`__ test-ipmi-hiomap:
+   Add protocol-recovery-failure-ack test
+-  `ffe09809c035 <https://github.com/open-power/skiboot/commit/ffe09809c035>`__ test-ipmi-hiomap:
+   Add protocol-recovery-failure-get-info test
+-  `0e8e03ee34ba <https://github.com/open-power/skiboot/commit/0e8e03ee34ba>`__ test-ipmi-hiomap:
+   Add protocol-recovery-get-flash-info-failure test
+-  `75622fe738cd <https://github.com/open-power/skiboot/commit/75622fe738cd>`__ test-ipmi-hiomap:
+   Add read-one-block-twice test
+-  `1a8a5c352762 <https://github.com/open-power/skiboot/commit/1a8a5c352762>`__ test-ipmi-hiomap:
+   Add write-one-block-twice test
+-  `2d8b0043aa9d <https://github.com/open-power/skiboot/commit/2d8b0043aa9d>`__ test-ipmi-hiomap:
+   Add erase-one-block-twice test
+-  `381a7e6553d7 <https://github.com/open-power/skiboot/commit/381a7e6553d7>`__ ast-io: Rework
+   ast_sio_is_enabled() test sequence
+-  `6e7145a55afc <https://github.com/open-power/skiboot/commit/6e7145a55afc>`__ astbmc: Try IPMI
+   HIOMAP for P8 (again)
+-  `52be9b85e455 <https://github.com/open-power/skiboot/commit/52be9b85e455>`__ zaius: Add BMC
+   description
+-  `4ff0e16df304 <https://github.com/open-power/skiboot/commit/4ff0e16df304>`__ p8dtu: Enable HIOMAP
+   support
+-  `137b11c77feb <https://github.com/open-power/skiboot/commit/137b11c77feb>`__ p8dtu: Configure BMC
+   graphics
+-  `b7594b26929e <https://github.com/open-power/skiboot/commit/b7594b26929e>`__ astbmc: Enable IPMI
+   HIOMAP for AMI platforms
+-  `cccf5d79de07 <https://github.com/open-power/skiboot/commit/cccf5d79de07>`__ core/flash: Retry
+   requests as necessary in flash_load_resource()
+-  `6225d1192493 <https://github.com/open-power/skiboot/commit/6225d1192493>`__ astbmc: Handle
+   failure to initialise raw flash
+
+Anju T Sudhakar (7):
+
+-  `6d9a87cec05a <https://github.com/open-power/skiboot/commit/6d9a87cec05a>`__ doc/imc: Edit
+   imc.rst documentation to include
+-  `09e912109070 <https://github.com/open-power/skiboot/commit/09e912109070>`__ doc/device-tree:
+   Edit device tree documentation for imc to include trace-node information.
+-  `f3a0fb699040 <https://github.com/open-power/skiboot/commit/f3a0fb699040>`__ doc/opal-api: Edit
+   documentation for IMC opal call to include trace-imc
+-  `5506d8a45882 <https://github.com/open-power/skiboot/commit/5506d8a45882>`__ include/imc: Trace
+   IMC Macro definitions
+-  `fa8f3f3fcead <https://github.com/open-power/skiboot/commit/fa8f3f3fcead>`__ hw/imc: Refactor
+   opal init call for core-imc
+-  `df2a1e579aaa <https://github.com/open-power/skiboot/commit/df2a1e579aaa>`__ hw/imc: Enable opal
+   calls to init/start/stop IMC Trace mode
+-  `027d87475eff <https://github.com/open-power/skiboot/commit/027d87475eff>`__ external/mambo:
+   Mambo hack to add trace-imc nodes in the device-tree
+
+Artem Senichev (1):
+
+-  `eb83850ee1de <https://github.com/open-power/skiboot/commit/eb83850ee1de>`__ platforms/vesnin:
+   Disable PCIe port bifurcation
+
+Cédric Le Goater (1):
+
+-  `bbcbbd3e071f <https://github.com/open-power/skiboot/commit/bbcbbd3e071f>`__ xive: Add calls to
+   save/restore the queues and VPs HW state
+
+Deb McLemore (6):
+
+-  `31231ed300f2 <https://github.com/open-power/skiboot/commit/31231ed300f2>`__ p9dsu: Fix p9dsu
+   default variant
+-  `87517c8737b9 <https://github.com/open-power/skiboot/commit/87517c8737b9>`__ p9dsu: Fix p9dsu
+   slot tables
+-  `83f06eec281d <https://github.com/open-power/skiboot/commit/83f06eec281d>`__ p9dsu: Fix p9dsu
+   default variant
+-  `c8941393f452 <https://github.com/open-power/skiboot/commit/c8941393f452>`__ p9dsu: Fix p9dsu
+   slot tables
+-  `64a16ae05bb2 <https://github.com/open-power/skiboot/commit/64a16ae05bb2>`__ p9dsu: Fix slot
+   labels for p9dsu2u
+-  `c470806a2e5e <https://github.com/open-power/skiboot/commit/c470806a2e5e>`__ p9dsu: Undo slot
+   label name changes
+
+Frederic Barrat (17):
+
+-  `536c8fbf932d <https://github.com/open-power/skiboot/commit/536c8fbf932d>`__ npu2-opencapi:
+   Rework ODL register access
+-  `e621b7b67951 <https://github.com/open-power/skiboot/commit/e621b7b67951>`__ npu2-opencapi: Setup
+   perf counters to detect CRC errors
+-  `9f3cdff99656 <https://github.com/open-power/skiboot/commit/9f3cdff99656>`__ npu2-opencapi:
+   Rename functions used to reset an adapter
+-  `ce9dd46d36d0 <https://github.com/open-power/skiboot/commit/ce9dd46d36d0>`__ npu2-opencapi: Keep
+   ODL and adapter in reset at the same time
+-  `e4efac7d8c90 <https://github.com/open-power/skiboot/commit/e4efac7d8c90>`__ npu2-opencapi: ODL
+   should be in reset when enabled
+-  `d75436f0d3d0 <https://github.com/open-power/skiboot/commit/d75436f0d3d0>`__ npu2-opencapi:
+   Extend delay after releasing reset on adapter
+-  `998911498597 <https://github.com/open-power/skiboot/commit/998911498597>`__ npu2-opencapi: Fix
+   adapter reset when using 2 adapters
+-  `8cf6758e1889 <https://github.com/open-power/skiboot/commit/8cf6758e1889>`__ npu2-hw-procedures:
+   Don’t set iovalid for opencapi devices
+-  `11c5faa66aa0 <https://github.com/open-power/skiboot/commit/11c5faa66aa0>`__ npu2-hw-procedures:
+   Fix zcal in mixed opencapi and nvlink mode
+-  `14a78d5c2e85 <https://github.com/open-power/skiboot/commit/14a78d5c2e85>`__ npu2/hw-procedures:
+   Fix parallel zcal for opencapi
+-  `d3af5072cb55 <https://github.com/open-power/skiboot/commit/d3af5072cb55>`__ hw/npu2: Move npu2
+   irq setup code to common area
+-  `fa97373f3274 <https://github.com/open-power/skiboot/commit/fa97373f3274>`__ hw/npu2: Use NVLink
+   irq setup for OpenCAPI
+-  `f8dfd699f584 <https://github.com/open-power/skiboot/commit/f8dfd699f584>`__ hw/npu2: Setup an
+   error interrupt on some opencapi FIRs
+-  `7320a21e7261 <https://github.com/open-power/skiboot/commit/7320a21e7261>`__ hw/npu2: Report
+   errors to the OS if an OpenCAPI brick is fenced
+-  `d1f3e4faf9d9 <https://github.com/open-power/skiboot/commit/d1f3e4faf9d9>`__ hw/npu2: Dump (more)
+   npu2 registers on link error and HMIs
+-  `87528900ad41 <https://github.com/open-power/skiboot/commit/87528900ad41>`__ opal/hmi: Never
+   trust a cow!
+-  `c3e38ba93c5f <https://github.com/open-power/skiboot/commit/c3e38ba93c5f>`__ hw/npu2: Show name
+   of opencapi error interrupts
+
+Jeff Scheel (1):
+
+-  `abd17b24a5ae <https://github.com/open-power/skiboot/commit/abd17b24a5ae>`__ doc: Adjusting tags
+   in release notes to eliminate global conflict for singlehtml builds
+
+Joel Stanley (3):
+
+-  `23470f10d0b1 <https://github.com/open-power/skiboot/commit/23470f10d0b1>`__ Revert “astbmc: Try
+   IPMI HIOMAP for P8”
+-  `cd2b103f2488 <https://github.com/open-power/skiboot/commit/cd2b103f2488>`__ Makefile: Check
+   -Wno-stringop-truncation is supported
+-  `a7855bdd6593 <https://github.com/open-power/skiboot/commit/a7855bdd6593>`__ Makefile: Build with
+   symbols
+
+Jordan Niethe (1):
+
+-  `9fde370b03c0 <https://github.com/open-power/skiboot/commit/9fde370b03c0>`__ chiptod: Remove
+   unused prototype from header
+
+Mahesh Salgaonkar (5):
+
+-  `017da88b2d05 <https://github.com/open-power/skiboot/commit/017da88b2d05>`__ opal/hmi: Fix double
+   unlock of hmi lock in failure path.
+-  `ca349b836d02 <https://github.com/open-power/skiboot/commit/ca349b836d02>`__ opal/hmi: Don’t
+   retry TOD recovery if it is already in failed state.
+-  `497734984231 <https://github.com/open-power/skiboot/commit/497734984231>`__ opal/hmi: set a flag
+   to inform OS that TOD/TB has failed.
+-  `2c71d7032484 <https://github.com/open-power/skiboot/commit/2c71d7032484>`__ Fix hang in
+   pnv_platform_error_reboot path due to TOD failure.
+-  `5f339b4b5d80 <https://github.com/open-power/skiboot/commit/5f339b4b5d80>`__ opal/hmi: Initialize
+   the hmi event with old value of TFMR.
+
+Michael Neuling (1):
+
+-  `740904858586 <https://github.com/open-power/skiboot/commit/740904858586>`__ xive: Make no_sync
+   parameter affermative in \__xive_set_irq_config()
+
+Michal Suchanek (1):
+
+-  `bef1ddc40813 <https://github.com/open-power/skiboot/commit/bef1ddc40813>`__ libffs: Fix string
+   truncation gcc warning.
+
+Nicholas Piggin (28):
+
+-  `3500a606c6db <https://github.com/open-power/skiboot/commit/3500a606c6db>`__ phb4: remove POWER9N
+   DD1 creset workaround
+-  `3b4ae3a2e2a5 <https://github.com/open-power/skiboot/commit/3b4ae3a2e2a5>`__ xive: remove POWER9N
+   DD1 NVT table size workaround
+-  `0b0d15e3c170 <https://github.com/open-power/skiboot/commit/0b0d15e3c170>`__ Remove POWER9N DD1
+   support
+-  `d27180b55d77 <https://github.com/open-power/skiboot/commit/d27180b55d77>`__ core/cpu: HID update
+   race
+-  `57610a3681bc <https://github.com/open-power/skiboot/commit/57610a3681bc>`__ external/mambo:
+   allow CPU targeting for most debug utils
+-  `0d44d7f7d29d <https://github.com/open-power/skiboot/commit/0d44d7f7d29d>`__ core/init: rename
+   setup_reset_vector
+-  `9e075d75274c <https://github.com/open-power/skiboot/commit/9e075d75274c>`__ core/cpu: do not
+   inline cpu_relax
+-  `9c58bbd720b7 <https://github.com/open-power/skiboot/commit/9c58bbd720b7>`__ core/exceptions:
+   save current MSR in exception frame
+-  `e1d44e8c117f <https://github.com/open-power/skiboot/commit/e1d44e8c117f>`__ asm/head: use HSRR
+   exception registers in FIXUP_ENDIAN
+-  `02aea4c8760a <https://github.com/open-power/skiboot/commit/02aea4c8760a>`__ core/init: rearrange
+   final boot steps
+-  `d25287a167fd <https://github.com/open-power/skiboot/commit/d25287a167fd>`__ core/fast-reboot:
+   improve NMI handling during fast reset
+-  `ebb814a80369 <https://github.com/open-power/skiboot/commit/ebb814a80369>`__ core/init: enable
+   machine check on secondaries
+-  `75669cb37067 <https://github.com/open-power/skiboot/commit/75669cb37067>`__ asm/head: provide
+   asm support for interrupts to be returned from
+-  `37baa9731d0d <https://github.com/open-power/skiboot/commit/37baa9731d0d>`__ core/fast-reboot:
+   fast reboot specific sreset patch
+-  `4ebb78cffda8 <https://github.com/open-power/skiboot/commit/4ebb78cffda8>`__ asm/head: sreset
+   handler remove FIXUP_ENDIAN
+-  `8a43bf86b7d4 <https://github.com/open-power/skiboot/commit/8a43bf86b7d4>`__ core/exceptions:
+   implement an exception handler for non-powersave sresets
+-  `22524e901744 <https://github.com/open-power/skiboot/commit/22524e901744>`__ core/exceptions:
+   allow recoverable sreset exceptions
+-  `5d86cebd5368 <https://github.com/open-power/skiboot/commit/5d86cebd5368>`__ core/exceptions:
+   implement support for MCE interrupts in powersave
+-  `c51c7a5df601 <https://github.com/open-power/skiboot/commit/c51c7a5df601>`__ core/cpu: HID update
+   race
+-  `450b429feb43 <https://github.com/open-power/skiboot/commit/450b429feb43>`__ asm/head: move
+   unnecessary code out of head
+-  `36dca1e915da <https://github.com/open-power/skiboot/commit/36dca1e915da>`__ build:
+   -fno-asynchronous-unwind-tables
+-  `6b08928fb487 <https://github.com/open-power/skiboot/commit/6b08928fb487>`__ build/lds: place
+   debug sections according to defaults
+-  `065877fc59de <https://github.com/open-power/skiboot/commit/065877fc59de>`__ build/lds: place
+   remaining sections according to defaults
+-  `7f22e25c2b97 <https://github.com/open-power/skiboot/commit/7f22e25c2b97>`__ build: link with
+   –orphan-handling=warn
+-  `53ef0db6e2ef <https://github.com/open-power/skiboot/commit/53ef0db6e2ef>`__ asm/head.S: set
+   POWER9 radix HID bit at entry
+-  `f244f3e1b679 <https://github.com/open-power/skiboot/commit/f244f3e1b679>`__ external/mambo: also
+   invoke readline for the non-autorun case
+-  `32a23ae6b0d3 <https://github.com/open-power/skiboot/commit/32a23ae6b0d3>`__ asm/head: balance
+   branches to avoid link stack predictor mispredicts
+-  `2c8f96534a97 <https://github.com/open-power/skiboot/commit/2c8f96534a97>`__ hw/xscom: add
+   missing P9P chip name
+
+Oliver O’Halloran (35):
+
+-  `08981e62e1d9 <https://github.com/open-power/skiboot/commit/08981e62e1d9>`__ phb4: Rework BDFN
+   filtering in phb4_set_pe()
+-  `2f5d15f167b0 <https://github.com/open-power/skiboot/commit/2f5d15f167b0>`__ phb4: Remove
+   pointless NULL checks
+-  `e19f14e3134b <https://github.com/open-power/skiboot/commit/e19f14e3134b>`__ phb4: Eliminate
+   p->rte_cache
+-  `a3a64a4b8737 <https://github.com/open-power/skiboot/commit/a3a64a4b8737>`__ phb4: Eliminate
+   peltv_cache
+-  `639f67285c2c <https://github.com/open-power/skiboot/commit/639f67285c2c>`__ phb4: Update some
+   comments
+-  `3eadafbd35ae <https://github.com/open-power/skiboot/commit/3eadafbd35ae>`__ hdata/test: Fix up
+   linux,sml-base property
+-  `fa3dee2a63e6 <https://github.com/open-power/skiboot/commit/fa3dee2a63e6>`__ hdata/test: Add
+   OP920 HDAT test data
+-  `f35a3c376a44 <https://github.com/open-power/skiboot/commit/f35a3c376a44>`__ hdata/memory: Remove
+   find_shared()
+-  `4822a7ba9d33 <https://github.com/open-power/skiboot/commit/4822a7ba9d33>`__ hdata/memory: Add
+   NVDIMM support
+-  `9b67792c3801 <https://github.com/open-power/skiboot/commit/9b67792c3801>`__ hw/phb4: Fix
+   indentation of brdgCtl
+-  `43f11d51e601 <https://github.com/open-power/skiboot/commit/43f11d51e601>`__ platforms/zz:
+   Re-enable LXVPD slot information parsing
+-  `1941d3f26373 <https://github.com/open-power/skiboot/commit/1941d3f26373>`__ platforms/romulus:
+   Also support talos
+-  `1c3baae4f2b3 <https://github.com/open-power/skiboot/commit/1c3baae4f2b3>`__ hdata/iohub: Look
+   for IOVPD on P9
+-  `0ec1e37004da <https://github.com/open-power/skiboot/commit/0ec1e37004da>`__ hw/phb4: Look for
+   the hub-id from in the PBCQ node
+-  `14372fc9fb60 <https://github.com/open-power/skiboot/commit/14372fc9fb60>`__ core/pci: Increase
+   the max slot string size
+-  `99937b943845 <https://github.com/open-power/skiboot/commit/99937b943845>`__ core/pcie-slot: Set
+   power state from the PWRCTL flag
+-  `efc568c1e30b <https://github.com/open-power/skiboot/commit/efc568c1e30b>`__ fsp/lxvpd: Print
+   more LXVPD slot information
+-  `0c86fef7e502 <https://github.com/open-power/skiboot/commit/0c86fef7e502>`__ firenze-pci: Always
+   init slot info from LXVPD
+-  `1ef5a64b85d5 <https://github.com/open-power/skiboot/commit/1ef5a64b85d5>`__ core/pcie-slot:
+   Better explain suprise_check
+-  `84aa25921a09 <https://github.com/open-power/skiboot/commit/84aa25921a09>`__ core/pcie-slot:
+   Don’t bail early in the power on case
+-  `70edcbb4b39d <https://github.com/open-power/skiboot/commit/70edcbb4b39d>`__ hw/phb4: Skip FRESET
+   PERST when coming from CRESET
+-  `e89d3f32d216 <https://github.com/open-power/skiboot/commit/e89d3f32d216>`__ hw/phb4: Remove
+   FRESET presence check
+-  `b8b4c79d4419 <https://github.com/open-power/skiboot/commit/b8b4c79d4419>`__ hw/phb4: Factor out
+   PERST control
+-  `722cf1c2ed56 <https://github.com/open-power/skiboot/commit/722cf1c2ed56>`__ hw/phb4: Drop
+   FRESET_DEASSERT_DELAY state
+-  `a31085d7d432 <https://github.com/open-power/skiboot/commit/a31085d7d432>`__ core/i2c: Add
+   request state tracking
+-  `d290b244efbc <https://github.com/open-power/skiboot/commit/d290b244efbc>`__ core/i2c: Poll on
+   request state in i2c_request_send()
+-  `319e7d935f13 <https://github.com/open-power/skiboot/commit/319e7d935f13>`__ core/i2c: split
+   i2c_request_send()
+-  `517f088a8e39 <https://github.com/open-power/skiboot/commit/517f088a8e39>`__ platforms/firenze:
+   Rework I2C controller fixups
+-  `ff960a77a192 <https://github.com/open-power/skiboot/commit/ff960a77a192>`__ core/pci: Prefer
+   ibm, slot-label when finding loc codes
+-  `af5a3ee925d1 <https://github.com/open-power/skiboot/commit/af5a3ee925d1>`__ hw/xscom: Enable sw
+   xstop by default on p9
+-  `b507209d2266 <https://github.com/open-power/skiboot/commit/b507209d2266>`__ hw/phb4: Squash the
+   IO bridge window
+-  `2e2157121aa1 <https://github.com/open-power/skiboot/commit/2e2157121aa1>`__ hw/phb4: Read
+   ibm,loc-code from PBCQ node
+-  `b50406ba4878 <https://github.com/open-power/skiboot/commit/b50406ba4878>`__ core/pci: Use PHB
+   io-base-location by default for PHB slots
+-  `98a1ae107396 <https://github.com/open-power/skiboot/commit/98a1ae107396>`__ hw/phb4: Fix
+   references to PHB3
+-  `290fbf30ddc2 <https://github.com/open-power/skiboot/commit/290fbf30ddc2>`__ pci/iov: Remove
+   skiboot VF tracking
+
+Reza Arbab (19):
+
+-  `aa56d9a2abdb <https://github.com/open-power/skiboot/commit/aa56d9a2abdb>`__ Remove duplicate
+   npu2-common.o from $(HW_OBJS)
+-  `552cb9e371d8 <https://github.com/open-power/skiboot/commit/552cb9e371d8>`__ npu2: Remove dead
+   code from npu2_cfg_write_bar()
+-  `69ca8a8ff7a9 <https://github.com/open-power/skiboot/commit/69ca8a8ff7a9>`__ npu2: Remove unused
+   npu2::bdf2pe_cache
+-  `2d12672a812f <https://github.com/open-power/skiboot/commit/2d12672a812f>`__ npu2: Remove unused
+   npu2::lxive_cache
+-  `237882bfc84f <https://github.com/open-power/skiboot/commit/237882bfc84f>`__ npu2: Remove unused
+   npu2_dev::procedure_data
+-  `b496cab97086 <https://github.com/open-power/skiboot/commit/b496cab97086>`__ npu2: Remove unused
+   npu2_dev_nvlink::vendor_cap
+-  `cd5ddbe3b40c <https://github.com/open-power/skiboot/commit/cd5ddbe3b40c>`__ npu2: Fix missing
+   iteration in tce kill loop
+-  `3f79ab6cdb4d <https://github.com/open-power/skiboot/commit/3f79ab6cdb4d>`__ npu2: Remove
+   redundant assignment to p->phb_nvlink.scan_map
+-  `38cf215cb505 <https://github.com/open-power/skiboot/commit/38cf215cb505>`__ npu2: Replace open
+   coded dt_find_by_name_addr()
+-  `9ef153f6f013 <https://github.com/open-power/skiboot/commit/9ef153f6f013>`__ core/lock: Stop
+   drop_my_locks() from always causing abort
+-  `d3803711f8a9 <https://github.com/open-power/skiboot/commit/d3803711f8a9>`__ Add PVR_TYPE_P9P
+-  `1ab11ac8b4b9 <https://github.com/open-power/skiboot/commit/1ab11ac8b4b9>`__ core/lock: Stop
+   drop_my_locks() from always causing abort
+-  `855465aa7804 <https://github.com/open-power/skiboot/commit/855465aa7804>`__ devicetree: Fix
+   syntax error in power9-phb4.dts
+-  `85c4c823ab11 <https://github.com/open-power/skiboot/commit/85c4c823ab11>`__ devicetree: Fix typo
+   in power9-phb4.dts
+-  `eecd9083f1bd <https://github.com/open-power/skiboot/commit/eecd9083f1bd>`__ devicetree: Add nx
+   node to power9-phb4.dts
+-  `13926b45897b <https://github.com/open-power/skiboot/commit/13926b45897b>`__ devicetree: Move
+   power9-phb4.dts
+-  `50d1a089deef <https://github.com/open-power/skiboot/commit/50d1a089deef>`__ devicetree: Add
+   p9-simics.dts
+-  `9f9dd8d71de9 <https://github.com/open-power/skiboot/commit/9f9dd8d71de9>`__ devicetree: Add
+   Makefile to build dtb binaries
+-  `46050485f5ef <https://github.com/open-power/skiboot/commit/46050485f5ef>`__ README: Reflect
+   openpower_mambo_defconfig name change
+
+Russell Currey (2):
+
+-  `8d8a9ca30453 <https://github.com/open-power/skiboot/commit/8d8a9ca30453>`__ external/mambo:
+   Populate kernel-base-address in the DT
+-  `edf7e841ff9d <https://github.com/open-power/skiboot/commit/edf7e841ff9d>`__ external/mambo:
+   Error out if kernel is too large
+
+Samuel Mendoza-Jonas (3):
+
+-  `9834b0874af4 <https://github.com/open-power/skiboot/commit/9834b0874af4>`__ include/ipmi: Fix
+   incorrect chassis commands
+-  `757dfba75e03 <https://github.com/open-power/skiboot/commit/757dfba75e03>`__ platforms/astbmc:
+   Check for SBE validation step
+-  `6ef47971a87d <https://github.com/open-power/skiboot/commit/6ef47971a87d>`__ doc/bmc: Document
+   SBE validation on P8 platforms
+
+Santosh Sivaraj (2):
+
+-  `3ac2db0a83e7 <https://github.com/open-power/skiboot/commit/3ac2db0a83e7>`__ flash: Add support
+   for async decompression
+-  `c86fb12c07a6 <https://github.com/open-power/skiboot/commit/c86fb12c07a6>`__ imc/catalog:
+   Decompress catalog asynchronously
+
+Shilpasri G Bhat (4):
+
+-  `a96739c6c1cd <https://github.com/open-power/skiboot/commit/a96739c6c1cd>`__ powercap: occ: Fix
+   the powercapping range allowed for user
+-  `0fe8ecd59fc0 <https://github.com/open-power/skiboot/commit/0fe8ecd59fc0>`__ powercap: occ: Fix
+   the powercapping range allowed for user
+-  `27e4943eade2 <https://github.com/open-power/skiboot/commit/27e4943eade2>`__ fast-reboot: occ:
+   Remove ‘freq-domain-mask’ from fast-reboot path
+-  `961b7128ebd8 <https://github.com/open-power/skiboot/commit/961b7128ebd8>`__ fast-reboot: occ:
+   Call occ_pstates_init() on fast-reset on all machines
+
+Stewart Smith (51):
+
+-  `44aa41061a9f <https://github.com/open-power/skiboot/commit/44aa41061a9f>`__ qemu: bt device
+   isn’t always hanging off /
+-  `59a21fc87f54 <https://github.com/open-power/skiboot/commit/59a21fc87f54>`__ sparse: Make tree
+   ‘constant is so big’ warning clean
+-  `625f9ac034f1 <https://github.com/open-power/skiboot/commit/625f9ac034f1>`__ zz: platform_ocapi
+   can be static
+-  `ec65b9ab4c4c <https://github.com/open-power/skiboot/commit/ec65b9ab4c4c>`__ zaius: zaius_ocapi
+   can be static
+-  `c2c426ef668b <https://github.com/open-power/skiboot/commit/c2c426ef668b>`__ doc: clarify
+   OPAL_RTC_READ return values
+-  `3170270be92a <https://github.com/open-power/skiboot/commit/3170270be92a>`__ firmware-versions:
+   Add test case for parsing VERSION
+-  `6bb72e8f7b9d <https://github.com/open-power/skiboot/commit/6bb72e8f7b9d>`__ firmware-versions:
+   Add test case for parsing VERSION
+-  `816a1d7bb2ef <https://github.com/open-power/skiboot/commit/816a1d7bb2ef>`__ pflash: Support
+   encoding/decoding ECC’d partitions
+-  `0647f2a2c4eb <https://github.com/open-power/skiboot/commit/0647f2a2c4eb>`__ skiboot v6.2.1
+   release notes
+-  `75382eb708c0 <https://github.com/open-power/skiboot/commit/75382eb708c0>`__ skiboot v6.2.1
+   release notes
+-  `7ac85e4517cc <https://github.com/open-power/skiboot/commit/7ac85e4517cc>`__ skiboot v6.0.17
+   release notes
+-  `40b377a01ef5 <https://github.com/open-power/skiboot/commit/40b377a01ef5>`__ hw/test: generalise
+   makefile
+-  `81847dd347ef <https://github.com/open-power/skiboot/commit/81847dd347ef>`__ doc: fix definition
+   lists in opal-imc-counters
+-  `f3ad5bb09249 <https://github.com/open-power/skiboot/commit/f3ad5bb09249>`__ sparse: symbol
+   ‘sbe_timer_lock’ was not declared. Should it be static?
+-  `96c0ec2ab78b <https://github.com/open-power/skiboot/commit/96c0ec2ab78b>`__ sparse: symbol
+   ‘xive_buddy_lock/xive_vp_buddy’ was not declared. Should it be static?
+-  `f9b79a611501 <https://github.com/open-power/skiboot/commit/f9b79a611501>`__ sparse: symbol
+   ’NPU2_PHY_*’ was not declared. Should it be static?
+-  `655e0bc6865c <https://github.com/open-power/skiboot/commit/655e0bc6865c>`__ sparse: symbol
+   ’procedure_*’ was not declared. Should it be static?
+-  `039d184dda21 <https://github.com/open-power/skiboot/commit/039d184dda21>`__ sparse: symbols in
+   imc.c weren’t declared, Should they be static?
+-  `3b8b7e8c4e78 <https://github.com/open-power/skiboot/commit/3b8b7e8c4e78>`__ sparse: symbol
+   ‘*bar*’ was not declared. Should it be static?
+-  `0eea56b06b4f <https://github.com/open-power/skiboot/commit/0eea56b06b4f>`__ Don’t use variable
+   length arrays in exception code
+-  `ee01ef4ed82a <https://github.com/open-power/skiboot/commit/ee01ef4ed82a>`__ i2c: Fix sparse
+   warnings for type assignment
+-  `428cb852e3a0 <https://github.com/open-power/skiboot/commit/428cb852e3a0>`__ qemu: bt device
+   isn’t always hanging off /
+-  `3ef409d43de9 <https://github.com/open-power/skiboot/commit/3ef409d43de9>`__ doc:
+   s/stb_init()/secureboot_init()/ to match reality
+-  `2b96407921a6 <https://github.com/open-power/skiboot/commit/2b96407921a6>`__ opal-ci: Drop
+   CentOS6 support
+-  `6c36257bf32f <https://github.com/open-power/skiboot/commit/6c36257bf32f>`__ opal-ci: Drop
+   unneded reference to ubuntu 12.04
+-  `e4a06f098c4f <https://github.com/open-power/skiboot/commit/e4a06f098c4f>`__ opal-ci: drop fedora
+   28
+-  `7cd8402c3bec <https://github.com/open-power/skiboot/commit/7cd8402c3bec>`__ Drop old Coverity
+   jobs (we build via separate .travis.yml in a branch)
+-  `043e85bf7477 <https://github.com/open-power/skiboot/commit/043e85bf7477>`__
+   hw/ipmi/test/run-fru: Fix string truncation warning, enhance test
+-  `fedb949b7179 <https://github.com/open-power/skiboot/commit/fedb949b7179>`__ Fix broken
+   opal-ci/build-fedora-rawhide.sh symlink
+-  `c0faa9232168 <https://github.com/open-power/skiboot/commit/c0faa9232168>`__ hdata: Add
+   protection against corrupt ntuples structure
+-  `a2c13f1d6119 <https://github.com/open-power/skiboot/commit/a2c13f1d6119>`__ hdata_to_dt: fail
+   “gracefully” on fatal op_display()
+-  `bee7be6ab780 <https://github.com/open-power/skiboot/commit/bee7be6ab780>`__ hdata: Prevent NULL
+   dereference on duplicate slot map info
+-  `d0e56d97d4cd <https://github.com/open-power/skiboot/commit/d0e56d97d4cd>`__ ci: Remove
+   debian-jessie boot test.
+-  `cb87cf17279b <https://github.com/open-power/skiboot/commit/cb87cf17279b>`__ ci: qemu boot tests
+   should use built skiboot
+-  `133cc8cea258 <https://github.com/open-power/skiboot/commit/133cc8cea258>`__ ci/fedora29:
+   –allowerasing to work around conflicting packages
+-  `11374f20e8f1 <https://github.com/open-power/skiboot/commit/11374f20e8f1>`__ Bump allowed stack
+   frame size for unit tests/host programs
+-  `3e0eef2e9a92 <https://github.com/open-power/skiboot/commit/3e0eef2e9a92>`__ Force noinline for
+   pci_add_(one)_device_node(s)()
+-  `050d8165ab05 <https://github.com/open-power/skiboot/commit/050d8165ab05>`__ skiboot v6.3-rc1
+   release notes
+-  `24268c766206 <https://github.com/open-power/skiboot/commit/24268c766206>`__ cpufeatures: Add
+   tm-suspend-hypervisor-assist and tm-suspend-xer-so-bug node
+-  `ff79070d1c4c <https://github.com/open-power/skiboot/commit/ff79070d1c4c>`__ skiboot v6.3-rc2
+   release notes
+-  `208ca81ffd47 <https://github.com/open-power/skiboot/commit/208ca81ffd47>`__ opal-ci: Centos7
+   with latest crosstool toolchain (gcc 8.1.0)
+-  `d318cdb3863f <https://github.com/open-power/skiboot/commit/d318cdb3863f>`__ hw/xscom: P9P rather
+   than P9
+-  `cb2e148df960 <https://github.com/open-power/skiboot/commit/cb2e148df960>`__ doc: Add (most)
+   nvram debugging options
+-  `44afdc1afb1f <https://github.com/open-power/skiboot/commit/44afdc1afb1f>`__ core/init: LPC isn’t
+   just P8 (fix comment)
+-  `b877a4e8b9ea <https://github.com/open-power/skiboot/commit/b877a4e8b9ea>`__ Write boot progress
+   to LPC port 80h
+-  `0634dd410dae <https://github.com/open-power/skiboot/commit/0634dd410dae>`__ Write boot progress
+   to LPC ports 81 and 82
+-  `588c39adb1ec <https://github.com/open-power/skiboot/commit/588c39adb1ec>`__ skiboot v6.3-rc3
+   release notes
+-  `119108908e9b <https://github.com/open-power/skiboot/commit/119108908e9b>`__ pci: Try harder to
+   add meaningful ibm,loc-code
+-  `14f709b8eeda <https://github.com/open-power/skiboot/commit/14f709b8eeda>`__ Disable fast-reset
+   for POWER8
+-  `54811997b6d0 <https://github.com/open-power/skiboot/commit/54811997b6d0>`__ skiboot v6.3 release
+   notes
+-  `2cc067ede570 <https://github.com/open-power/skiboot/commit/2cc067ede570>`__ ipmi: ensure forward
+   progress on ipmi_queue_msg_sync()
+
+Timothy Pearson (5):
+
+-  `8b26e29acbc8 <https://github.com/open-power/skiboot/commit/8b26e29acbc8>`__ Retry link training
+   at PCIe GEN1 if presence detected but training repeatedly failed
+-  `23903ca69351 <https://github.com/open-power/skiboot/commit/23903ca69351>`__ Copy and convert
+   Romulus descriptors to Talos
+-  `c51914b87b48 <https://github.com/open-power/skiboot/commit/c51914b87b48>`__ Remove Talos DT
+   match from Romulus file
+-  `27fcf2fa8350 <https://github.com/open-power/skiboot/commit/27fcf2fa8350>`__ Expose PNOR Flash
+   partitions to host MTD driver via devicetree
+-  `0f42d72abdf7 <https://github.com/open-power/skiboot/commit/0f42d72abdf7>`__ Mark all partitions
+   except full PNOR and boot kernel firmware read only
+
+Vaibhav Jain (8):
+
+-  `658c39dda366 <https://github.com/open-power/skiboot/commit/658c39dda366>`__ opal: Update
+   opal_del_host_sync_notifier() to accept ’void \*data’
+-  `9d2d0115eaca <https://github.com/open-power/skiboot/commit/9d2d0115eaca>`__ core/pci: Introduce
+   a new pci_slot_op named completed_sm_run()
+-  `763f397d5be7 <https://github.com/open-power/skiboot/commit/763f397d5be7>`__ capp/phb: Introduce
+   ‘struct capp’ to hold capp related info in ‘struct phb’
+-  `1a87f8f97175 <https://github.com/open-power/skiboot/commit/1a87f8f97175>`__ phb4/capp: Update
+   and re-factor phb4_set_capi_mode()
+-  `78ccc722c2fd <https://github.com/open-power/skiboot/commit/78ccc722c2fd>`__ capp/phb4: Force
+   CAPP to PCIe mode during kernel shutdown
+-  `52fa634e2152 <https://github.com/open-power/skiboot/commit/52fa634e2152>`__ capp/phb4: Introduce
+   PHB4 flag, PHB4_CAPP_DISABLE to disable CAPP
+-  `3dc87605be7a <https://github.com/open-power/skiboot/commit/3dc87605be7a>`__ phb4/capp: Implement
+   sequence to disable CAPP and enable fast-reset
+-  `d572d3a72fa2 <https://github.com/open-power/skiboot/commit/d572d3a72fa2>`__ capp/phb4: Prevent
+   HMI from getting triggered when disabling CAPP
+
+Vasant Hegde (38):
+
+-  `06ef9bd2d9a6 <https://github.com/open-power/skiboot/commit/06ef9bd2d9a6>`__ skiboot v6.0.15
+   release notes
+-  `7516e3827e50 <https://github.com/open-power/skiboot/commit/7516e3827e50>`__ core/ipmi: Improve
+   error message
+-  `554062d7fe5a <https://github.com/open-power/skiboot/commit/554062d7fe5a>`__ core/opal: Print PIR
+   value in exit path
+-  `67fc150c82a7 <https://github.com/open-power/skiboot/commit/67fc150c82a7>`__ skiboot v6.0.16
+   release notes
+-  `ab10b2e62e58 <https://github.com/open-power/skiboot/commit/ab10b2e62e58>`__ core/ipmi: Improve
+   error message
+-  `d07a5622a9e1 <https://github.com/open-power/skiboot/commit/d07a5622a9e1>`__ core/opal: Print PIR
+   value in exit path
+-  `b1d421875b4c <https://github.com/open-power/skiboot/commit/b1d421875b4c>`__ ipmi/power: Fix
+   system reboot issue
+-  `dd9b61cdfca7 <https://github.com/open-power/skiboot/commit/dd9b61cdfca7>`__ hdata/i2c: Reduce
+   severity of log message
+-  `b570fb646289 <https://github.com/open-power/skiboot/commit/b570fb646289>`__ libflash/ecc: Fix
+   compilation warning
+-  `cadaf7c36e83 <https://github.com/open-power/skiboot/commit/cadaf7c36e83>`__ libflash/ecc: Fix
+   compilation warning
+-  `fdd27ca27231 <https://github.com/open-power/skiboot/commit/fdd27ca27231>`__ hw/bt: Fix message
+   retry handler
+-  `01f977c33d46 <https://github.com/open-power/skiboot/commit/01f977c33d46>`__ hw/bt: Add backend
+   interface to disable ipmi message retry option
+-  `c526a280dcd1 <https://github.com/open-power/skiboot/commit/c526a280dcd1>`__ hdata/memory: Fix
+   warning message
+-  `4f0ceb63e951 <https://github.com/open-power/skiboot/commit/4f0ceb63e951>`__ hdata/memory:
+   Removed share-id property
+-  `61978c2c54d0 <https://github.com/open-power/skiboot/commit/61978c2c54d0>`__ hw/bt: Introduce
+   separate list for synchronous messages
+-  `968c30905d7a <https://github.com/open-power/skiboot/commit/968c30905d7a>`__ core/ipmi: Add ipmi
+   sync messages to top of the list
+-  `c0ab7b45db3d <https://github.com/open-power/skiboot/commit/c0ab7b45db3d>`__ hw/bt: Do not
+   disable ipmi message retry during OPAL boot
+-  `2e2bf87b42f7 <https://github.com/open-power/skiboot/commit/2e2bf87b42f7>`__ ipmi/power: Fix
+   system reboot issue
+-  `73fa7be132a4 <https://github.com/open-power/skiboot/commit/73fa7be132a4>`__ hw/bt: Fix message
+   retry handler
+-  `44f90875712f <https://github.com/open-power/skiboot/commit/44f90875712f>`__ hw/bt: Add backend
+   interface to disable ipmi message retry option
+-  `788c9ac2b926 <https://github.com/open-power/skiboot/commit/788c9ac2b926>`__ hw/bt: Introduce
+   separate list for synchronous messages
+-  `28f5fe3a6edc <https://github.com/open-power/skiboot/commit/28f5fe3a6edc>`__ core/ipmi: Add ipmi
+   sync messages to top of the list
+-  `af5c2978dbcd <https://github.com/open-power/skiboot/commit/af5c2978dbcd>`__ hw/bt: Do not
+   disable ipmi message retry during OPAL boot
+-  `5da21e2cc79d <https://github.com/open-power/skiboot/commit/5da21e2cc79d>`__ skiboot v6.2.2
+   release notes
+-  `6aa3bd8ab6ad <https://github.com/open-power/skiboot/commit/6aa3bd8ab6ad>`__ skiboot v6.0.18
+   release notes
+-  `261ca8e779e5 <https://github.com/open-power/skiboot/commit/261ca8e779e5>`__ skiboot v6.2.2
+   release notes
+-  `2ba5ce84a197 <https://github.com/open-power/skiboot/commit/2ba5ce84a197>`__ Update skiboot
+   stable tree rules
+-  `4456616272a4 <https://github.com/open-power/skiboot/commit/4456616272a4>`__ skiboot v6.0.19
+   release notes
+-  `92a5c57a14e2 <https://github.com/open-power/skiboot/commit/92a5c57a14e2>`__ skiboot v6.2.3
+   release notes
+-  `08de14aaa937 <https://github.com/open-power/skiboot/commit/08de14aaa937>`__ core/ipmi: Print
+   correct netfn value
+-  `7f291166283f <https://github.com/open-power/skiboot/commit/7f291166283f>`__
+   libflash/ipmi-hiomap: Fix blocks count issue
+-  `dfa935ebaa54 <https://github.com/open-power/skiboot/commit/dfa935ebaa54>`__ test-ipmi-hiomap:
+   Assert if size is zero
+-  `9facf3336054 <https://github.com/open-power/skiboot/commit/9facf3336054>`__ test-ipmi-hiomap:
+   Add write-one-byte test
+-  `9fd1495fba7a <https://github.com/open-power/skiboot/commit/9fd1495fba7a>`__ test-ipmi-hiomap:
+   Fix lpc-read-success
+-  `857f046d3ab0 <https://github.com/open-power/skiboot/commit/857f046d3ab0>`__ test-ipmi-hiomap:
+   Add read-one-byte test
+-  `e0b8541ff8ca <https://github.com/open-power/skiboot/commit/e0b8541ff8ca>`__ opal-prd: Check
+   malloc return value
+-  `ac226d2c98ad <https://github.com/open-power/skiboot/commit/ac226d2c98ad>`__ opal-prd: Fix memory
+   leak in is-fsp-system check
+-  `990d248a61a0 <https://github.com/open-power/skiboot/commit/990d248a61a0>`__ skiboot v6.3.1
+   release notes
+
+Package: vesnin-xml
+-------------------
+
+`Repository <https://github.com/open-power/vesnin-xml>`__
+
+.. _v2.3-patches-11:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-11:
+
+Commits
+~~~~~~~
+
+Artem Senichev (2):
+
+-  `6549b6d2bf42 <https://github.com/open-power/vesnin-xml/commit/6549b6d2bf42>`__ Disable PCIe port
+   bifurcation
+-  `f44f8808fc7c <https://github.com/open-power/vesnin-xml/commit/f44f8808fc7c>`__ Fix
+   IBSCOM_MCS_BASE_ADDR formatting
+
+Package: witherspoon-xml
+------------------------
+
+`Repository <https://github.com/open-power/witherspoon-xml>`__
+
+.. _v2.3-patches-12:
+
+Patches
+~~~~~~~
+
+.. _v2.3-commits-12:
+
+Commits
+~~~~~~~
+
+Bill Hoffa (1):
+
+-  `ed1f0ebe2e2e <https://github.com/open-power/witherspoon-xml/commit/ed1f0ebe2e2e>`__ The
+   CONFIG_APPLY attribute needs a default value
+
+Erich Hauptli (2):
+
+-  `c47cddbcd13b <https://github.com/open-power/witherspoon-xml/commit/c47cddbcd13b>`__ Picked up
+   PROC_COMPAT\* attribute
+-  `00f0727053e8 <https://github.com/open-power/witherspoon-xml/commit/00f0727053e8>`__ Fixing GPU
+   I2C Addresses
diff --git a/openpower/configs/barreleye_defconfig b/openpower/configs/barreleye_defconfig
index 2281b9e..9a8469e 100644
--- a/openpower/configs/barreleye_defconfig
+++ b/openpower/configs/barreleye_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/firenze_defconfig b/openpower/configs/firenze_defconfig
index c20ce1a..290c623 100644
--- a/openpower/configs/firenze_defconfig
+++ b/openpower/configs/firenze_defconfig
@@ -14,7 +14,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig
index 6a980b3..3350b08 100644
--- a/openpower/configs/firestone_defconfig
+++ b/openpower/configs/firestone_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/garrison_defconfig b/openpower/configs/garrison_defconfig
index d9184f6..53a52be 100644
--- a/openpower/configs/garrison_defconfig
+++ b/openpower/configs/garrison_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/habanero_defconfig
index 8fa1758..b0cd6b5 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/habanero_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/hostboot/p8dtu.config b/openpower/configs/hostboot/p8dtu.config
new file mode 100644
index 0000000..7781d39
--- /dev/null
+++ b/openpower/configs/hostboot/p8dtu.config
@@ -0,0 +1,70 @@
+# The Serial Flash Controller is the AST2400 BMC.
+set   SFC_IS_AST2400
+set   PNORDD_IS_IPMI
+unset PNORDD_IS_SFC
+set   BMC_DOES_SFC_INIT
+unset SFC_IS_IBM_DPSS
+set   ALLOW_MICRON_PNOR
+set   ALLOW_MACRONIX_PNOR
+
+# VPD options.
+set MVPD_READ_FROM_HW
+set MVPD_WRITE_TO_HW
+set MVPD_READ_FROM_PNOR
+set MVPD_WRITE_TO_PNOR
+set DJVPD_READ_FROM_HW
+unset DJVPD_WRITE_TO_HW
+set DJVPD_READ_FROM_PNOR
+set DJVPD_WRITE_TO_PNOR
+set CVPD_READ_FROM_HW
+set CVPD_WRITE_TO_HW
+set CVPD_READ_FROM_PNOR
+set CVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
+set SKIP_RESTRICT_EX_UNITS
+unset CDIMM_FORMAT_FOR_CVPD
+
+# gpio config
+set GPIODD
+set PALMETTO_VDDR
+
+# Enable SBE updates
+#set SBE_UPDATE_INDEPENDENT
+set SBE_UPDATE_SIMULTANEOUS
+
+unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+set BMC_AST2400
+
+# Enable Kingston dimm voltage workaround
+unset KINGSTON_1_35_VOLT
+
+unset DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+set HBRT_PRD
+set HTMGT
+set START_OCC_DURING_BOOT
+
+#PNOR flags
+unset PNOR_TWO_SIDE_SUPPORT
+set PNOR_IS_32MB
+
+set BMC_BT_LPC_IPMI
+
+unset SET_NOMINAL_PSTATE
+
+# Enable Checktop Analysis
+set ENABLE_CHECKSTOP_ANALYSIS
+set IPLTIME_CHECKSTOP_ANALYSIS
+
+# Hostboot will detect hardware changes
+set HOST_HCDB_SUPPORT
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
diff --git a/openpower/configs/linux/skiroot_defconfig b/openpower/configs/linux/skiroot_defconfig
index 999fc61..054789d 100644
--- a/openpower/configs/linux/skiroot_defconfig
+++ b/openpower/configs/linux/skiroot_defconfig
@@ -1,3 +1,8 @@
+CONFIG_PPC64=y
+CONFIG_ALTIVEC=y
+CONFIG_VSX=y
+CONFIG_NR_CPUS=2048
+CONFIG_CPU_LITTLE_ENDIAN=y
 CONFIG_KERNEL_XZ=y
 # CONFIG_SWAP is not set
 CONFIG_SYSVIPC=y
@@ -24,11 +29,16 @@
 CONFIG_PERF_EVENTS=y
 # CONFIG_COMPAT_BRK is not set
 CONFIG_SLAB_FREELIST_HARDENED=y
-CONFIG_PPC64=y
-CONFIG_ALTIVEC=y
-CONFIG_VSX=y
-CONFIG_NR_CPUS=2048
-CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_JUMP_LABEL=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_SIG=y
+CONFIG_MODULE_SIG_FORCE=y
+CONFIG_MODULE_SIG_SHA512=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
 # CONFIG_PPC_VAS is not set
 # CONFIG_PPC_PSERIES is not set
 # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
@@ -38,26 +48,14 @@
 CONFIG_KEXEC=y
 CONFIG_IRQ_ALL_CPUS=y
 CONFIG_NUMA=y
+# CONFIG_COMPACTION is not set
+# CONFIG_MIGRATION is not set
 CONFIG_PPC_64K_PAGES=y
 CONFIG_SCHED_SMT=y
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CMDLINE="console=tty0 console=hvc0 ipr.fast_reboot=1 quiet"
 # CONFIG_SECCOMP is not set
 # CONFIG_PPC_MEM_KEYS is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_STRICT_KERNEL_RWX=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_SIG=y
-CONFIG_MODULE_SIG_FORCE=y
-CONFIG_MODULE_SIG_SHA512=y
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_KYBER is not set
-# CONFIG_COMPACTION is not set
-# CONFIG_MIGRATION is not set
-# CONFIG_BOUNCE is not set
 CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
@@ -143,6 +141,7 @@
 CONFIG_BNX2X=m
 # CONFIG_NET_VENDOR_BROCADE is not set
 # CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_CADENCE is not set
 # CONFIG_NET_VENDOR_CAVIUM is not set
 CONFIG_CHELSIO_T1=m
 # CONFIG_NET_VENDOR_CISCO is not set
@@ -159,6 +158,7 @@
 CONFIG_IXGB=m
 CONFIG_IXGBE=m
 CONFIG_I40E=m
+CONFIG_S2IO=m
 # CONFIG_NET_VENDOR_MARVELL is not set
 CONFIG_MLX4_EN=m
 # CONFIG_MLX4_CORE_GEN2 is not set
@@ -169,7 +169,6 @@
 # CONFIG_NET_VENDOR_MICROSEMI is not set
 CONFIG_MYRI10GE=m
 # CONFIG_NET_VENDOR_NATSEMI is not set
-CONFIG_S2IO=m
 # CONFIG_NET_VENDOR_NETRONOME is not set
 # CONFIG_NET_VENDOR_NI is not set
 # CONFIG_NET_VENDOR_NVIDIA is not set
@@ -269,6 +268,7 @@
 CONFIG_MSDOS_FS=m
 CONFIG_VFAT_FS=m
 CONFIG_PROC_KCORE=y
+CONFIG_HUGETLBFS=y
 # CONFIG_MISC_FILESYSTEMS is not set
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS=y
@@ -277,9 +277,6 @@
 CONFIG_NLS_ASCII=y
 CONFIG_NLS_ISO8859_1=y
 CONFIG_NLS_UTF8=y
-CONFIG_ENCRYPTED_KEYS=y
-# CONFIG_CRYPTO_ECHAINIV is not set
-# CONFIG_CRYPTO_HW is not set
 CONFIG_CRC16=y
 CONFIG_CRC_ITU_T=y
 CONFIG_LIBCRC32C=y
@@ -300,4 +297,6 @@
 # CONFIG_FTRACE is not set
 # CONFIG_RUNTIME_TESTING_MENU is not set
 CONFIG_XMON=y
-CONFIG_XMON_DEFAULT=y
+CONFIG_ENCRYPTED_KEYS=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/openpower/configs/opal_defconfig b/openpower/configs/opal_defconfig
index 334b887..73d6128 100644
--- a/openpower/configs/opal_defconfig
+++ b/openpower/configs/opal_defconfig
@@ -12,7 +12,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/p8dtu_defconfig b/openpower/configs/p8dtu_defconfig
new file mode 100644
index 0000000..22b1348
--- /dev/null
+++ b/openpower/configs/p8dtu_defconfig
@@ -0,0 +1,67 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/p8dtu-patches"
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_6_X=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_SYSTEM_ENABLE_NLS=y
+BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_LINUX_KERNEL_XZ=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_IPMITOOL_USB=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_LRZSZ=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_UTIL_LINUX_AGETTY=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER8=y
+BR2_HOSTBOOT_P8_CONFIG_FILE="p8dtu.config"
+BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="p8dtu-xml"
+BR2_OPENPOWER_MACHINE_XML_VERSION="a44ee3e29ff143053c0d0ec65e5a255402654616"
+BR2_OPENPOWER_MACHINE_XML_FILENAME="p8dtu.xml"
+BR2_OPENPOWER_SYSTEM_XML_FILENAME="P8DTU_hb.system.xml"
+BR2_OPENPOWER_MRW_XML_FILENAME="P8DTU_hb.mrw.xml"
+BR2_OPENPOWER_BIOS_XML_FILENAME="P8DTU_bios.xml"
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutSingleSide.xml"
+BR2_OPENPOWER_CONFIG_NAME="p8dtu"
+BR2_OPENPOWER_PNOR_FILENAME="P8DTU.pnor"
+BR2_HOSTBOOT_BINARY_SBE_FILENAME="venice_sbe.img.ecc"
+BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p8.ref_image.hdr.bin.ecc"
+BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="P8DTU_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="P8DTU_HB.targeting.bin.ecc"
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
+BR2_PACKAGE_LOADKEYS=y
+BR2_IMA_CATALOG_DTS="POWER8"
diff --git a/openpower/configs/p9dsu_defconfig b/openpower/configs/p9dsu_defconfig
index 4fd423b..7098561 100644
--- a/openpower/configs/p9dsu_defconfig
+++ b/openpower/configs/p9dsu_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/palmetto_defconfig b/openpower/configs/palmetto_defconfig
index eeb7542..917ec9a 100644
--- a/openpower/configs/palmetto_defconfig
+++ b/openpower/configs/palmetto_defconfig
@@ -14,7 +14,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/pseries_defconfig b/openpower/configs/pseries_defconfig
index 8f14129..5a75bc4 100644
--- a/openpower/configs/pseries_defconfig
+++ b/openpower/configs/pseries_defconfig
@@ -15,7 +15,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/pseries_skiroot_defconfig"
diff --git a/openpower/configs/romulus_defconfig b/openpower/configs/romulus_defconfig
index 9c9a5a5..33562aa 100644
--- a/openpower/configs/romulus_defconfig
+++ b/openpower/configs/romulus_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/vesnin_defconfig b/openpower/configs/vesnin_defconfig
index 16012e3..cfda022 100644
--- a/openpower/configs/vesnin_defconfig
+++ b/openpower/configs/vesnin_defconfig
@@ -15,7 +15,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig
index 0e675bd..1d08424 100644
--- a/openpower/configs/witherspoon_defconfig
+++ b/openpower/configs/witherspoon_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/zaius_defconfig b/openpower/configs/zaius_defconfig
index 754f358..b0dc89b 100644
--- a/openpower/configs/zaius_defconfig
+++ b/openpower/configs/zaius_defconfig
@@ -16,7 +16,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/zz_defconfig b/openpower/configs/zz_defconfig
index 69b809e..6c94573 100644
--- a/openpower/configs/zz_defconfig
+++ b/openpower/configs/zz_defconfig
@@ -14,7 +14,7 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.5"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.15"
 BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
index 60a66a9..d25646e 100644
--- a/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
+++ b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 005e65922608..946a826d0d8d 100644
+index f39ca3980e48..bd7011c1ad34 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -795,6 +795,7 @@ static void xhci_shutdown(struct usb_hcd *hcd)
+@@ -793,6 +793,7 @@ static void xhci_shutdown(struct usb_hcd *hcd)
  	/* Yet another workaround for spurious wakeups at shutdown with HSW */
  	if (xhci->quirks & XHCI_SPURIOUS_WAKEUP)
  		pci_set_power_state(to_pci_dev(hcd->self.sysdev), PCI_D3hot);
diff --git a/openpower/linux/0002-Release-OpenPower-kernel.patch b/openpower/linux/0002-Release-OpenPower-kernel.patch
index a3535e3..48feb75 100644
--- a/openpower/linux/0002-Release-OpenPower-kernel.patch
+++ b/openpower/linux/0002-Release-OpenPower-kernel.patch
@@ -1,6 +1,6 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Joel Stanley <joel@jms.id.au>
-Date: Wed, 3 Apr 2019 10:58:35 +1030
+Date: Tue, 25 Jun 2019 14:32:27 +0930
 Subject: [PATCH 2/2] Release OpenPower kernel
 
 Signed-off-by: Joel Stanley <joel@jms.id.au>
@@ -9,13 +9,13 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 63152c5ca136..d5bfc0358601 100644
+index d7b3c8e3ff3e..0b8b4ae447bc 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -2,7 +2,7 @@
  VERSION = 5
- PATCHLEVEL = 0
- SUBLEVEL = 5
+ PATCHLEVEL = 1
+ SUBLEVEL = 15
 -EXTRAVERSION =
 +EXTRAVERSION = -openpower1
  NAME = Shy Crocodile
diff --git a/openpower/package/hcode/Config.in b/openpower/package/hcode/Config.in
index dc37c13..a6d9c7d 100644
--- a/openpower/package/hcode/Config.in
+++ b/openpower/package/hcode/Config.in
@@ -31,7 +31,7 @@
 
 config BR2_HCODE_VERSION
 	string
-	default "hw040319a.940" if BR2_HCODE_LATEST_VERSION
+	default "hw041519a.opv23" if BR2_HCODE_LATEST_VERSION
 	default BR2_HCODE_CUSTOM_VERSION_VALUE \
 		if BR2_HCODE_CUSTOM_VERSION
 
diff --git a/openpower/package/hostboot-binaries/Config.in b/openpower/package/hostboot-binaries/Config.in
index 94e5178..7a5fdb8 100644
--- a/openpower/package/hostboot-binaries/Config.in
+++ b/openpower/package/hostboot-binaries/Config.in
@@ -24,7 +24,7 @@
 
 config BR2_HOSTBOOT_BINARIES_VERSION
 	string
-	default "hw021419a.930" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION
+	default "hw041519a.opv23" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION
 	default BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION_VALUE \
 		if BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION
 
diff --git a/openpower/package/hostboot-p8/hostboot-p8.mk b/openpower/package/hostboot-p8/hostboot-p8.mk
index a614166..508cb1c 100644
--- a/openpower/package/hostboot-p8/hostboot-p8.mk
+++ b/openpower/package/hostboot-p8/hostboot-p8.mk
@@ -3,7 +3,7 @@
 # hostboot for POWER8
 #
 ################################################################################
-HOSTBOOT_P8_VERSION ?= dc218d94c57b986f5620cc8651f5aae9d08536a6
+HOSTBOOT_P8_VERSION ?= c8935157f6af41cfd83e31fef9f625c2db6c7900
 
 HOSTBOOT_P8_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_P8_VERSION))
 
diff --git a/openpower/package/hostboot/Config.in b/openpower/package/hostboot/Config.in
index 2738392..1f1e391 100644
--- a/openpower/package/hostboot/Config.in
+++ b/openpower/package/hostboot/Config.in
@@ -25,7 +25,7 @@
 
 config BR2_HOSTBOOT_VERSION
 	string
-	default "e5622fb032dc8b23627d8ca06d82a10b612d5435" if BR2_HOSTBOOT_LATEST_VERSION
+	default "ca03643dd8935f9c839cf8dfd4971c519476f4a1" if BR2_HOSTBOOT_LATEST_VERSION
 	default BR2_HOSTBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_HOSTBOOT_CUSTOM_VERSION
 
diff --git a/openpower/package/sb-signing-utils/sb-signing-utils.mk b/openpower/package/sb-signing-utils/sb-signing-utils.mk
index 09e4aad..cba03e3 100644
--- a/openpower/package/sb-signing-utils/sb-signing-utils.mk
+++ b/openpower/package/sb-signing-utils/sb-signing-utils.mk
@@ -8,7 +8,7 @@
 
 SB_SIGNING_UTILS_LICENSE = Apache-2.0
 SB_SIGNING_UTILS_LICENSE_FILES = LICENSE
-SB_SIGNING_UTILS_VERSION ?= v0.7
+SB_SIGNING_UTILS_VERSION ?= v0.8
 
 HOST_SB_SIGNING_UTILS_DEPENDENCIES = host-openssl
 
diff --git a/openpower/package/skiboot/Config.in b/openpower/package/skiboot/Config.in
index d6c879d..70e40d6 100644
--- a/openpower/package/skiboot/Config.in
+++ b/openpower/package/skiboot/Config.in
@@ -31,7 +31,7 @@
 
 config BR2_SKIBOOT_VERSION
 	string
-	default "v6.3-rc1" if BR2_SKIBOOT_LATEST_VERSION
+	default "v6.3.3" if BR2_SKIBOOT_LATEST_VERSION
 	default BR2_SKIBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_SKIBOOT_CUSTOM_VERSION
 
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0001-Memory-Interleaving-Grouping-change-for-p8dtu.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0001-Memory-Interleaving-Grouping-change-for-p8dtu.patch
new file mode 100644
index 0000000..acdb1c0
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0001-Memory-Interleaving-Grouping-change-for-p8dtu.patch
@@ -0,0 +1,27 @@
+From e6db702ece6f5d13c7d0b288203a0715b4a2a35b Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 18 Oct 2016 16:08:13 -0700
+Subject: [PATCH 01/14] Memory Interleaving Grouping change for p8dtu. Allow
+ not adjacent pair for p8dtu.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/targeting/common/xmltohb/attribute_types.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
+index 0fc5f4eac..d7fc183a4 100644
+--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
++++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
+@@ -13812,7 +13812,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
+     </description>
+     <simpleType>
+         <uint8_t>
+-        <default>1</default>
++        <default>0</default>
+         </uint8_t>
+     </simpleType>
+     <persistency>non-volatile</persistency>
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0002-Support-130W-Turismo-Parts.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0002-Support-130W-Turismo-Parts.patch
new file mode 100644
index 0000000..9b3c4b0
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0002-Support-130W-Turismo-Parts.patch
@@ -0,0 +1,40 @@
+From 3040a458385e82d7d9edf7b926fcdba641d0a048 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 18 Oct 2016 16:12:21 -0700
+Subject: [PATCH 02/14] Support 130W Turismo Parts.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/targeting/common/xmltohb/attribute_types.xml | 2 +-
+ src/usr/targeting/common/xmltohb/target_types.xml    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
+index d7fc183a4..0f0e2f6a7 100644
+--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
++++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
+@@ -15890,7 +15890,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
+     <simpleType>
+         <enumeration>
+             <id>MRW_NEST_CAPABLE_FREQUENCIES_SYS</id>
+-            <default>UNSUPPORTED_FREQ</default>
++            <default>2000_MHZ_OR_2400_MHZ</default>
+         </enumeration>
+     </simpleType>
+     <persistency>non-volatile</persistency>
+diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
+index b28607ca2..a150ce64d 100644
+--- a/src/usr/targeting/common/xmltohb/target_types.xml
++++ b/src/usr/targeting/common/xmltohb/target_types.xml
+@@ -681,7 +681,7 @@
+     </attribute>
+     <attribute>
+         <id>DEFAULT_PROC_MODULE_NEST_FREQ_MHZ</id>
+-        <default>2400</default>
++        <default>2000</default>
+     </attribute>
+ </targetType>
+ 
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0003-Add-support-for-memory-voltage-control-for-p8dtu.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0003-Add-support-for-memory-voltage-control-for-p8dtu.patch
new file mode 100644
index 0000000..4f6b021
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0003-Add-support-for-memory-voltage-control-for-p8dtu.patch
@@ -0,0 +1,49 @@
+From 783332cc9afcf3c8581760112162b650a9e01c7e Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 4 Oct 2016 16:07:44 -0700
+Subject: [PATCH 03/14] Adds support for memory voltage control specific to the p8dtu platform.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/hwpf/hwp/dram_training/palmetto_vddr.C | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C b/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
+index b0f6bed4c..95c3924b8 100644
+--- a/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
++++ b/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
+@@ -168,6 +168,7 @@ static errlHndl_t for_each_vddr_domain_with_functional_memory(
+     std::sort(l_membufTargetList.begin(), l_membufTargetList.end(),
+         compareTargetsGpioInfos);
+ 
++/*
+     // Prune out targets with non-unique GPIO info
+     std::vector<TARGETING::TargetHandle_t>::iterator
+         pInvalidEntries = std::unique(
+@@ -175,6 +176,7 @@ static errlHndl_t for_each_vddr_domain_with_functional_memory(
+             l_membufTargetList.end(),
+             areTargetsGpioInfoEqual);
+     l_membufTargetList.erase(pInvalidEntries,l_membufTargetList.end());
++*/
+ 
+     // Invoke callback for one Centaur per unique VDDR domain
+     for (TargetHandleList::iterator
+@@ -274,6 +276,7 @@ static errlHndl_t pca95xGpioWriteBit(TARGETING::Target * i_target,
+                            i_val);
+ 
+     // Configure gpio bit as output (if necessary).
++/*    
+     if(!err)
+     {
+         err = pca95xGpioSetBit(i_target,
+@@ -281,6 +284,7 @@ static errlHndl_t pca95xGpioWriteBit(TARGETING::Target * i_target,
+                                i_gpio_pin,
+                                PCA95X_GPIO_CONFIG_OUTPUT);
+     }
++*/
+ 
+     return err;
+ }
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0004-change-esel-command-netfn-to-IBM-0x3a.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0004-change-esel-command-netfn-to-IBM-0x3a.patch
new file mode 100644
index 0000000..3215bc2
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0004-change-esel-command-netfn-to-IBM-0x3a.patch
@@ -0,0 +1,26 @@
+From eee0dcae475618bef686198baf28c750de9a63a5 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 11 Oct 2016 10:00:15 -0700
+Subject: [PATCH 04/14] change esel command netfn to IBM 0x3a
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/include/usr/ipmi/ipmiif.H | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
+index 5c2444f26..94fca5fb6 100644
+--- a/src/include/usr/ipmi/ipmiif.H
++++ b/src/include/usr/ipmi/ipmiif.H
+@@ -265,7 +265,7 @@ namespace IPMI
+ 
+     //AMI-specific storage messages
+     inline const command_t partial_add_esel(void)
+-    { return std::make_pair(NETFUN_AMI, 0xf0); }
++	{ return std::make_pair(NETFUN_IBM, 0xf0); }
+ 
+     // event messages
+     inline const command_t platform_event(void)
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0005-change-pnor-response-command-to-0x7.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0005-change-pnor-response-command-to-0x7.patch
new file mode 100644
index 0000000..943b471
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0005-change-pnor-response-command-to-0x7.patch
@@ -0,0 +1,26 @@
+From 50ae9cf95223a5f6492e7e515ccef9d4499ef823 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 11 Oct 2016 10:03:01 -0700
+Subject: [PATCH 05/14] change pnor response command to 0x7
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/include/usr/ipmi/ipmiif.H | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
+index 94fca5fb6..4b41cb3bc 100644
+--- a/src/include/usr/ipmi/ipmiif.H
++++ b/src/include/usr/ipmi/ipmiif.H
+@@ -289,7 +289,7 @@ namespace IPMI
+     { return std::make_pair(NETFUN_IBM, 0x07); }
+ 
+     inline const command_t pnor_response(void)
+-    { return std::make_pair(NETFUN_IBM, 0x08); }
++	{ return std::make_pair(NETFUN_IBM, 0x07); }
+ 
+     inline const command_t hiomap_event(void)
+     { return std::make_pair(NETFUN_IBM, 0x0f); }
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0006-send-board-ID-to-ipmi.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0006-send-board-ID-to-ipmi.patch
new file mode 100644
index 0000000..58ddb2d
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0006-send-board-ID-to-ipmi.patch
@@ -0,0 +1,108 @@
+From 73ba34b74551c5f61a1f2c93f48a7f59cb576cd6 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 11 Oct 2016 10:26:14 -0700
+Subject: [PATCH 06/14] send board ID to ipmi
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/include/usr/ipmi/ipmiif.H                      |  6 ++++-
+ src/include/usr/ipmi/ipmipowerstate.H              |  2 +-
+ .../initservice/istepdispatcher/istepdispatcher.C  | 11 ++++++++
+ src/usr/ipmiext/ipmipowerstate.C                   | 29 ++++++++++++++++++++++
+ 4 files changed, 46 insertions(+), 2 deletions(-)
+
+diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
+index 4b41cb3bc..8039adbf7 100644
+--- a/src/include/usr/ipmi/ipmiif.H
++++ b/src/include/usr/ipmi/ipmiif.H
+@@ -299,7 +299,11 @@ namespace IPMI
+     // user defined power limit from the BMC.
+     inline const command_t get_power_limit(void)
+     { return std::make_pair(NETFUN_GRPEXT, 0x03); }
+-
++	
++	//SMC	  
++	inline const command_t set_board_id(void)
++	{ return std::make_pair(NETFUN_NONE, 0x20); }
++	
+     // Some helper messages
+     // Used to create an empty message for reception
+     inline const command_t no_command(void)
+diff --git a/src/include/usr/ipmi/ipmipowerstate.H b/src/include/usr/ipmi/ipmipowerstate.H
+index b65275075..e943e8b66 100644
+--- a/src/include/usr/ipmi/ipmipowerstate.H
++++ b/src/include/usr/ipmi/ipmipowerstate.H
+@@ -78,7 +78,7 @@ enum ACPI_DEVICE_POWER_STATE_TO_SET
+  */
+ errlHndl_t setACPIPowerState();
+ 
+-
++errlHndl_t SmcsetBoardId();
+ } // namespace
+ 
+ #endif
+diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
+index 16f1c8a01..0f9731094 100644
+--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
++++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
+@@ -284,6 +284,17 @@ void IStepDispatcher::init(errlHndl_t &io_rtaskRetErrl)
+             err_ipmi->collectTrace("INITSVC", 1024);
+             errlCommit(err_ipmi, INITSVC_COMP_ID );
+         }
++		//send board ID
++		errlHndl_t err_ipmi1 = IPMI::SmcsetBoardId();
++		
++		if(err_ipmi1)
++		{
++		TRACFCOMP(g_trac_initsvc,
++						   "init: ERROR: IPMI set Board Id Failed");
++			 err_ipmi->collectTrace("INITSVC", 1024);
++			 errlCommit(err_ipmi1, INITSVC_COMP_ID );
++		 }
++		
+ #endif
+ 
+ 
+diff --git a/src/usr/ipmiext/ipmipowerstate.C b/src/usr/ipmiext/ipmipowerstate.C
+index 30c2a70ef..f8e61f82b 100644
+--- a/src/usr/ipmiext/ipmipowerstate.C
++++ b/src/usr/ipmiext/ipmipowerstate.C
+@@ -50,6 +50,35 @@ namespace IPMI
+ /******************************************************************************/
+ // Functions
+ /******************************************************************************/
++errlHndl_t SmcsetBoardId()
++{
++    errlHndl_t err_ipmi = NULL;
++
++    size_t len = 10; 
++
++    //create request data buffer
++    uint8_t* data = new uint8_t[len];
++
++    IPMI::completion_code cc = IPMI::CC_UNKBAD;
++    //P8DTU board ID 0933
++    data[0] = 0x33;
++    data[1] = 0x9;
++    memset(&data[2], 0, 8);
++    err_ipmi = IPMI::sendrecv(IPMI::set_board_id(), cc, len, data);
++
++    //cleanup buffer
++    delete[] data;
++
++    if(cc != IPMI::CC_OK)
++    {
++        IPMI_TRAC("Set board id: BMC returned not ok CC[%x]",cc);
++        // should we log error and then retry?
++        // what happens if the communication is broken
++        // reset will try and set it again.
++    }
++
++    return err_ipmi;
++}
+ 
+ errlHndl_t setACPIPowerState()
+ {
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0007-read-riser-id-from-CPLD.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0007-read-riser-id-from-CPLD.patch
new file mode 100644
index 0000000..af19f74
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0007-read-riser-id-from-CPLD.patch
@@ -0,0 +1,95 @@
+From 94de2f7f944a2cabbdf699adcbc6679a091ad324 Mon Sep 17 00:00:00 2001
+From: Leoluo <leoluo@supermicro.com>
+Date: Tue, 8 Mar 2016 17:01:26 -0800
+Subject: [PATCH 07/14] read riser id from CPLD
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/include/usr/ipmi/ipmiif.H                  |  3 ++
+ src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C | 42 +++++++++++++++++++++++++-
+ 2 files changed, 44 insertions(+), 1 deletion(-)
+
+diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
+index 8039adbf7..9dfd8ee63 100644
+--- a/src/include/usr/ipmi/ipmiif.H
++++ b/src/include/usr/ipmi/ipmiif.H
+@@ -238,6 +238,9 @@ namespace IPMI
+     inline const command_t get_capabilities(void)
+     { return std::make_pair(NETFUN_APP, 0x36); }
+ 
++    inline const command_t master_readwrite(void)
++    { return std::make_pair(NETFUN_APP, 0x52); }
++
+ 
+     // Chassis messages
+     inline const command_t chassis_power_off(void)
+diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
+index d122ae4de..73f1a0a3f 100644
+--- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
++++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
+@@ -58,6 +58,8 @@
+ //  MVPD
+ #include <devicefw/userif.H>
+ #include <vpd/mvpdenums.H>
++#include <ipmi/ipmiif.H>
++
+ 
+ #include <config.h>
+ 
+@@ -1743,7 +1745,40 @@ errlHndl_t computeProcPcieConfigAttrs(
+             effectiveLaneSwap[iop] = laneSwap;
+         }
+ #endif
+-
++   uint8_t riser_id = 0 ;
++	errlHndl_t l_err = NULL;
++	
++	
++	size_t len = 4;
++	
++	//create request data buffer
++	uint8_t* data = new uint8_t[len];
++	
++	IPMI::completion_code cc = IPMI::CC_UNKBAD;
++	
++	data[0] = 0x3;  
++	data[1] = 0x70;  
++	data[2] = 0x1;  
++	data[3] = 0x1;  
++	l_err = IPMI::sendrecv(IPMI::master_readwrite(), cc, len, data);
++	
++	if( l_err == NULL )
++	{
++		if( cc == IPMI::CC_OK )
++		{
++		riser_id = data[0];
++		}
++		
++		delete[] data;
++	}
++
++
++       if((i_pProcChipTarget->getAttr<TARGETING::ATTR_HUID>()) == 0x50001 && (riser_id == 0xE) ){	   	
++		effectiveLaneMask[1][0] = 0xFFFF;
++	    effectiveLaneMask[1][1] = 0x0000;      
++          effectiveLaneSwap[1] = 0x0;
++       	}
++	   
+         i_pProcChipTarget->setAttr<
+             TARGETING::ATTR_PROC_PCIE_LANE_MASK>(effectiveLaneMask);
+ 
+@@ -1797,6 +1832,11 @@ errlHndl_t computeProcPcieConfigAttrs(
+             iopConfig = laneConfigItr->laneConfig;
+             phbActiveMask = laneConfigItr->phbActive;
+ 
++			if((i_pProcChipTarget->getAttr<TARGETING::ATTR_HUID>()) == 0x50001 && (riser_id == 0xE) ){
++	   	       iopConfig = 0 ;
++	           phbActiveMask = PHB0_MASK|PHB1_MASK;
++       	      }
++
+             // Disable applicable PHBs
+             phbActiveMask &= (~disabledPhbs);
+             (void)_deconfigPhbsBasedOnPciState(
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0008-Fill-board-mfg-time-and-date-in-FRU3.-It-is-read-fro.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0008-Fill-board-mfg-time-and-date-in-FRU3.-It-is-read-fro.patch
new file mode 100644
index 0000000..41c24b3
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0008-Fill-board-mfg-time-and-date-in-FRU3.-It-is-read-fro.patch
@@ -0,0 +1,99 @@
+From ed60d5736559c4e100e5db20de942a584b58b6f0 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Wed, 25 May 2016 15:24:40 -0700
+Subject: [PATCH 08/14] Fill board mfg time and date in FRU3. It is read from
+ PVPD:VNDR:IN.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/ipmiext/ipmifruinv.C | 65 +++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 49 insertions(+), 16 deletions(-)
+
+diff --git a/src/usr/ipmiext/ipmifruinv.C b/src/usr/ipmiext/ipmifruinv.C
+index 23aaf9b97..11fbd7677 100644
+--- a/src/usr/ipmiext/ipmifruinv.C
++++ b/src/usr/ipmiext/ipmifruinv.C
+@@ -1279,31 +1279,64 @@ errlHndl_t backplaneIpmiFruInv::buildChassisInfoArea(
+     return l_errl;
+ }
+ 
++// Quick hexdigit to binary converter.
++// Hopefull someday to replaced by strtoul
++uint8_t aschex2bin(char c)
++{
++    if(c >= 'a' && c <= 'f')
++    {
++        c = c + 10 - 'a';
++    }
++    else if (c >= 'A' && c <= 'F')
++    {
++        c = c + 10 - 'A';
++    }
++    else if (c >= '0' && c <= '9')
++    {
++       c -= '0';
++    }
++    else return 0;// else it's not a hex digit, return 0
++
++    return c;
++}
++
++
+ errlHndl_t backplaneIpmiFruInv::buildBoardInfoArea(
+                                               std::vector<uint8_t> &io_data)
+ {
+     errlHndl_t l_errl = NULL;
++	std::vector<uint8_t> oem_data; //jim052316
++	uint8_t i, data1, data2, data3;//jim052316
+ 
+     do {
+         //Set formatting data that goes at the beginning of the record
+         preFormatProcessing(io_data, true);
+ 
+-        // Set Mfg Build date
+-        // Grab VPD data into seperate data vector
+-        std::vector<uint8_t> mfgDateData;
+-        l_errl = addVpdData(mfgDateData, PVPD::OPFR, PVPD::MB, false, false);
+-        if (l_errl)
+-        {
+-            // The MB keyword was optional on older cards so just ignore
+-            //  any errors
+-            delete l_errl;
+-            l_errl = NULL;
+-        }
+-        else
+-        {
+-            // Pass that to the function that sets the Build date
+-            setMfgData(io_data, mfgDateData);
+-        }
++        l_errl = addVpdData(oem_data, PVPD::VNDR, PVPD::IN, true);
++        if (l_errl) { break; }
++
++		for (i=0; i < oem_data.size(); i++)
++		TRACFCOMP(g_trac_ipmi,"Jimdebug board VNDR:IN data is 0x%x", oem_data[i]);
++
++		data1 = (aschex2bin(oem_data[5]) << 4) | aschex2bin(oem_data[6]);//jim052416
++		data2 = (aschex2bin(oem_data[3]) << 4) | aschex2bin(oem_data[4]);
++		data3 = (aschex2bin(oem_data[1]) << 4) | aschex2bin(oem_data[2]);  
++
++		
++		TRACFCOMP(g_trac_ipmi,"Jimdebug push data1 is 0x%x", data1);
++		TRACFCOMP(g_trac_ipmi,"Jimdebug push data2 is 0x%x", data2);
++		TRACFCOMP(g_trac_ipmi,"Jimdebug push data3 is 0x%x", data3);
++
++		
++        io_data.push_back(data1); 
++        io_data.push_back(data2);
++        io_data.push_back(data3);
++
++
++        //Set MFG Date/Time - Blank
++        //io_data.push_back(0x5E); //jim52016
++        //io_data.push_back(0x9A);
++        //io_data.push_back(0xA3);
+ 
+         //Set Vendor Name - ascii formatted data
+         l_errl = addVpdData(io_data, PVPD::OPFR, PVPD::VN, true);
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0009-Hardcode-DIMM-pairing-for-RAS.-Fix-the-issue-that-MB.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0009-Hardcode-DIMM-pairing-for-RAS.-Fix-the-issue-that-MB.patch
new file mode 100644
index 0000000..c6f4a1c
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0009-Hardcode-DIMM-pairing-for-RAS.-Fix-the-issue-that-MB.patch
@@ -0,0 +1,45 @@
+From 9d8e17897f398f1f750c87c4dcf58fe9e64ffed9 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Thu, 7 Jul 2016 15:53:31 -0700
+Subject: [PATCH 09/14] Hardcode DIMM pairing for RAS. Fix the issue that MBA0
+ Memory UE on Cenatur Chip4 brought all dimms under Proc2 offline.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/hwas/common/deconfigGard.C | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
+index fa266c881..bd4e4fe4c 100644
+--- a/src/usr/hwas/common/deconfigGard.C
++++ b/src/usr/hwas/common/deconfigGard.C
+@@ -980,8 +980,25 @@ Target * findPartnerForMcs(const Target *i_startMcs)
+     // Declare partner MCS CHIP_UNIT
+     ATTR_CHIP_UNIT_type partnerMcsUnit = 0;
+ 
++	// Add temp code to handle different MCS pairing
++	if (startMcsUnit == 0)
++	{
++		partnerMcsUnit = 4;
++	}
++	else if (startMcsUnit == 1)
++	{
++		partnerMcsUnit = 5;
++	}
++	else if (startMcsUnit == 4)
++	{
++		partnerMcsUnit = 0;
++	}
++	else if (startMcsUnit == 5)
++	{
++		partnerMcsUnit = 1;
++	}
+     // If CHIP_UNIT is even, its partner will be the next MCS
+-    if (!(startMcsUnit % 2))
++    else if (!(startMcsUnit % 2))
+     {
+         partnerMcsUnit = startMcsUnit + 1;
+     }
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0010-Adjust-APSS-gain-and-offset-from-PWS-FRU-information.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0010-Adjust-APSS-gain-and-offset-from-PWS-FRU-information.patch
new file mode 100644
index 0000000..172d6ac
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0010-Adjust-APSS-gain-and-offset-from-PWS-FRU-information.patch
@@ -0,0 +1,308 @@
+From bdd6ce1bbfe0ee77feefe84662e961fb253c6195 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Fri, 22 Jul 2016 17:50:57 -0700
+Subject: [PATCH 10/14] Adjust APSS gain and offset from PWS FRU information.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/include/usr/ipmi/ipmiif.H                      |   4 +-
+ src/usr/htmgt/htmgt_cfgdata.C                      |   2 +
+ src/usr/hwpf/hwp/start_payload/start_payload.C     | 212 +++++++++++++++++++++
+ .../common/xmltohb/attribute_types_hb.xml          |   2 +
+ 4 files changed, 218 insertions(+), 2 deletions(-)
+
+diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
+index 9dfd8ee63..5416ddca0 100644
+--- a/src/include/usr/ipmi/ipmiif.H
++++ b/src/include/usr/ipmi/ipmiif.H
+@@ -251,8 +251,8 @@ namespace IPMI
+     inline const command_t set_sel_time(void)
+     { return std::make_pair(NETFUN_STORAGE, 0x49); }
+ 
+-    inline const command_t read_fru_data(void)
+-    { return std::make_pair(NETFUN_STORAGE, 0x11); }
++	inline const command_t read_fru_data(void)
++	{ return std::make_pair(NETFUN_STORAGE, 0x11); }	
+ 
+     inline const command_t write_fru_data(void)
+     { return std::make_pair(NETFUN_STORAGE, 0x12); }
+diff --git a/src/usr/htmgt/htmgt_cfgdata.C b/src/usr/htmgt/htmgt_cfgdata.C
+index 19e7b21bf..7c42abdb6 100644
+--- a/src/usr/htmgt/htmgt_cfgdata.C
++++ b/src/usr/htmgt/htmgt_cfgdata.C
+@@ -1025,6 +1025,8 @@ void getApssMessageData(uint8_t* o_data,
+     ATTR_ADC_CHANNEL_OFFSETS_type offset;
+     sys->tryGetAttr<ATTR_ADC_CHANNEL_OFFSETS>(offset);
+ 
++    TMGT_INF("getApssMessageData: gain is %d, offset is %d", gain[15], offset[15]); //jim
++
+     CPPASSERT(sizeof(function) == sizeof(ground));
+     CPPASSERT(sizeof(function) == sizeof(gain));
+     CPPASSERT(sizeof(function) == sizeof(offset));
+diff --git a/src/usr/hwpf/hwp/start_payload/start_payload.C b/src/usr/hwpf/hwp/start_payload/start_payload.C
+index 5d7865a12..ad155f19e 100644
+--- a/src/usr/hwpf/hwp/start_payload/start_payload.C
++++ b/src/usr/hwpf/hwp/start_payload/start_payload.C
+@@ -88,6 +88,7 @@
+ #include    <algorithm>
+ #include    <config.h>
+ #include    <ipmi/ipmiwatchdog.H>
++#include    <ipmi/ipmiif.H> //jim
+ #include    <vpd/vpd_if.H>
+ 
+ #include    <hwpf/hwpf_reasoncodes.H>
+@@ -95,6 +96,7 @@
+ //  Uncomment these files as they become available:
+ // #include    "host_start_payload/host_start_payload.H"
+ 
++
+ namespace   START_PAYLOAD
+ {
+ 
+@@ -277,6 +279,214 @@ errlHndl_t setMaxPstate ( void )
+ }
+ #endif
+ 
++//jim-start
++enum
++{
++PWS_1600 = 0,
++PWS_1000 = 1,
++PWS_1200 = 2,
++PWS_UNKNOWN = 0xFE,
++};
++
++uint8_t getPSUFRUFromIPMICommands(void)
++{
++	errlHndl_t l_err = NULL;
++	uint8_t* frudata = new uint8_t[120];
++	size_t len = 4;
++	uint8_t fru_header_version = 0;
++	uint8_t j = 0, loop_break = 0, read_offset = 0;
++	
++	//create request data buffer
++	uint8_t* data = new uint8_t[len];
++	
++	IPMI::completion_code cc = IPMI::CC_UNKBAD;
++	
++	data[0] = 60; //try to read from PWS1. 60-PWS1, 61-PWS2
++	data[1] = 0x0;  
++	data[2] = 0x0;  
++	data[3] = 8;  
++	l_err = IPMI::sendrecv(IPMI::read_fru_data(), cc, len, data);
++	
++	for (uint8_t i = 0; i <= 8; i++ )
++	fru_header_version = data[1] & 0xF; //normal should be 0x01.
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "fru header version is %x", fru_header_version);
++	delete[] data;	
++	
++	if((l_err == NULL) && (cc == IPMI::CC_OK) && (fru_header_version == 1))
++	{		
++		TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "could get FRU from PWS1");
++
++		while ((l_err == NULL) && (loop_break == 0) && (read_offset < 100))
++		{			
++		//create request data buffer
++		len = 4; //must set len every time
++		uint8_t* data = new uint8_t[len];
++	
++		IPMI::completion_code cc = IPMI::CC_UNKBAD;
++	
++		data[0] = 60;  //read from PWS1
++		data[1] = read_offset;  
++		data[2] = 0x0;  
++		data[3] = 8;  
++		l_err = IPMI::sendrecv(IPMI::read_fru_data(), cc, len, data);
++		
++		if (cc != IPMI::CC_OK) loop_break = 1;
++		
++		read_offset += 8;
++		for (uint8_t i = 1; i <= 8; i++ )
++			{
++			frudata[j] = data[i];
++			j++;
++			}
++		delete[] data;	
++		}
++		
++
++	}
++	else	
++	{
++		TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "could get FRU from PWS2");
++
++		while ((l_err == NULL) && (loop_break == 0) && (read_offset < 100))
++		{			
++		//create request data buffer
++		len = 4;//must set len every time
++		uint8_t* data = new uint8_t[len];
++	
++		IPMI::completion_code cc = IPMI::CC_UNKBAD;
++	
++		data[0] = 61;  //read from PWS2
++		data[1] = read_offset;  
++		data[2] = 0x0;  
++		data[3] = 8;  
++		l_err = IPMI::sendrecv(IPMI::read_fru_data(), cc, len, data);
++		
++		if (cc != IPMI::CC_OK) loop_break = 1;
++		
++		read_offset += 8;
++		for (uint8_t i = 1; i <= 8; i++ )
++			{
++			frudata[j] = data[i];
++			j++;
++			}	
++		delete[] data;
++		}
++		
++	}
++
++	uint8_t product_info_offset, manufacture_name_offset, manufacture_name_length, product_name_offset, product_name_length; 
++	uint8_t product_partnumber_offset, product_partnumber_length;
++	uint8_t fru_offset, powerSupplyFru = PWS_UNKNOWN;
++	uint8_t pws1600[] = {'P','W','S','-','1','K','6','2','A','-','1','R'};
++	uint8_t pws1000[] = {'P','W','S','-','1','K','0','2','A','-','1','R'};
++	uint8_t pws1200[] = {'P','W','S','-','1','K','2','2','A','-','1','R'};
++
++	//code to calculate product part number size and offset. should use structure. refer to FRU spec.		
++	product_info_offset = frudata[4] * 8;
++	manufacture_name_offset = product_info_offset + 3;
++	manufacture_name_length = frudata[manufacture_name_offset] & 0x3F;
++	product_name_offset = manufacture_name_offset + manufacture_name_length + 1;
++	product_name_length = frudata[product_name_offset] & 0x3F;
++	product_partnumber_offset = product_name_offset + product_name_length + 1;
++	product_partnumber_length = frudata[product_partnumber_offset] & 0x3F;
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "product_partnumber_length is %x", product_partnumber_length);
++	fru_offset = product_partnumber_offset + 1;
++	
++	if (product_partnumber_length == 12)
++	{
++		for (uint8_t i = 0; pws1600[i] == frudata[fru_offset + i] ; i ++)
++			if (i == 11)
++			powerSupplyFru = PWS_1600;
++		
++		for (uint8_t i = 0; pws1000[i] == frudata[fru_offset + i] ; i ++)
++			if (i == 11)
++			powerSupplyFru = PWS_1000;
++		
++		for (uint8_t i = 0; pws1200[i] == frudata[fru_offset + i] ; i ++)
++			if (i == 11)
++			powerSupplyFru = PWS_1200;
++	}
++	else	
++		powerSupplyFru = PWS_UNKNOWN;
++
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "powerSupplyFru is %x", powerSupplyFru);
++	
++	return powerSupplyFru;
++
++}
++//find apss channel number from XML.
++enum
++{
++V12_SENSE = 0,
++PROC0_POWER = 1,
++PROC1_POWER = 2,
++PCIE_PROC0_POWER = 5,
++PCIE_PROC1_POWER = 6,	
++TOTAL_SYSTEM_POWER = 15,	
++};	
++
++void setAPSSGainOffsetFromPWSInfo(void)
++{
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "before load OCC");
++
++	//Get Gain/Offset ATTR
++	TARGETING::Target* sys = NULL;
++	targetService().getTopLevelTarget(sys);
++
++	ATTR_ADC_CHANNEL_GAINS_type gain;
++	sys->tryGetAttr<ATTR_ADC_CHANNEL_GAINS>(gain);
++
++	ATTR_ADC_CHANNEL_OFFSETS_type offset;
++	sys->tryGetAttr<ATTR_ADC_CHANNEL_OFFSETS>(offset);
++
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "gain is %d, offset is %d", gain[15], offset[15]);
++
++	//Note that the function/ APSS channel ids can be indirect. I've hardcoded here, you will need to look at the XML to find the channel/function number that matches
++	//const uint8_t SYS_CHANNEL = 15; //APSS Channel 15 is sys power, ie the gain/offset we need to tweak
++
++	//Get power supply data from BMC
++	uint8_t powerSupplyFru = getPSUFRUFromIPMICommands();
++	
++	switch(powerSupplyFru)
++	{
++	case PWS_1600: //PWS-1K62A-1R (1600W):
++	gain[TOTAL_SYSTEM_POWER] = 67800;
++	offset[TOTAL_SYSTEM_POWER] = 0;
++	break;
++
++	case PWS_1000: //PWS-1K02A-1R (1000W):
++	gain[TOTAL_SYSTEM_POWER] = 41500;
++	offset[TOTAL_SYSTEM_POWER] = 0;
++	break;
++
++	case PWS_1200: //PWS-1K22A-1R (1200W):
++	gain[TOTAL_SYSTEM_POWER] = 50000; 
++	offset[TOTAL_SYSTEM_POWER] = 0;
++	break;
++
++	default:
++	//Do nothing, leave defaults
++	//Gen error for user attention?
++	break;
++	}
++
++	//Now write the attributes back so they get picked up by OCC code
++	if (!sys->trySetAttr<ATTR_ADC_CHANNEL_GAINS>(gain))
++	{
++	//unlikely, crash
++	//Emit failing trace/console data
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "set gain failed");
++	assert(0);
++	}
++
++	if (!sys->trySetAttr<ATTR_ADC_CHANNEL_OFFSETS>(offset))
++	{
++	//unlikely, crash
++	//Emit failing trace/console data
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "set offset failed");
++	assert(0);
++	}
++}
+ //
+ //  Wrapper function to call host_runtime_setup
+ //
+@@ -318,6 +528,8 @@ void*    call_host_runtime_setup( void    *io_pArgs )
+             break;
+         }
+ 
++	setAPSSGainOffsetFromPWSInfo(); //jim add code before activate OCC. START_OCC_DURING_BOOT is defined in config.
++
+         bool l_activateOCC = is_avp_load();
+ 
+ #ifdef CONFIG_START_OCC_DURING_BOOT
+diff --git a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+index c4eb6603d..64a0c9bae 100644
+--- a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
++++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+@@ -747,6 +747,7 @@
+     </simpleType>
+     <persistency>non-volatile</persistency>
+     <readable/>
++    <writeable/>
+ </attribute>
+ 
+ <attribute>
+@@ -758,6 +759,7 @@
+     </simpleType>
+     <persistency>non-volatile</persistency>
+     <readable/>
++    <writeable/>
+ </attribute>
+ 
+ <attribute>
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0012-Set-OPAL_MODEL-to-p8dtu1u-or-p8dtu2u-for-1U-and-2U-s.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0012-Set-OPAL_MODEL-to-p8dtu1u-or-p8dtu2u-for-1U-and-2U-s.patch
new file mode 100644
index 0000000..bc4f492
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0012-Set-OPAL_MODEL-to-p8dtu1u-or-p8dtu2u-for-1U-and-2U-s.patch
@@ -0,0 +1,118 @@
+From 1e6bb450cf94fc3ade70f82703e6c57a30bbebaa Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Wed, 10 Aug 2016 10:41:32 -0700
+Subject: [PATCH 12/14] Set OPAL_MODEL to p8dtu1u or p8dtu2u for 1U and 2U
+ system.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/hwpf/hwp/start_payload/start_payload.C     | 66 +++++++++++++++++++++-
+ .../common/xmltohb/attribute_types_hb.xml          |  1 +
+ 2 files changed, 66 insertions(+), 1 deletion(-)
+
+diff --git a/src/usr/hwpf/hwp/start_payload/start_payload.C b/src/usr/hwpf/hwp/start_payload/start_payload.C
+index ad155f19e..80e62a0b6 100644
+--- a/src/usr/hwpf/hwp/start_payload/start_payload.C
++++ b/src/usr/hwpf/hwp/start_payload/start_payload.C
+@@ -89,6 +89,8 @@
+ #include    <config.h>
+ #include    <ipmi/ipmiwatchdog.H>
+ #include    <ipmi/ipmiif.H> //jim
++#include	<string.h> //jim
++
+ #include    <vpd/vpd_if.H>
+ 
+ #include    <hwpf/hwpf_reasoncodes.H>
+@@ -487,6 +489,67 @@ void setAPSSGainOffsetFromPWSInfo(void)
+ 	assert(0);
+ 	}
+ }
++
++
++void setOpalMode (void)
++{
++
++ uint8_t riser_id = 0 ;
++ errlHndl_t l_err = NULL; 
++ size_t len = 4;
++ 
++ //create request data buffer
++ uint8_t* data = new uint8_t[len];
++ 
++ IPMI::completion_code cc = IPMI::CC_UNKBAD;
++ 
++ data[0] = 0x3;  
++ data[1] = 0x70;  
++ data[2] = 0x1;  
++ data[3] = 0x2;  //offset 0x2 for UIO info
++ l_err = IPMI::sendrecv(IPMI::master_readwrite(), cc, len, data);
++ 
++ if( l_err == NULL )
++ {
++	 if( cc == IPMI::CC_OK )
++	 {
++	 riser_id = data[0];
++	 }
++	 
++	 delete[] data;
++ }
++
++ATTR_OPAL_MODEL_type l_model = {0};
++
++TARGETING::Target* sys = NULL;
++targetService().getTopLevelTarget(sys);
++
++sys->tryGetAttr<TARGETING::ATTR_OPAL_MODEL>(l_model);
++TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "OPAL Mode is %s", l_model);
++TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "Riser ID is %d", riser_id);
++
++if (riser_id == 0x9)
++	{
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "1U OPAL Mode");
++	strcpy (l_model, "supermicro,p8dtu1u");
++
++	}
++else  //(riser_id == 0x19)
++	{
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "2U OPAL Mode");
++	strcpy (l_model, "supermicro,p8dtu2u");
++	}
++
++if (!sys->trySetAttr<TARGETING::ATTR_OPAL_MODEL>(l_model))
++	{
++	TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "set OPAL Mode failed");
++	assert(0);
++	}
++
++sys->tryGetAttr<TARGETING::ATTR_OPAL_MODEL>(l_model);
++TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "after set, OPAL Mode is %s", l_model);
++
++}
+ //
+ //  Wrapper function to call host_runtime_setup
+ //
+@@ -529,7 +592,8 @@ void*    call_host_runtime_setup( void    *io_pArgs )
+         }
+ 
+ 	setAPSSGainOffsetFromPWSInfo(); //jim add code before activate OCC. START_OCC_DURING_BOOT is defined in config.
+-
++	setOpalMode(); //jim
++	
+         bool l_activateOCC = is_avp_load();
+ 
+ #ifdef CONFIG_START_OCC_DURING_BOOT
+diff --git a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+index 64a0c9bae..3cfdb9aa0 100644
+--- a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
++++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+@@ -966,6 +966,7 @@
+     </simpleType>
+     <persistency>non-volatile</persistency>
+     <readable/>
++    <writeable/>
+ </attribute>
+ 
+ <attribute>
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0013-enable-TPM-required-sensor.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0013-enable-TPM-required-sensor.patch
new file mode 100644
index 0000000..64709c0
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0013-enable-TPM-required-sensor.patch
@@ -0,0 +1,26 @@
+From db0d855457974d520d829259f56488e6c896be0e Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Thu, 27 Oct 2016 10:42:48 -0700
+Subject: [PATCH 13/14] enable TPM required sensor.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/targeting/common/xmltohb/attribute_types_hb.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+index 3cfdb9aa0..84536fbb4 100644
+--- a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
++++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+@@ -1200,7 +1200,7 @@
+     </enumerator>
+     <enumerator>
+         <name>TPM_REQUIRED</name>
+-        <value>0xFFFF</value>
++        <value>0xCC03</value>
+     </enumerator>
+ </enumerationType>
+ 
+-- 
+2.16.2.windows.1
+
diff --git a/openpower/patches/p8dtu-patches/hostboot-p8/0014-add-gain-and-offset-for-1300w-48V-DC-power-supply.patch b/openpower/patches/p8dtu-patches/hostboot-p8/0014-add-gain-and-offset-for-1300w-48V-DC-power-supply.patch
new file mode 100644
index 0000000..fe5d816
--- /dev/null
+++ b/openpower/patches/p8dtu-patches/hostboot-p8/0014-add-gain-and-offset-for-1300w-48V-DC-power-supply.patch
@@ -0,0 +1,56 @@
+From a3283c6922dee8ebfb3ea9ac7d22047e6e7bca00 Mon Sep 17 00:00:00 2001
+From: Jim Yuan <jim.yuan@supermicro.com>
+Date: Tue, 9 May 2017 14:34:56 -0700
+Subject: [PATCH 14/14] add gain and offset for 1300w 48V DC power supply.
+
+Signed-off-by: Jim Yuan <jim.yuan@supermicro.com>
+---
+ src/usr/hwpf/hwp/start_payload/start_payload.C | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/src/usr/hwpf/hwp/start_payload/start_payload.C b/src/usr/hwpf/hwp/start_payload/start_payload.C
+index 80e62a0b6..309122785 100644
+--- a/src/usr/hwpf/hwp/start_payload/start_payload.C
++++ b/src/usr/hwpf/hwp/start_payload/start_payload.C
+@@ -287,6 +287,7 @@ enum
+ PWS_1600 = 0,
+ PWS_1000 = 1,
+ PWS_1200 = 2,
++PWS_1300 = 3,
+ PWS_UNKNOWN = 0xFE,
+ };
+ 
+@@ -382,6 +383,7 @@ uint8_t getPSUFRUFromIPMICommands(void)
+ 	uint8_t pws1600[] = {'P','W','S','-','1','K','6','2','A','-','1','R'};
+ 	uint8_t pws1000[] = {'P','W','S','-','1','K','0','2','A','-','1','R'};
+ 	uint8_t pws1200[] = {'P','W','S','-','1','K','2','2','A','-','1','R'};
++	uint8_t pws1300[] = {'P','W','S','-','1','K','3','0','D','-','1','R'};
+ 
+ 	//code to calculate product part number size and offset. should use structure. refer to FRU spec.		
+ 	product_info_offset = frudata[4] * 8;
+@@ -407,6 +409,10 @@ uint8_t getPSUFRUFromIPMICommands(void)
+ 		for (uint8_t i = 0; pws1200[i] == frudata[fru_offset + i] ; i ++)
+ 			if (i == 11)
+ 			powerSupplyFru = PWS_1200;
++
++		for (uint8_t i = 0; pws1300[i] == frudata[fru_offset + i] ; i ++)
++			if (i == 11)
++			powerSupplyFru = PWS_1300;
+ 	}
+ 	else	
+ 		powerSupplyFru = PWS_UNKNOWN;
+@@ -466,6 +472,11 @@ void setAPSSGainOffsetFromPWSInfo(void)
+ 	offset[TOTAL_SYSTEM_POWER] = 0;
+ 	break;
+ 
++	case PWS_1300: //PWS-1K30D-1R (1300W 48V AC):
++	gain[TOTAL_SYSTEM_POWER] = 51900; 
++	offset[TOTAL_SYSTEM_POWER] = 0;
++	break;
++
+ 	default:
+ 	//Do nothing, leave defaults
+ 	//Gen error for user attention?
+-- 
+2.16.2.windows.1
+
