diff --git a/.gitmodules b/.gitmodules
index 0a83da8..499afdf 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
 [submodule "buildroot"]
 	path = buildroot
-	branch = master-p10
-	url = git@github.ibm.com:open-power/buildroot.git
+	branch = 2020.08.2-op-build
+	url = https://github.com/open-power/buildroot
diff --git a/README.md b/README.md
index 9778daf..8e83db1 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@
 
 ## Building an image
 
-To build an image for a Palmetto system:
+To build an image for a Blackbird system:
 
 ```
 git clone --recursive git@github.ibm.com:open-power/op-build.git
@@ -33,8 +33,7 @@
 ```
 
 There are also default configurations for other platforms in
-`openpower/configs/`. Current POWER8 platforms include Habanero,
-Firestone, and Garrison. Current POWER9 platforms include Witherspoon,
+`openpower/configs/`. Current POWER9 platforms include Witherspoon,
 Boston (p9dsu), Romulus, and Zaius.
 
 Buildroot/op-build supports both native and cross-compilation - it will
@@ -55,7 +54,7 @@
 3. Install the packages necessary for the build:
 
         sudo apt-get install cscope ctags libz-dev libexpat-dev \
-          python language-pack-en texinfo \
+          python language-pack-en texinfo gawk cpio xxd \
           build-essential g++ git bison flex unzip \
           libssl-dev libxml-simple-perl libxml-sax-perl libxml-parser-perl libxml2-dev libxml2-utils xsltproc \
           wget bc rsync
@@ -69,6 +68,7 @@
           zlib-devel zlib-static texinfo "perl(bigint)" "perl(XML::Simple)" \
           "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \
           "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" "perl(ExtUtils::MakeMaker)" \
+          "perl(FindBin)" "perl(English)" "perl(Time::localtime)" \
           libxml2-devel which wget unzip tar cpio python bzip2 bc findutils ncurses-devel \
-          openssl-devel make libxslt vim-common lzo-devel python2
+          openssl-devel make libxslt vim-common lzo-devel python2 rsync hostname
 
diff --git a/buildroot b/buildroot
index 3ca8831..a84aaae 160000
--- a/buildroot
+++ b/buildroot
@@ -1 +1 @@
-Subproject commit 3ca883117013a554e5dcedbcde9f715a90d9ff70
+Subproject commit a84aaaeacbd1a69053cde2e50f26250e9328de1e
diff --git a/ci/Dockerfile/fedora30 b/ci/Dockerfile/fedora30
deleted file mode 100644
index d30ed26..0000000
--- a/ci/Dockerfile/fedora30
+++ /dev/null
@@ -1,7 +0,0 @@
-FROM fedora:30
-RUN dnf -y remove vim-minimal
-RUN dnf -y install gcc-c++ flex bison git ctags cscope expat-devel patch zlib-devel zlib-static texinfo perl-bignum "perl(XML::Simple)" "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" libxml2-devel libxslt "perl(ExtUtils::MakeMaker)"
-RUN dnf -y install which wget unzip tar cpio python bzip2 bc vim redhat-lsb-core gawk
-RUN dnf -y install findutils
-RUN dnf -y install ncurses-devel openssl-devel
-RUN dnf -y install rsync
diff --git a/ci/Dockerfile/fedora30.x86_64 b/ci/Dockerfile/fedora30.x86_64
deleted file mode 120000
index eb88330..0000000
--- a/ci/Dockerfile/fedora30.x86_64
+++ /dev/null
@@ -1 +0,0 @@
-fedora30
\ No newline at end of file
diff --git a/ci/Dockerfile/fedora32 b/ci/Dockerfile/fedora32
new file mode 100644
index 0000000..8074b38
--- /dev/null
+++ b/ci/Dockerfile/fedora32
@@ -0,0 +1,8 @@
+FROM fedora:32
+RUN dnf -y install gcc-c++ flex bison git ctags cscope expat-devel patch \
+          zlib-devel zlib-static texinfo "perl(bigint)" "perl(XML::Simple)" \
+          "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \
+          "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" "perl(ExtUtils::MakeMaker)" \
+          libxml2-devel which wget unzip tar cpio python bzip2 bc findutils ncurses-devel \
+          openssl-devel make libxslt vim-common lzo-devel python2 rsync hostname
+RUN dnf -y install nosync redhat-lsb-core python-matplotlib python-numpy graphviz
diff --git a/ci/Dockerfile/fedora32.ppc64le b/ci/Dockerfile/fedora32.ppc64le
new file mode 120000
index 0000000..077cd0b
--- /dev/null
+++ b/ci/Dockerfile/fedora32.ppc64le
@@ -0,0 +1 @@
+fedora32
\ No newline at end of file
diff --git a/ci/Dockerfile/fedora32.x86_64 b/ci/Dockerfile/fedora32.x86_64
new file mode 120000
index 0000000..077cd0b
--- /dev/null
+++ b/ci/Dockerfile/fedora32.x86_64
@@ -0,0 +1 @@
+fedora32
\ No newline at end of file
diff --git a/ci/Dockerfile/ubuntu1804 b/ci/Dockerfile/ubuntu1804
deleted file mode 100644
index 49c7b00..0000000
--- a/ci/Dockerfile/ubuntu1804
+++ /dev/null
@@ -1,10 +0,0 @@
-FROM ubuntu:18.04
-# Don't ask. Ubuntu is awful.
-RUN sed -e 's/main$/main universe/' --in-place=orig /etc/apt/sources.list
-RUN DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yy cscope ctags \
-  libz-dev libexpat-dev \
-  python language-pack-en texinfo \
-  build-essential g++ git bison flex unzip gawk \
-  cpio vim-common lsb-release \
-  libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc \
-  wget bc libssl-dev python-matplotlib python-numpy graphviz eatmydata bsdmainutils rsync
diff --git a/ci/Dockerfile/ubuntu1804.ppc64le b/ci/Dockerfile/ubuntu1804.ppc64le
deleted file mode 120000
index 967c573..0000000
--- a/ci/Dockerfile/ubuntu1804.ppc64le
+++ /dev/null
@@ -1 +0,0 @@
-ubuntu1804
\ No newline at end of file
diff --git a/ci/Dockerfile/ubuntu1804.x86_64 b/ci/Dockerfile/ubuntu1804.x86_64
deleted file mode 120000
index 967c573..0000000
--- a/ci/Dockerfile/ubuntu1804.x86_64
+++ /dev/null
@@ -1 +0,0 @@
-ubuntu1804
\ No newline at end of file
diff --git a/ci/Dockerfile/ubuntu2004 b/ci/Dockerfile/ubuntu2004
new file mode 100644
index 0000000..3d64210
--- /dev/null
+++ b/ci/Dockerfile/ubuntu2004
@@ -0,0 +1,10 @@
+FROM ubuntu:20.04
+# Don't ask. Ubuntu is awful.
+RUN sed -e 's/main$/main universe/' --in-place=orig /etc/apt/sources.list
+RUN DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yy cscope ctags libz-dev libexpat-dev \
+          python-is-python3 language-pack-en texinfo gawk cpio xxd \
+          build-essential g++ git bison flex unzip \
+          libssl-dev libxml-simple-perl libxml-sax-perl libxml-parser-perl libxml2-dev libxml2-utils xsltproc \
+          wget bc rsync
+RUN DEBIAN_FRONTEND=noninteractive apt-get -y install eatmydata python3-matplotlib \
+          python3-scipy graphviz bsdmainutils lsb-release
diff --git a/ci/Dockerfile/ubuntu2004.ppc64le b/ci/Dockerfile/ubuntu2004.ppc64le
new file mode 120000
index 0000000..16c11fa
--- /dev/null
+++ b/ci/Dockerfile/ubuntu2004.ppc64le
@@ -0,0 +1 @@
+ubuntu2004
\ No newline at end of file
diff --git a/ci/Dockerfile/ubuntu2004.x86_64 b/ci/Dockerfile/ubuntu2004.x86_64
new file mode 120000
index 0000000..16c11fa
--- /dev/null
+++ b/ci/Dockerfile/ubuntu2004.x86_64
@@ -0,0 +1 @@
+ubuntu2004
\ No newline at end of file
diff --git a/ci/build-all-defconfigs.sh b/ci/build-all-defconfigs.sh
index e1455b2..7d93211 100755
--- a/ci/build-all-defconfigs.sh
+++ b/ci/build-all-defconfigs.sh
@@ -4,48 +4,207 @@
 set -eo pipefail
 
 BUILD_INFO=0
+SDK_ONLY=0
 CONFIGTAG="_defconfig"
-
 DEFCONFIGS=();
-
 SDK_DIR=""
 
-while getopts "o:p:rs:" opt; do
-  case $opt in
-    o)
-      echo "Output directory: $OPTARG"
-      OUTDIR="$OPTARG"
+opt=$(getopt -o 'o:Ss:p:r' -- "$@")
+if [ $? -ne 0 ] ; then
+	echo "Invalid arguments"
+	exit 1
+fi
+
+eval set -- "$opt"
+unset opt
+
+while true; do
+  case "$1" in
+    '-o')
+      shift
+      echo "Output directory: $1"
+      OUTDIR="$1"
       ;;
-    s)
-      echo "SDK is in: $OPTARG"
-      SDK_DIR=$OPTARG
+    '-S')
+      echo "Build SDK Only"
+      SDK_ONLY=1
       ;;
-    p)
-      echo "Platforms to build: $OPTARG"
-      PLATFORM_LIST="$OPTARG"
+    '-s')
+      shift
+      echo "SDK cache dir is in: $1"
+      SDK_CACHE=$1
       ;;
-    r)
+    '-p')
+      shift
+      echo "Platforms to build: $1"
+      PLATFORM_LIST="$1"
+      ;;
+    '-r')
       echo "Build legal-info etc for release"
       BUILD_INFO=1
       ;;
-    \?)
-      echo "Invalid option: -$OPTARG"
-      exit 1
+    '--')
+      shift
+      break
       ;;
-    :)
-      echo "Option -$OPTARG requires an argument."
+    *)
+      echo "Internal error!"
       exit 1
       ;;
   esac
+  shift
 done
 
-function get_kernel_release
+function get_major_minor_release
 {
 	IFS=. read major minor macro <<<"$1"
 	echo -n "${major}_${minor}"
 }
 
-if [ -z "${PLATFORM_LIST}" ]; then
+function get_major_release
+{
+	IFS=. read major minor macro <<<"$1"
+	echo -n "${major}"
+}
+
+function sha1sum_dir
+{
+	echo -n "$(find $1 -type f -print0 | sort -z | xargs -0 sha1sum | sed -e 's/ .*//' | tr -d '[:space:]' | sha1sum | sed -e 's/ .*//')"
+}
+
+function build_sdk
+{
+# $1 is the defconfig
+# $2 is the SDK output directory
+# writes the output SDK pathname in global $SDK_DIR
+# also considers global var $CCACHE_DIR
+	SDK_BUILD_DIR=`mktemp -d`
+	op-build O=$SDK_BUILD_DIR $1
+
+	# Accumulate the SDK properties we want to hash to make it unique, but
+	# just so. Start with the buildroot version and machine/OS
+	HASH_PROPERTIES="$(git submodule) $(uname -mo)"
+
+	# Even if they should be interchangeable, we want to force the sdk
+	# build on every supported OS variations
+	HASH_PROPERTIES="$HASH_PROPERTIES $(lsb_release -as | tr -d '[:space:]')"
+
+	# Disable things not necessary for the sdk
+	# (Buildroot manual section 6.1.3 plus a few more things)
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --disable INIT_BUSYBOX \
+		--enable INIT_NONE \
+		--disable SYSTEM_BIN_SH_BUSYBOX \
+		--disable TARGET_ROOTFS_TAR \
+		--disable SYSTEM_BIN_SH_DASH \
+		--enable SYSTEM_BIN_SH_NONE
+
+	# We don't need the Linux Kernel or eudev (they'll be rebuilt anyway), but we need
+	# to preserve the custom kernel version (if defined) for headers consistency, and
+	# since we're at it,  enabling CPP won't hurt and will make the SDK more general
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --disable LINUX_KERNEL \
+		--disable ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV \
+		--enable INSTALL_LIBSTDCPP
+
+	# Enable toolchains we'll need to be built as part of the SDK, and make sure we
+	# consider them to make the sdk unique
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --package \
+		--enable PPE42_TOOLCHAIN --enable HOST_PPE42_GCC --enable HOST_PPE42_BINUTILS
+
+	HASH_PROPERTIES="$HASH_PROPERTIES $(sha1sum_dir openpower/package/ppe42-gcc/)"
+	HASH_PROPERTIES="$HASH_PROPERTIES $(sha1sum_dir openpower/package/ppe42-binutils/)"
+
+	# As we are disabling BR2_LINUX_KERNEL, capture Kernel version if any
+	# to prevent it from defaulting to the last on olddefconfig
+	KERNEL_VER=$(buildroot/utils/config --file $SDK_BUILD_DIR/.config --state LINUX_KERNEL_CUSTOM_VERSION_VALUE)
+	if [ "$KERNEL_VER" != "undef" ]; then
+		KERNEL="KERNEL_HEADERS_$(get_major_minor_release $KERNEL_VER)"
+		buildroot/utils/config --file $SDK_BUILD_DIR/.config --enable "$KERNEL"
+	fi
+
+	# Disable packages we won't pull into the SDK to speed it's build
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --package \
+		--disable BUSYBOX \
+		--disable KEXEC_LITE \
+		--disable LINUX_FIRMWARE \
+		--disable CRYPTSETUP \
+		--disable IPMITOOL \
+		--disable LVM2 \
+		--disable MDADM \
+		--disable NVME \
+		--disable PCIUTILS \
+		--disable ZLIB \
+		--disable LIBZLIB \
+		--disable DTC \
+		--disable LIBAIO \
+		--disable JSON_C \
+		--disable ELFUTILS \
+		--disable NCURSES \
+		--disable POPT \
+		--disable DROPBEAR --disable DROPBEAR_CLIENT \
+		--disable ETHTOOL \
+		--disable IFUPDOWN_SCRIPTS \
+		--disable LRZSZ \
+		--disable NETCAT \
+		--disable RSYNC \
+		--disable SUDO \
+		--disable KMOD \
+		--disable POWERPC_UTILS \
+		--disable UTIL_LINUX \
+		--disable IPRUTILS
+
+	# Additionally, disable ROOTFS stuff that we won't need
+	# Including the OpenPower Packages
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --undefine ROOTFS_USERS_TABLES \
+		--undefine ROOTFS_OVERLAY \
+		--undefine ROOTFS_POST_BUILD_SCRIPT \
+		--undefine ROOTFS_POST_FAKEROOT_SCRIPT \
+		--undefine ROOTFS_POST_IMAGE_SCRIPT \
+		--undefine ROOTFS_POST_SCRIPT_ARGS \
+		--undefine OPENPOWER_PLATFORM \
+		--undefine BR2_OPENPOWER_POWER8 \
+		--undefine BR2_OPENPOWER_POWER9
+
+	# Enable CCACHE
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --enable CCACHE \
+		--set-str CCACHE_DIR $CCACHE_DIR
+
+	op-build O=$SDK_BUILD_DIR olddefconfig
+
+	# Ideally this woulnd't matter, but to be safe, include Kernel
+	# Headers and GCC version as part of the SDK Hash, so that we
+	# don't have Full builds and SDK builds potentially diverging
+	# on the headers/compiler versions each uses
+	KERNEL_VER=$(buildroot/utils/config --file $SDK_BUILD_DIR/.config --state DEFAULT_KERNEL_HEADERS)
+	HASH_PROPERTIES="$HASH_PROPERTIES $KERNEL_VER"
+	echo "SDK KERNEL Version: $KERNEL_VER"
+	GCC_VER=$(buildroot/utils/config --file $SDK_BUILD_DIR/.config --state GCC_VERSION)
+	echo "SDK GCC Version: $GCC_VER"
+	HASH_PROPERTIES="$HASH_PROPERTIES $GCC_VER"
+
+	# sha1sum our properties and check if a matching sdk exists
+	# A potential caveat he is if op-build is patching any of the
+	# HASH_PROPERTIES content at build time
+	HASH_VAL=$(echo -n "$HASH_PROPERTIES" | sha1sum | sed -e 's/ .*//')
+
+	SDK_DIR="$2/toolchain-${HASH_VAL}"
+
+	if [ -e "$SDK_DIR" ]; then
+		echo "Acceptable SDK for $i exists in $SDK_DIR - skipping build"
+	else
+		op-build O=$SDK_BUILD_DIR sdk
+		if [ $? -ne 0 ]; then
+			rm -rf $SDK_DIR
+			return 1
+		fi
+
+		# Move sdk to resting location and adjust paths
+		mv $SDK_BUILD_DIR $SDK_DIR
+		$SDK_DIR/host/relocate-sdk.sh
+	fi
+	export SDK_DIR
+}
+
+if [ -z "${PLATFORM_LIST-}" ]; then
         echo "Using all the defconfigs for all the platforms"
         DEFCONFIGS=`(cd openpower/configs; ls -1 *_defconfig)`
 else
@@ -56,50 +215,81 @@
         done
 fi
 
-if [ -z "${OUTDIR}" or ! -d "${OUTDIR}" ]; then
-	echo "No output directory specified"
-	exit 1;
-fi
-
-if [ -z "$CCACHE_DIR" ]; then
+if [ -z "${CCACHE_DIR-}" ]; then
 	CCACHE_DIR=`pwd`/.op-build_ccache
 fi
 
 shopt -s expand_aliases
 source op-build-env
 
-if [ -n "$DL_DIR" ]; then
+if [ -n "${DL_DIR-}" ]; then
 	unset BR2_DL_DIR
 	export BR2_DL_DIR=${DL_DIR}
 fi
 
-if [ -f $(ldconfig -p | grep libeatmydata.so | tr ' ' '\n' | grep /|head -n1) ]; then
+if [ -f "$(ldconfig -p | grep libeatmydata.so | tr ' ' '\n' | grep /|head -n1)" ]; then
     export LD_PRELOAD=${LD_PRELOAD:+"$LD_PRELOAD "}libeatmydata.so
+elif [ -f "/usr/lib64/nosync/nosync.so" ]; then
+    export LD_PRELOAD=${LD_PRELOAD:+"$LD_PRELOAD "}/usr/lib64/nosync/nosync.so
 fi
 
 for i in ${DEFCONFIGS[@]}; do
-	export O=${OUTDIR}-$i
+	export O=${OUTDIR}/$i
 	rm -rf $O
-        op-build O=$O $i
-	./buildroot/utils/config --file $O/.config --set-val BR2_CCACHE y
-        ./buildroot/utils/config --file $O/.config --set-str BR2_CCACHE_DIR $CCACHE_DIR
-	if [ -d "$SDK_DIR" ]; then
-	    ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL y
-	    ./buildroot/utils/config --file $O/.config --set-str BR2_TOOLCHAIN_EXTERNAL_PATH $SDK_DIR
-	    ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC y
-	    ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_CXX y
-	    # FIXME: How do we work this out programatically?
-	    ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_GCC_6 y
 
-	    KERNEL_VER=$(./buildroot/utils/config --file $O/.config --state BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE)
-	    echo "KERNEL_VER " $KERNEL_VER
-	    HEADERS=BR2_TOOLCHAIN_EXTERNAL_HEADERS_$(get_kernel_release $KERNEL_VER)
-	    ./buildroot/utils/config --file $O/.config --set-val $HEADERS y
+	SDK_DIR=""
+	build_sdk $i $SDK_CACHE
+	if [ $? -ne 0 ]; then
+		echo "Error building SDK"
+		exit 1
 	fi
+
+	if [ $SDK_ONLY -ne 0 ]; then
+		continue
+	fi
+
+        op-build O=$O $i
+	buildroot/utils/config --file $O/.config --enable CCACHE \
+		--set-str CCACHE_DIR $CCACHE_DIR
+	buildroot/utils/config --file $O/.config --enable TOOLCHAIN_EXTERNAL \
+		--set-str TOOLCHAIN_EXTERNAL_PATH $SDK_DIR/host \
+		--enable TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
+
+	# Our SDK will always have CPP enabled, but avoid potentially
+	# diverging with the Full build by only enabling it
+	# conditionally
+	CPP_REQUIRED=$(buildroot/utils/config --file $O/.config --state INSTALL_LIBSTDCPP)
+	if [ "$CPP_REQUIRED" = "y" ]; then
+		buildroot/utils/config --file $O/.config --enable TOOLCHAIN_EXTERNAL_CXX
+	fi
+
+	# Our SDK will always have ppe42-toolchain enabled, but
+	# only use it if we require it
+	PPE42_REQUIRED=$(buildroot/utils/config --file $O/.config --package --state PPE42_TOOLCHAIN)
+	if [ "$PPE42_REQUIRED" = "y" ]; then
+		buildroot/utils/config --file $O/.config --enable PACKAGE_PPE42_TOOLCHAIN_EXTERNAL \
+			--set-str PPE42_TOOLCHAIN_EXTERNAL_PATH $SDK_DIR/host
+	fi
+
+
+
+	# The Kernel Headers requested MUST be the same as the one
+	# provided by the SDK (i.e., it's part of the hash)
+	HEADERS_VER=$(buildroot/utils/config --file $O/.config --state TOOLCHAIN_HEADERS_AT_LEAST)
+	echo "Toolchain Headers Version Requested: $HEADERS_VER"
+	HEADERS="TOOLCHAIN_EXTERNAL_HEADERS_$(get_major_minor_release $HEADERS_VER)"
+	buildroot/utils/config --file $O/.config --enable "$HEADERS"
+
+	# Same for the GCC version
+	EXTERNAL_GCC_VER=$(buildroot/utils/config --file $O/.config --state GCC_VERSION)
+	echo "GCC Version Requested: $EXTERNAL_GCC_VER"
+	EXTERNAL_GCC="TOOLCHAIN_EXTERNAL_GCC_$(get_major_release $EXTERNAL_GCC_VER)"
+	buildroot/utils/config --file $O/.config --enable "$EXTERNAL_GCC"
+
         op-build O=$O olddefconfig
         op-build O=$O
         r=$?
-	if [ ${BUILD_INFO} = 1 ] && [ $r = 0 ]; then
+	if [ ${BUILD_INFO} -eq 1 ] && [ $r -eq 0 ]; then
 	    op-build O=$O legal-info
 	    op-build O=$O graph-build
 	    op-build O=$O graph-size
diff --git a/ci/build-sdk.sh b/ci/build-sdk.sh
deleted file mode 100755
index 8267af3..0000000
--- a/ci/build-sdk.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-set -ex
-set -eo pipefail
-
-if [ -z "$1" ]; then
-	echo "No build distro specified"
-	exit 1;
-fi
-
-if [ -z "$2" ]; then
-	echo "No defconfig to build SDK from specified"
-	exit 1;
-fi
-
-if [ -z "$CCACHE_DIR" ]; then
-	CCACHE_DIR=`pwd`/.op-build_ccache
-fi
-
-shopt -s expand_aliases
-source op-build-env
-
-if [ -n "$DL_DIR" ]; then
-	unset BR2_DL_DIR
-	export BR2_DL_DIR=${DL_DIR}
-fi
-
-export O=`pwd`/output-$1-$2/
-op-build O=$O $2
-./buildroot/utils/config --file $O/.config --set-val BR2_CCACHE y
-./buildroot/utils/config --file $O/.config --set-str BR2_CCACHE_DIR $CCACHE_DIR
-op-build O=$O olddefconfig
-op-build O=$O sdk
diff --git a/ci/build.sh b/ci/build.sh
index 3747195..0bbf140 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -1,38 +1,52 @@
 #!/bin/bash
 
-CONTAINERS="ubuntu1804 fedora30"
+set -ex
+set -eo pipefail
 
-
+CONTAINERS="ubuntu2004 fedora32"
 SDK_ONLY=0
 
-while getopts ":ab:hp:c:rs:S" opt; do
-  case $opt in
-    s)
-      echo "SDK Cache dir"
-      SDK_CACHE="$OPTARG"
+opt=$(getopt -o 's:Sab:p:c:hr' -- "$@")
+if [ $? -ne 0 ] ; then
+	echo "Invalid arguments"
+	exit 1
+fi
+
+eval set -- "$opt"
+unset opt
+
+while true; do
+  case "$1" in
+    '-s')
+      shift
+      echo "SDK Cache dir: $1"
+      SDK_CACHE="$1"
       ;;
-    S)
+    '-S')
       echo "Build SDK Only"
       SDK_ONLY=1
       ;;
-    a)
+    '-a')
       echo "Build firmware images for all the platforms"
       PLATFORMS=""
       ;;
-    b)
-      echo "Directory to bind to container: $OPTARG"
-      BIND="$OPTARG"
+    '-b')
+      shift
+      echo "Directory to bind to container: $1"
+      BIND="$1"
       ;;
-    p)
-      echo "Build firmware images for the platforms: $OPTARG"
-      PLATFORMS=$OPTARG
+    '-p')
+      shift
+      echo "Build firmware images for the platforms: $1"
+      PLATFORMS="$1"
       ;;
-    c)
-      echo "Build in container: $OPTARG"
-      CONTAINERS=$OPTARG
+    '-c')
+      shift
+      echo "Build in container: $1"
+      CONTAINERS="$1"
       ;;
-    h)
-      echo "Usage: ./ci/build.sh [options] [--]"
+    '-h')
+      echo "Usage: ./ci/build.sh [options]"
       echo "-h          Print this help and exit successfully."
       echo "-a          Build firmware images for all the platform defconfig's."
       echo "-b DIR      Bind DIR to container."
@@ -48,23 +62,27 @@
       echo -e "\tDOCKER_PREFIX=sudo ./ci/build.sh -p garrison,palmetto,opal"
       exit 1
       ;;
-    r)
+    '-r')
       echo "Build for release"
       release_args="-r"
       ;;
-    \?)
-      echo "Invalid option: -$OPTARG"
-      exit 1
+    '--')
+      shift
+      break
       ;;
-    :)
-      echo "Option -$OPTARG requires an argument."
+    *)
+      echo "Internal Error!"
       exit 1
       ;;
   esac
+  shift
 done
 
-set -ex
-set -eo pipefail
+
+if [ ! -d "$SDK_CACHE" ]; then
+    echo "Error: SDK Cache dir doesn't exist: $SDK_CACHE"
+    exit 1
+fi
 
 function run_docker
 {
@@ -78,10 +96,6 @@
          -t $1 $2
 }
 
-function toolchain_hash
-{
-    echo -n 'toolchain-'$((git submodule ; cd openpower/configs/; cat `ls -1 |grep '_defconfig$'|sort`)|sha1sum |sed -e 's/ .*//')
-}
 
 env
 
@@ -126,24 +140,22 @@
 EOF
 		  )
 	$DOCKER_PREFIX docker build --network=host -t openpower/op-build-$distro - <<< "${Dockerfile}"
-	if [ -d "$SDK_CACHE" ]; then
-	    SDK_DIR=$SDK_CACHE/$(toolchain_hash)-$distro
-	    if [ ! -d "$SDK_DIR" ]; then
-		chmod +x ci/build-sdk.sh
-		run_docker openpower/op-build-$distro "./ci/build-sdk.sh $distro witherspoon_defconfig"
-		mv output-$distro-witherspoon_defconfig $SDK_DIR
-		$SDK_DIR/host/relocate-sdk.sh
-	    fi
-	    sdk_args="-s $SDK_DIR/host"
+
+	if [ -n "$PLATFORMS" ]; then
+	    platform_args="-p $PLATFORMS"
+	else
+	    platform_args=""
+	fi
+
+	if [ $SDK_ONLY -ne 0 ]; then
+	    sdk_args="-S"
 	else
 	    sdk_args=""
 	fi
 
-	if [ $SDK_ONLY == 0 ]; then
-	    run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh -o `pwd`/output-$distro -p $PLATFORMS ${release_args} ${sdk_args}"
-	fi
+	run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh -o `pwd`/output-$distro ${platform_args} ${release_args} ${sdk_args} -s $SDK_CACHE"
 
-	if [ $? != 0 ]; then
+	if [ $? -ne 0 ]; then
 		exit $?;
 	fi
 done;
diff --git a/doc/release-notes/index.rst b/doc/release-notes/index.rst
index bd8f684..1f8c9f8 100644
--- a/doc/release-notes/index.rst
+++ b/doc/release-notes/index.rst
@@ -87,3 +87,20 @@
 
     v2.4-rc1
     v2.4
+
+v2.5
+----
+
+ .. toctree::
+    :maxdepth: 1
+
+    v2.5-rc1
+    v2.5
+
+v2.6
+----
+
+ .. toctree::
+    :maxdepth: 1
+
+    v2.6
diff --git a/doc/release-notes/v2.5-rc1.rst b/doc/release-notes/v2.5-rc1.rst
new file mode 100644
index 0000000..b9aa6d6
--- /dev/null
+++ b/doc/release-notes/v2.5-rc1.rst
@@ -0,0 +1,2678 @@
+Release Notes for OpenPower Firmware v2.5-rc1
+=============================================
+
+op-build v2.5-rc1 was released on Thursday, April 30th, 2020. It should become the next stable release of op-build, following on
+from v2.4, first released on July 28th, 2019.
+
+In addition to a number of bugfixes and re-factors, plus the 3 new platforms listed below, this release also brings new features
+since v2.4, to highlight a few:
+
+-  Memory Preserving Initial Program Load (MPIPL): a Power feature where the contents of memory are preserved while the system
+   reboots after a failure.
+-  Support for a new Power9 processor variant: Axone, aka P9P, with NPU3 hardware.
+-  OpenCAPI reset support: allow FPGA-based OpenCAPI devices to be re-flashed with a new device image, then reset to activate the
+   new image.
+
+Please note that this is a RELEASE CANDIDATE and not the final v2.5 release. We expect to do a final v2.5 tagged release in late May
+2020. Please test this release candidate heavily!
+
+New platforms
+-------------
+
+-  mihawk
+-  blackbird
+-  swift
+
+Updated Packages
+----------------
+
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| Package             | Old Version       | New Version       | Platforms                                                          |
++=====================+===================+===================+====================================================================+
+| elfutils            | 0.174             | 0.176             | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| glibc               | 2.29-11-ge28ad44  | 2.29-30-g2d3fefd  | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| hcode               | hw071319a.940     | hw042820a.opmst   | zaius, witherspoon, p9dsu, nicole, romulus                         |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| hostboot            | 8abecc2           | e27c350           | zaius, witherspoon, p9dsu, nicole, romulus                         |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| hostboot-binaries   | hw062819a.940     | hw013120a.opmst   | zaius, habanero, witherspoon, p9dsu, nicole, barreleye, romulus,   |
+|                     |                   |                   | firestone, p8dtu, palmetto, vesnin, garrison                       |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| hostboot-p8         | 27dda29           | 3267aff           | habanero, barreleye, firestone, p8dtu, palmetto, vesnin, garrison  |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| ima-catalog         | 3d30c7a           | 89e00ee           | zaius, habanero, witherspoon, p9dsu, nicole, barreleye, romulus,   |
+|                     |                   |                   | firestone, p8dtu, palmetto, vesnin, garrison                       |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| kexec-lite          | 87d044a           | 6b0130b           | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| libflash            | v6.4              | v6.6              | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| linux               | 5.2.1             | 5.4.33            | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| linux-firmware      | 1baa348           | 20190717          | firenze, zaius, habanero, witherspoon, p9dsu, barreleye, romulus,  |
+|                     |                   |                   | opal, firestone, pseries, p8dtu, palmetto, zz, vesnin, garrison    |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| linux-headers       | 5.2.1             | 5.4.33            | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| machine-xml         | 26b2092           | 1ac78dd           | nicole                                                             |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| machine-xml         | eac9377           | 5b3fbca           | romulus                                                            |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| machine-xml         | a6f4df3           | 0f9b366           | witherspoon                                                        |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| occ                 | e5a2afd           | ab4dc96           | zaius, witherspoon, p9dsu, nicole, romulus                         |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| openpower-pnor      | 0346930           | 175f00d           | zaius, habanero, witherspoon, p9dsu, nicole, barreleye, romulus,   |
+|                     |                   |                   | firestone, p8dtu, palmetto, vesnin, garrison                       |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| petitboot           | v1.10.4           | v1.12             | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| sbe                 | b96edc8           | 78fb783           | zaius, witherspoon, p9dsu, nicole, romulus                         |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+| skiboot             | v6.4              | v6.6              | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,   |
+|                     |                   |                   | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,    |
+|                     |                   |                   | garrison                                                           |
++---------------------+-------------------+-------------------+--------------------------------------------------------------------+
+
+New Packages
+------------
+
+======= ======= =========
+Package Version Platforms
+======= ======= =========
+======= ======= =========
+
+Removed Packages
+----------------
+
+======== ======== ===============================================================================================================
+Package  Version  Platforms
+======== ======== ===============================================================================================================
+iprutils 2.4.15.1 zaius,habanero,witherspoon,p9dsu,nicole,barreleye,romulus,opal,firestone,pseries,p8dtu,palmetto,vesnin,garrison
+libsysfs 2.1.0    zaius,habanero,witherspoon,p9dsu,nicole,barreleye,romulus,opal,firestone,pseries,p8dtu,palmetto,vesnin,garrison
+======== ======== ===============================================================================================================
+
+Package: barreleye-xml
+----------------------
+
+`Repository <https://github.com/open-power/barreleye-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: firestone-xml
+----------------------
+
+`Repository <https://github.com/open-power/firestone-xml>`__
+
+.. _patches-1:
+
+Patches
+~~~~~~~
+
+.. _commits-1:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: garrison-xml
+---------------------
+
+`Repository <https://github.com/open-power/garrison-xml>`__
+
+.. _patches-2:
+
+Patches
+~~~~~~~
+
+.. _commits-2:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: habanero-xml
+---------------------
+
+`Repository <https://github.com/open-power/habanero-xml>`__
+
+.. _patches-3:
+
+Patches
+~~~~~~~
+
+.. _commits-3:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: hcode
+--------------
+
+`Repository <https://github.com/open-power/hcode>`__
+
+.. _patches-4:
+
+Patches
+~~~~~~~
+
+.. _commits-4:
+
+Commits
+~~~~~~~
+
+Amit Tendolkar (2):
+
+-  `7b72e51e <https://github.com/open-power/hcode/commit/7b72e51e>`__ HCode Error Logs - Final structure change for PGPE-OCC API
+-  `be8d21b4 <https://github.com/open-power/hcode/commit/be8d21b4>`__ OCC assisted PGPE, SGPE Error Logging
+
+Chris Steffen (1):
+
+-  `a3c009c8 <https://github.com/open-power/hcode/commit/a3c009c8>`__ Abus PPE TSX Fix
+
+Gregory S Still (1):
+
+-  `396561e6 <https://github.com/open-power/hcode/commit/396561e6>`__ Revert “Hcode: hcode changes for STOP exit in SMF enabled HV
+   mode”
+
+Jenny Huynh (1):
+
+-  `d1862ef5 <https://github.com/open-power/hcode/commit/d1862ef5>`__ Make COREFIR(63) unit checkstop for Cumulus
+
+Luis Fernandez (1):
+
+-  `8df77fd2 <https://github.com/open-power/hcode/commit/8df77fd2>`__ HB Implement Static Analysis with cppcheck
+
+Prem Shanker Jha (8):
+
+-  `04f9cd2b <https://github.com/open-power/hcode/commit/04f9cd2b>`__ Img Build: Updated STOP API version to reflect SPR self save
+   availability.
+-  `b3180c3a <https://github.com/open-power/hcode/commit/b3180c3a>`__ STOP API: API to verify API and image compatibility.
+-  `beaaeb86 <https://github.com/open-power/hcode/commit/beaaeb86>`__ UV Support : Augmented STOP API and self restore for enabling
+   ultravisor.
+-  `737919b4 <https://github.com/open-power/hcode/commit/737919b4>`__ Revert “UV Support : Augmented STOP API and self restore for
+   enabling UV”
+-  `b7658f97 <https://github.com/open-power/hcode/commit/b7658f97>`__ Self Restore: Changes for SMF and SPR self save.
+-  `065c07cb <https://github.com/open-power/hcode/commit/065c07cb>`__ Self Save: Fixing self save of core SPR.
+-  `9eca2072 <https://github.com/open-power/hcode/commit/9eca2072>`__ Hcode: hcode changes for STOP exit in SMF enabled HV mode
+-  `214ef8b2 <https://github.com/open-power/hcode/commit/214ef8b2>`__ HWP: Fixed HV-UV and UV transition during STOP entry in case
+   of LE.
+
+Rahul Batra (4):
+
+-  `9a22b25d <https://github.com/open-power/hcode/commit/9a22b25d>`__ PGPE: Optrace fixes
+-  `1096b337 <https://github.com/open-power/hcode/commit/1096b337>`__ PM: Fix DB0 Hang
+-  `13b47242 <https://github.com/open-power/hcode/commit/13b47242>`__ PGPE: Fix bad volt updt upon nack
+-  `e8d3ed8d <https://github.com/open-power/hcode/commit/e8d3ed8d>`__ PGPE: Multiple Droop Handling Fix
+
+Yue Du (4):
+
+-  `a3362cd2 <https://github.com/open-power/hcode/commit/a3362cd2>`__ CME: Reduce Image Size
+-  `bd92fe00 <https://github.com/open-power/hcode/commit/bd92fe00>`__ CME: Perform SMF Self Save After RAM Psscr.PLS in STOP Entry
+-  `694afd66 <https://github.com/open-power/hcode/commit/694afd66>`__ Self Save: Added support for SPR self save in CME hcode(func
+   ver)
+-  `b1c57628 <https://github.com/open-power/hcode/commit/b1c57628>`__ Axone: Disable Stop L3 Purge Abort to avoid disabling L3 hash
+
+hostboot (139):
+
+-  `e753ab63 <https://github.com/open-power/hcode/commit/e753ab63>`__ Release tag information updated for hw071719a.940
+-  `b7076783 <https://github.com/open-power/hcode/commit/b7076783>`__ Release tag information updated for hw071919a.940
+-  `faebbb83 <https://github.com/open-power/hcode/commit/faebbb83>`__ Release tag information updated for hw072219a.940
+-  `87e44f2b <https://github.com/open-power/hcode/commit/87e44f2b>`__ Release tag information updated for hw072419a.940
+-  `2b1e4726 <https://github.com/open-power/hcode/commit/2b1e4726>`__ Release tag information updated for hw072719a.940
+-  `8111338f <https://github.com/open-power/hcode/commit/8111338f>`__ Release tag information updated for hw073019a.940
+-  `3478a0b5 <https://github.com/open-power/hcode/commit/3478a0b5>`__ Release tag information updated for hw073119a.940
+-  `93d4ce16 <https://github.com/open-power/hcode/commit/93d4ce16>`__ Release tag information updated for hw080119a.940
+-  `cfaad693 <https://github.com/open-power/hcode/commit/cfaad693>`__ Release tag information updated for hw080219a.940
+-  `a4178079 <https://github.com/open-power/hcode/commit/a4178079>`__ Release tag information updated for hw081019a.940
+-  `6383eed4 <https://github.com/open-power/hcode/commit/6383eed4>`__ Release tag information updated for hw081319a.940
+-  `e34887db <https://github.com/open-power/hcode/commit/e34887db>`__ Release tag information updated for hw081419a.940
+-  `c7e1ca8c <https://github.com/open-power/hcode/commit/c7e1ca8c>`__ Release tag information updated for hw081619a.940
+-  `5dbebecf <https://github.com/open-power/hcode/commit/5dbebecf>`__ Release tag information updated for hw082819a.950
+-  `56f778b6 <https://github.com/open-power/hcode/commit/56f778b6>`__ Release tag information updated for hw082819b.950
+-  `3cf46f78 <https://github.com/open-power/hcode/commit/3cf46f78>`__ Release tag information updated for hw083019a.950
+-  `c01997e6 <https://github.com/open-power/hcode/commit/c01997e6>`__ Release tag information updated for hw090119a.950
+-  `5c34aed8 <https://github.com/open-power/hcode/commit/5c34aed8>`__ Release tag information updated for hw090319a.950
+-  `f5a4f0ca <https://github.com/open-power/hcode/commit/f5a4f0ca>`__ Release tag information updated for hw090419a.opmst
+-  `b2b481c6 <https://github.com/open-power/hcode/commit/b2b481c6>`__ Release tag information updated for hw090619a.opmst
+-  `70a95c69 <https://github.com/open-power/hcode/commit/70a95c69>`__ Release tag information updated for hw091019a.opmst
+-  `e016bbb5 <https://github.com/open-power/hcode/commit/e016bbb5>`__ Release tag information updated for hw091119a.opmst
+-  `bd6572db <https://github.com/open-power/hcode/commit/bd6572db>`__ Release tag information updated for hw091319a.opmst
+-  `a9791bdb <https://github.com/open-power/hcode/commit/a9791bdb>`__ Release tag information updated for hw091719a.opmst
+-  `0229050e <https://github.com/open-power/hcode/commit/0229050e>`__ Release tag information updated for hw091919a.opmst
+-  `3f12b2d6 <https://github.com/open-power/hcode/commit/3f12b2d6>`__ Release tag information updated for hw092019a.opmst
+-  `b7ef293f <https://github.com/open-power/hcode/commit/b7ef293f>`__ Release tag information updated for hw092119a.opmst
+-  `c136490e <https://github.com/open-power/hcode/commit/c136490e>`__ Release tag information updated for hw092519a.opmst
+-  `f0fd894e <https://github.com/open-power/hcode/commit/f0fd894e>`__ Release tag information updated for hw092619a.opmst
+-  `ffd6bf1a <https://github.com/open-power/hcode/commit/ffd6bf1a>`__ Release tag information updated for hw092719a.opmst
+-  `d0caf465 <https://github.com/open-power/hcode/commit/d0caf465>`__ Release tag information updated for hw092819a.opmst
+-  `6e5cf597 <https://github.com/open-power/hcode/commit/6e5cf597>`__ Release tag information updated for hw100119a.opmst
+-  `4e4150a8 <https://github.com/open-power/hcode/commit/4e4150a8>`__ Release tag information updated for hw100219a.opmst
+-  `b89376bb <https://github.com/open-power/hcode/commit/b89376bb>`__ Release tag information updated for hw100319a.opmst
+-  `8f9fe01d <https://github.com/open-power/hcode/commit/8f9fe01d>`__ Release tag information updated for hw100419a.opmst
+-  `eda2b054 <https://github.com/open-power/hcode/commit/eda2b054>`__ Release tag information updated for hw100519a.opmst
+-  `b199e0c9 <https://github.com/open-power/hcode/commit/b199e0c9>`__ Release tag information updated for hw100819a.opmst
+-  `cf7d20a8 <https://github.com/open-power/hcode/commit/cf7d20a8>`__ Release tag information updated for hw100919a.opmst
+-  `278684d5 <https://github.com/open-power/hcode/commit/278684d5>`__ Release tag information updated for hw101219a.opmst
+-  `2211d6ea <https://github.com/open-power/hcode/commit/2211d6ea>`__ Release tag information updated for hw101519a.opmst
+-  `ea8c716f <https://github.com/open-power/hcode/commit/ea8c716f>`__ Release tag information updated for hw101619a.opmst
+-  `925882fd <https://github.com/open-power/hcode/commit/925882fd>`__ Release tag information updated for hw101719a.opmst
+-  `a2f7b4ce <https://github.com/open-power/hcode/commit/a2f7b4ce>`__ Release tag information updated for hw101819a.opmst
+-  `b4200fb8 <https://github.com/open-power/hcode/commit/b4200fb8>`__ Release tag information updated for hw102319a.opmst
+-  `afddb39b <https://github.com/open-power/hcode/commit/afddb39b>`__ Release tag information updated for hw102419a.opmst
+-  `c240bed5 <https://github.com/open-power/hcode/commit/c240bed5>`__ Release tag information updated for hw102519a.opmst
+-  `2fd4b164 <https://github.com/open-power/hcode/commit/2fd4b164>`__ Release tag information updated for hw102619a.opmst
+-  `c1e42a5d <https://github.com/open-power/hcode/commit/c1e42a5d>`__ Release tag information updated for hw102919a.opmst
+-  `af8209da <https://github.com/open-power/hcode/commit/af8209da>`__ Release tag information updated for hw103019a.opmst
+-  `f5cfc834 <https://github.com/open-power/hcode/commit/f5cfc834>`__ Release tag information updated for hw110119a.opmst
+-  `be19b686 <https://github.com/open-power/hcode/commit/be19b686>`__ Release tag information updated for hw110219a.opmst
+-  `b7f2b8f2 <https://github.com/open-power/hcode/commit/b7f2b8f2>`__ Release tag information updated for hw110519a.opmst
+-  `fa49d180 <https://github.com/open-power/hcode/commit/fa49d180>`__ Release tag information updated for hw110719a.opmst
+-  `cf37b0ab <https://github.com/open-power/hcode/commit/cf37b0ab>`__ Release tag information updated for hw110819a.opmst
+-  `486d807e <https://github.com/open-power/hcode/commit/486d807e>`__ Release tag information updated for hw110919b.opmst
+-  `653be77b <https://github.com/open-power/hcode/commit/653be77b>`__ Release tag information updated for hw111319a.opmst
+-  `5fbc0759 <https://github.com/open-power/hcode/commit/5fbc0759>`__ Release tag information updated for hw111819a.opmst
+-  `23e6cff8 <https://github.com/open-power/hcode/commit/23e6cff8>`__ Release tag information updated for hw111919a.opmst
+-  `84d2649d <https://github.com/open-power/hcode/commit/84d2649d>`__ Release tag information updated for hw112019a.opmst
+-  `f22c2cdf <https://github.com/open-power/hcode/commit/f22c2cdf>`__ Release tag information updated for hw112219a.opmst
+-  `877d7b06 <https://github.com/open-power/hcode/commit/877d7b06>`__ Release tag & head commit information updated for
+   hw112619a.opmst
+-  `740156c3 <https://github.com/open-power/hcode/commit/740156c3>`__ Release tag & head commit information updated for
+   hw120419a.opmst
+-  `24b70f41 <https://github.com/open-power/hcode/commit/24b70f41>`__ Release tag & head commit information updated for
+   hw120919a.opmst
+-  `fb423b83 <https://github.com/open-power/hcode/commit/fb423b83>`__ Release tag & head commit information updated for
+   hw121019a.opmst
+-  `9658287f <https://github.com/open-power/hcode/commit/9658287f>`__ Release tag & head commit information updated for
+   hw121219a.opmst
+-  `7dc3ec6e <https://github.com/open-power/hcode/commit/7dc3ec6e>`__ Release tag & head commit information updated for
+   hw121919a.opmst
+-  `abb3817e <https://github.com/open-power/hcode/commit/abb3817e>`__ Release tag & head commit information updated for
+   hw122019a.opmst
+-  `0c8a19f1 <https://github.com/open-power/hcode/commit/0c8a19f1>`__ Release tag & head commit information updated for
+   hw123020a.opmst
+-  `b8defe1b <https://github.com/open-power/hcode/commit/b8defe1b>`__ Release tag & head commit information updated for
+   hw010220a.opmst
+-  `8628f1a4 <https://github.com/open-power/hcode/commit/8628f1a4>`__ Release tag & head commit information updated for
+   hw010620a.opmst
+-  `4d14a3df <https://github.com/open-power/hcode/commit/4d14a3df>`__ Release tag & head commit information updated for
+   hw010720a.opmst
+-  `0b5d50ff <https://github.com/open-power/hcode/commit/0b5d50ff>`__ Release tag & head commit information updated for
+   hw010820a.opmst
+-  `fae5994b <https://github.com/open-power/hcode/commit/fae5994b>`__ Release tag & head commit information updated for
+   hw010920a.opmst
+-  `ea3e3e75 <https://github.com/open-power/hcode/commit/ea3e3e75>`__ Release tag & head commit information updated for
+   hw011020a.opmst
+-  `3e2164c0 <https://github.com/open-power/hcode/commit/3e2164c0>`__ Release tag & head commit information updated for
+   hw011120a.opmst
+-  `e57fe736 <https://github.com/open-power/hcode/commit/e57fe736>`__ Release tag & head commit information updated for
+   hw011320a.opmst
+-  `8f6fdad9 <https://github.com/open-power/hcode/commit/8f6fdad9>`__ Release tag & head commit information updated for
+   hw011420a.opmst
+-  `99cffa02 <https://github.com/open-power/hcode/commit/99cffa02>`__ Release tag & head commit information updated for
+   hw011520a.opmst
+-  `cc7e95de <https://github.com/open-power/hcode/commit/cc7e95de>`__ Hcode: hcode changes for STOP exit in SMF enabled HV mode
+-  `af1e535c <https://github.com/open-power/hcode/commit/af1e535c>`__ Release tag & head commit information updated for
+   hw011620a.opmst
+-  `5b1e9a29 <https://github.com/open-power/hcode/commit/5b1e9a29>`__ Release tag & head commit information updated for
+   hw012120a.opmst
+-  `0e6b5b4f <https://github.com/open-power/hcode/commit/0e6b5b4f>`__ Release tag & head commit information updated for
+   hw012320a.opmst
+-  `2779192c <https://github.com/open-power/hcode/commit/2779192c>`__ Release tag & head commit information updated for
+   hw012420a.opmst
+-  `105a2313 <https://github.com/open-power/hcode/commit/105a2313>`__ Release tag & head commit information updated for
+   hw012720a.opmst
+-  `ef7c3d86 <https://github.com/open-power/hcode/commit/ef7c3d86>`__ Release tag & head commit information updated for
+   hw012820a.opmst
+-  `e7971b5b <https://github.com/open-power/hcode/commit/e7971b5b>`__ Release tag & head commit information updated for
+   hw012920a.opmst
+-  `4a5305fc <https://github.com/open-power/hcode/commit/4a5305fc>`__ Release tag & head commit information updated for
+   hw013020a.opmst
+-  `dba5f033 <https://github.com/open-power/hcode/commit/dba5f033>`__ Revert “Hcode: hcode changes for STOP exit in SMF enabled HV
+   mode”
+-  `c03f6bd5 <https://github.com/open-power/hcode/commit/c03f6bd5>`__ Release tag & head commit information updated for
+   hw013120a.opmst
+-  `d6a5e753 <https://github.com/open-power/hcode/commit/d6a5e753>`__ Release tag & head commit information updated for
+   hw020420a.opmst
+-  `c1708e3c <https://github.com/open-power/hcode/commit/c1708e3c>`__ Release tag & head commit information updated for
+   hw020520a.opmst
+-  `ff142255 <https://github.com/open-power/hcode/commit/ff142255>`__ Release tag & head commit information updated for
+   hw021120a.opmst
+-  `64c963de <https://github.com/open-power/hcode/commit/64c963de>`__ Release tag & head commit information updated for
+   hw021120b.opmst
+-  `727a2859 <https://github.com/open-power/hcode/commit/727a2859>`__ Release tag & head commit information updated for
+   hw021320a.opmst
+-  `6b19c24e <https://github.com/open-power/hcode/commit/6b19c24e>`__ Release tag & head commit information updated for
+   hw021420a.opmst
+-  `d3a9bfad <https://github.com/open-power/hcode/commit/d3a9bfad>`__ Release tag & head commit information updated for
+   hw021720a.opmst
+-  `2bbe1ddd <https://github.com/open-power/hcode/commit/2bbe1ddd>`__ Release tag & head commit information updated for
+   hw021820a.opmst
+-  `90a62283 <https://github.com/open-power/hcode/commit/90a62283>`__ Release tag & head commit information updated for
+   hw021920a.opmst
+-  `c02c9362 <https://github.com/open-power/hcode/commit/c02c9362>`__ Release tag & head commit information updated for
+   hw022020a.opmst
+-  `e2b9f7ba <https://github.com/open-power/hcode/commit/e2b9f7ba>`__ Release tag & head commit information updated for
+   hw022420a.opmst
+-  `2cf1d512 <https://github.com/open-power/hcode/commit/2cf1d512>`__ Release tag & head commit information updated for
+   hw022420b.opmst
+-  `ad88dac2 <https://github.com/open-power/hcode/commit/ad88dac2>`__ Release tag & head commit information updated for
+   hw022620a.opmst
+-  `7586c895 <https://github.com/open-power/hcode/commit/7586c895>`__ Release tag & head commit information updated for
+   hw022620b.opmst
+-  `2c1f3f88 <https://github.com/open-power/hcode/commit/2c1f3f88>`__ Release tag & head commit information updated for
+   hw022820a.opmst
+-  `3ea6aa70 <https://github.com/open-power/hcode/commit/3ea6aa70>`__ Release tag & head commit information updated for
+   hw030220a.opmst
+-  `5633c6eb <https://github.com/open-power/hcode/commit/5633c6eb>`__ Release tag & head commit information updated for
+   hw030320a.opmst
+-  `1a1280a8 <https://github.com/open-power/hcode/commit/1a1280a8>`__ Release tag & head commit information updated for
+   hw030420a.opmst
+-  `356145d8 <https://github.com/open-power/hcode/commit/356145d8>`__ Release tag & head commit information updated for
+   hw030520a.opmst
+-  `f4d730d9 <https://github.com/open-power/hcode/commit/f4d730d9>`__ Release tag & head commit information updated for
+   hw030620a.opmst
+-  `460e29ed <https://github.com/open-power/hcode/commit/460e29ed>`__ Release tag & head commit information updated for
+   hw030920a.opmst
+-  `ac97ba7a <https://github.com/open-power/hcode/commit/ac97ba7a>`__ Release tag & head commit information updated for
+   hw031020a.opmst
+-  `7bdcd32c <https://github.com/open-power/hcode/commit/7bdcd32c>`__ Release tag & head commit information updated for
+   hw031120a.opmst
+-  `63e6d024 <https://github.com/open-power/hcode/commit/63e6d024>`__ Release tag & head commit information updated for
+   hw031220a.opmst
+-  `e6e0c962 <https://github.com/open-power/hcode/commit/e6e0c962>`__ Release tag & head commit information updated for
+   hw031320a.opmst
+-  `6adfbb52 <https://github.com/open-power/hcode/commit/6adfbb52>`__ Release tag & head commit information updated for
+   hw031620a.opmst
+-  `d27dc42b <https://github.com/open-power/hcode/commit/d27dc42b>`__ Release tag & head commit information updated for
+   hw032020a.opmst
+-  `f96da34e <https://github.com/open-power/hcode/commit/f96da34e>`__ Release tag & head commit information updated for
+   hw032020b.opmst
+-  `56bc2678 <https://github.com/open-power/hcode/commit/56bc2678>`__ Release tag & head commit information updated for
+   hw032320a.opmst
+-  `69fb7bd3 <https://github.com/open-power/hcode/commit/69fb7bd3>`__ Release tag & head commit information updated for
+   hw032520a.opmst
+-  `1a795c98 <https://github.com/open-power/hcode/commit/1a795c98>`__ Release tag & head commit information updated for
+   hw032620a.opmst
+-  `e52088b0 <https://github.com/open-power/hcode/commit/e52088b0>`__ Release tag & head commit information updated for
+   hw032720a.opmst
+-  `d3d7eccf <https://github.com/open-power/hcode/commit/d3d7eccf>`__ Release tag & head commit information updated for
+   hw033020a.opmst
+-  `b4b0c9b9 <https://github.com/open-power/hcode/commit/b4b0c9b9>`__ Release tag & head commit information updated for
+   hw033120a.opmst
+-  `186d7570 <https://github.com/open-power/hcode/commit/186d7570>`__ Release tag & head commit information updated for
+   hw040120a.opmst
+-  `c5fb9e98 <https://github.com/open-power/hcode/commit/c5fb9e98>`__ Release tag & head commit information updated for
+   hw040220a.opmst
+-  `ef11f4b5 <https://github.com/open-power/hcode/commit/ef11f4b5>`__ Release tag & head commit information updated for
+   hw040320a.opmst
+-  `db8a373e <https://github.com/open-power/hcode/commit/db8a373e>`__ Release tag & head commit information updated for
+   hw040820a.opmst
+-  `5655a99d <https://github.com/open-power/hcode/commit/5655a99d>`__ Release tag & head commit information updated for
+   hw040920a.opmst
+-  `bb72cdc4 <https://github.com/open-power/hcode/commit/bb72cdc4>`__ Release tag & head commit information updated for
+   hw041020a.opmst
+-  `28c3f110 <https://github.com/open-power/hcode/commit/28c3f110>`__ Release tag & head commit information updated for
+   hw041420a.opmst
+-  `fec3f5ce <https://github.com/open-power/hcode/commit/fec3f5ce>`__ Release tag & head commit information updated for
+   hw041520a.opmst
+-  `bae922f5 <https://github.com/open-power/hcode/commit/bae922f5>`__ Release tag & head commit information updated for
+   hw041620a.opmst
+-  `105d09ad <https://github.com/open-power/hcode/commit/105d09ad>`__ Release tag & head commit information updated for
+   hw041720a.opmst
+-  `cd456911 <https://github.com/open-power/hcode/commit/cd456911>`__ Release tag & head commit information updated for
+   hw042020a.opmst
+-  `b43c5809 <https://github.com/open-power/hcode/commit/b43c5809>`__ Release tag & head commit information updated for
+   hw042220a.opmst
+-  `16ee9a3a <https://github.com/open-power/hcode/commit/16ee9a3a>`__ Release tag & head commit information updated for
+   hw042320a.opmst
+-  `c8ce6e1a <https://github.com/open-power/hcode/commit/c8ce6e1a>`__ Release tag & head commit information updated for
+   hw042420a.opmst
+-  `b742f96b <https://github.com/open-power/hcode/commit/b742f96b>`__ Release tag & head commit information updated for
+   hw042720a.opmst
+-  `e5f8c726 <https://github.com/open-power/hcode/commit/e5f8c726>`__ Release tag & head commit information updated for
+   hw042820a.opmst
+
+Package: hostboot
+-----------------
+
+`Repository <https://github.com/open-power/hostboot>`__
+
+.. _patches-5:
+
+Patches
+~~~~~~~
+
+.. _commits-5:
+
+Commits
+~~~~~~~
+
+Adam Hale (13):
+
+-  `505d05255 <https://github.com/open-power/hostboot/commit/505d05255>`__ Move to long term CLSCOM workaround
+-  `a690cdb01 <https://github.com/open-power/hostboot/commit/a690cdb01>`__ Axone setup changes to disable bumpy toothpaste
+   workaround
+-  `aeaa72448 <https://github.com/open-power/hostboot/commit/aeaa72448>`__ Axone Gemini MDI issue workaround
+-  `c796d2cf8 <https://github.com/open-power/hostboot/commit/c796d2cf8>`__ Disable MC Channel Timeout because Gemini too slow
+-  `074a2dd38 <https://github.com/open-power/hostboot/commit/074a2dd38>`__ Axone int updates
+-  `23d883c6d <https://github.com/open-power/hostboot/commit/23d883c6d>`__ HW508066 - interleave granularity not setup for group of
+   3/6 in Axone
+-  `8b1553db4 <https://github.com/open-power/hostboot/commit/8b1553db4>`__ HW508063: Fix Mirrored BAR setup for SMF and Holes,set
+   map_mode when flipped
+-  `3655c1760 <https://github.com/open-power/hostboot/commit/3655c1760>`__ Disable fast act for power savings - no performance
+   benefit
+-  `74609673f <https://github.com/open-power/hostboot/commit/74609673f>`__ enable commandlists on non-gemini systems
+-  `f83a8c5d6 <https://github.com/open-power/hostboot/commit/f83a8c5d6>`__ Set TL Credit limit to 18 for dcp0 credit return
+   improvement
+-  `31dd0024d <https://github.com/open-power/hostboot/commit/31dd0024d>`__ Correct chiplet target for mc_omi_fir_reg xml
+-  `875d8fcca <https://github.com/open-power/hostboot/commit/875d8fcca>`__ Remove OMIDL FIR setup from procedures, is done in
+   initfiles
+-  `b481ff043 <https://github.com/open-power/hostboot/commit/b481ff043>`__ Init OMIC FIRs as masked
+
+Alvin Wang (2):
+
+-  `870098a4e <https://github.com/open-power/hostboot/commit/870098a4e>`__ Move MCBIST lib to generic folder
+-  `d236a4d9f <https://github.com/open-power/hostboot/commit/d236a4d9f>`__ Move kind library to generic
+
+Amit Tendolkar (2):
+
+-  `18aa5d9e3 <https://github.com/open-power/hostboot/commit/18aa5d9e3>`__ HCode Error Logs - Final structure change for PGPE-OCC
+   API
+-  `f40b75296 <https://github.com/open-power/hostboot/commit/f40b75296>`__ OCC assisted PGPE, SGPE Error Logging
+
+Andre A. Marin (15):
+
+-  `8e08836ea <https://github.com/open-power/hostboot/commit/8e08836ea>`__ Add DDR4 RCD attributes from the EXP resp structure
+-  `17867d02c <https://github.com/open-power/hostboot/commit/17867d02c>`__ Update TRFC_DLR to uint16 for 16Gb support
+-  `a76d69766 <https://github.com/open-power/hostboot/commit/a76d69766>`__ Clean up PPE character format and target
+-  `bc4196fe7 <https://github.com/open-power/hostboot/commit/bc4196fe7>`__ Add unit tests for mss field_t and macro def
+-  `0d474d644 <https://github.com/open-power/hostboot/commit/0d474d644>`__ Add bounds check API to generic_check library
+-  `80ecda0c5 <https://github.com/open-power/hostboot/commit/80ecda0c5>`__ Add DDR4 RCD attributes from the EXP resp structure
+-  `3b661be89 <https://github.com/open-power/hostboot/commit/3b661be89>`__ Add supported_rcd attribute from SPD + tests
+-  `f1c57ddcd <https://github.com/open-power/hostboot/commit/f1c57ddcd>`__ Update index_within_bounds() API
+-  `c5c86d25e <https://github.com/open-power/hostboot/commit/c5c86d25e>`__ Update get_dimm_target() api to get_target()
+-  `f92ebb1bd <https://github.com/open-power/hostboot/commit/f92ebb1bd>`__ Update get_ocmb_target() api to get_target()
+-  `81fe4816a <https://github.com/open-power/hostboot/commit/81fe4816a>`__ Update attr_engine to handle more cases
+-  `9ba2723f1 <https://github.com/open-power/hostboot/commit/9ba2723f1>`__ Add empty explorer_rc_resp_fields file for HB mirroring
+-  `6110ede07 <https://github.com/open-power/hostboot/commit/6110ede07>`__ Add explorer rc response to eff_config
+-  `f30db0976 <https://github.com/open-power/hostboot/commit/f30db0976>`__ Update API for std::begin and std::end
+-  `dcb88fdc5 <https://github.com/open-power/hostboot/commit/dcb88fdc5>`__ Add explorer rc response to eff_config
+
+Andre Marin (15):
+
+-  `831f9e0d8 <https://github.com/open-power/hostboot/commit/831f9e0d8>`__ Fix HB error with -Os compile flag due to eff_config
+-  `ab9139914 <https://github.com/open-power/hostboot/commit/ab9139914>`__ Move pre_eff_config specific code to chip specific
+   folders
+-  `0e26522ec <https://github.com/open-power/hostboot/commit/0e26522ec>`__ Add nimbus and cumulus empty files for find
+   specialization
+-  `06ed7403d <https://github.com/open-power/hostboot/commit/06ed7403d>`__ Move find_magic from generic to Nimbus subdir path
+-  `9fb424b8a <https://github.com/open-power/hostboot/commit/9fb424b8a>`__ Change return size of the DDR4 DDIMM SPD
+-  `1061da027 <https://github.com/open-power/hostboot/commit/1061da027>`__ Add missing attributes needed to be set for generic
+   mss_kind
+-  `491ac02e8 <https://github.com/open-power/hostboot/commit/491ac02e8>`__ Split nimbus and cumulus find API away from generic
+-  `86f11d17e <https://github.com/open-power/hostboot/commit/86f11d17e>`__ Add mss throttle files L1
+-  `f3b51d33a <https://github.com/open-power/hostboot/commit/f3b51d33a>`__ Move find API to share among memory controllers
+-  `85dce0de2 <https://github.com/open-power/hostboot/commit/85dce0de2>`__ Disable mem clk stop when in STR for DD2.\* only
+-  `a87142ef6 <https://github.com/open-power/hostboot/commit/a87142ef6>`__ Remove logic to disable memory clocks in STR if in
+   PD_AND_STR_CLK_STOP mode
+-  `cdc14bcd3 <https://github.com/open-power/hostboot/commit/cdc14bcd3>`__ Split nimbus and cumulus find API away from generic
+-  `f8776311e <https://github.com/open-power/hostboot/commit/f8776311e>`__ Add call to exp_mss_thermal_init to step 14.2
+-  `daeac77bf <https://github.com/open-power/hostboot/commit/daeac77bf>`__ Add RC A2, B3, and C3 for 16Gb RDIMMs
+-  `b403e6730 <https://github.com/open-power/hostboot/commit/b403e6730>`__ Clean up for p10 porting dependency errors
+
+Artem Senichev (3):
+
+-  `ad8653d6a <https://github.com/open-power/hostboot/commit/ad8653d6a>`__ errl: Fix data reading from unaligned pointers
+-  `c79620afd <https://github.com/open-power/hostboot/commit/c79620afd>`__ errl: Free memory allocated for parsers
+-  `b47fb5983 <https://github.com/open-power/hostboot/commit/b47fb5983>`__ Replace descriptions with JEDEC register names
+
+Ben Gass (8):
+
+-  `111b6f0e6 <https://github.com/open-power/hostboot/commit/111b6f0e6>`__ p9_nv_ref_clk_enable, NV refclk bits moved to ROOT_CTRL7
+   for Axone.
+-  `fad02a31a <https://github.com/open-power/hostboot/commit/fad02a31a>`__ Translate logical mca regisers in mcs chiplet as mca
+   target type
+-  `6c4acfedf <https://github.com/open-power/hostboot/commit/6c4acfedf>`__ Move NPU_ENABLE to its own initfile and call from
+   p9_npu_scominit for p9a.
+-  `38845b646 <https://github.com/open-power/hostboot/commit/38845b646>`__ Call p9_fbc_ioo_dl_npu_scom from p9_npu_scominit
+-  `d534ac32b <https://github.com/open-power/hostboot/commit/d534ac32b>`__ Update explorer scom header files with newer figtree
+   data.
+-  `98bf4ecbd <https://github.com/open-power/hostboot/commit/98bf4ecbd>`__ Update OMI DS template support
+-  `51aae2461 <https://github.com/open-power/hostboot/commit/51aae2461>`__ Adding obj_handle values for attentions to
+   explorer.scom.initfile
+-  `4b0d4cb36 <https://github.com/open-power/hostboot/commit/4b0d4cb36>`__ Translate OMIC DL register correctly
+
+Bill Hoffa (12):
+
+-  `6abe77368 <https://github.com/open-power/hostboot/commit/6abe77368>`__ Parse MEM_PORT target type out of Machine Readable
+   Workbook (MRW)
+-  `07b05592e <https://github.com/open-power/hostboot/commit/07b05592e>`__ Add HUID value to DDIMM parsing
+-  `7cfa513f0 <https://github.com/open-power/hostboot/commit/7cfa513f0>`__ Process MRW MC Targets Correctly
+-  `05007faa4 <https://github.com/open-power/hostboot/commit/05007faa4>`__ Ignore OMIC connections for OCMB_CHIP MRW processing
+-  `5825828fa <https://github.com/open-power/hostboot/commit/5825828fa>`__ Fix MMIO Addressing and Attributes on Non-Master Proc
+-  `e05083bbd <https://github.com/open-power/hostboot/commit/e05083bbd>`__ Skip Alternate PNOR Validation on alt-master proc if lpc
+   init fails
+-  `6c12d1ea9 <https://github.com/open-power/hostboot/commit/6c12d1ea9>`__ Update Sim level to 08_23_19_f5e686_simics.tar.gz
+-  `e22e362f3 <https://github.com/open-power/hostboot/commit/e22e362f3>`__ Axone 2-Proc Standalone Sim Enablement
+-  `75aa7d0bd <https://github.com/open-power/hostboot/commit/75aa7d0bd>`__ Remove Unused clearPoreBars function in Istep 21.3
+-  `c283187cd <https://github.com/open-power/hostboot/commit/c283187cd>`__ Modify INTRP Initialization Order to route LSI interrupts
+   over PSHIHB
+-  `7da5f5914 <https://github.com/open-power/hostboot/commit/7da5f5914>`__ Enable Serial Testcases
+-  `c13c81ff9 <https://github.com/open-power/hostboot/commit/c13c81ff9>`__ Fix HB Simulation Startup Script for using vexec
+
+Bradley Pepper (1):
+
+-  `504aa7ff8 <https://github.com/open-power/hostboot/commit/504aa7ff8>`__ Adds plug rule for dependent DIMM slots on Swift
+
+Brian Silver (4):
+
+-  `127c22d27 <https://github.com/open-power/hostboot/commit/127c22d27>`__ Add dump_regs for MC
+-  `bb6571fca <https://github.com/open-power/hostboot/commit/bb6571fca>`__ Add mcbist L2 function
+-  `67a37edc8 <https://github.com/open-power/hostboot/commit/67a37edc8>`__ Change include paths in memory/lib, tests
+-  `a123070b9 <https://github.com/open-power/hostboot/commit/a123070b9>`__ Add support for dynamic MC PERF2 register setup
+
+Caleb Palmer (66):
+
+-  `6751459c3 <https://github.com/open-power/hostboot/commit/6751459c3>`__ PRD: Axone MemEccAnalysis Updates
+-  `b731bda96 <https://github.com/open-power/hostboot/commit/b731bda96>`__ PRD: Axone Restore DRAM Repairs support
+-  `4128797da <https://github.com/open-power/hostboot/commit/4128797da>`__ PRD: Axone sim support and test cases
+-  `e65958555 <https://github.com/open-power/hostboot/commit/e65958555>`__ PRD: Add OCMB support for ROW_REPAIR code
+-  `ddf90e53a <https://github.com/open-power/hostboot/commit/ddf90e53a>`__ PRD: Cumulus Add PLL Slave Error Regs
+-  `37af28e05 <https://github.com/open-power/hostboot/commit/37af28e05>`__ PRD: NVDIMM avoid gard for general mem errors only for
+   IPL
+-  `9de71650f <https://github.com/open-power/hostboot/commit/9de71650f>`__ PRD: Axone OMIC to OMI connection and log parser updates
+-  `4ced77592 <https://github.com/open-power/hostboot/commit/4ced77592>`__ PRD: NVDIMM RDR no gard only for all repairs used case
+-  `a51a38812 <https://github.com/open-power/hostboot/commit/a51a38812>`__ PRD: Add Axone background scrubbing framework
+-  `b1090a522 <https://github.com/open-power/hostboot/commit/b1090a522>`__ PRD: Axone more MEM_PORT cleanup and misc updates
+-  `8aa5e5fb9 <https://github.com/open-power/hostboot/commit/8aa5e5fb9>`__ PRD: NVDIMM signature and Warning Threshold update
+-  `248c0df21 <https://github.com/open-power/hostboot/commit/248c0df21>`__ PRD: NVDIMM don’t check threshold unless no errors found
+-  `84e076b71 <https://github.com/open-power/hostboot/commit/84e076b71>`__ PRD: Axone MemoryMru Updates
+-  `285dc2bbe <https://github.com/open-power/hostboot/commit/285dc2bbe>`__ PRD: Uncomment OMI bus callout and cleanup getSlaveRanks
+-  `ea5da88b0 <https://github.com/open-power/hostboot/commit/ea5da88b0>`__ MDIA: Update mdiatestmba.H test case
+-  `cbd250000 <https://github.com/open-power/hostboot/commit/cbd250000>`__ PRD: Don’t dealloc NVDIMMs set to NO_GARD in a predictive
+   log
+-  `6034efa84 <https://github.com/open-power/hostboot/commit/6034efa84>`__ PRD: Skip callouts without trgts when clearing NVDIMM
+   gard
+-  `78c527c5e <https://github.com/open-power/hostboot/commit/78c527c5e>`__ PRD: NVDIMM signatures use MCA HUID instead of DIMM
+-  `f7aeced78 <https://github.com/open-power/hostboot/commit/f7aeced78>`__ PRD: NVDIMM Fix negative temperature check
+-  `8d0f324f7 <https://github.com/open-power/hostboot/commit/8d0f324f7>`__ PRD: Do not clear VPD at RDR when avoiding NVDIMM gard
+-  `8e9808de5 <https://github.com/open-power/hostboot/commit/8e9808de5>`__ PRD: Fix reading of NVDIMM ES_TEMP value
+-  `f5de75d9d <https://github.com/open-power/hostboot/commit/f5de75d9d>`__ PRD: NVDIMM Additional FFDC for error analysis
+-  `b08fe621d <https://github.com/open-power/hostboot/commit/b08fe621d>`__ PRD: Update NVDIMM warning threshold adjustment
+-  `bfe56382f <https://github.com/open-power/hostboot/commit/bfe56382f>`__ PRD: NVDIMM keep log hidden if no error found during
+   analysis
+-  `d9057b40a <https://github.com/open-power/hostboot/commit/d9057b40a>`__ PRD: Fix UNIT_CS analysis in OCMB chiplet FIR
+-  `d0f0ff1e5 <https://github.com/open-power/hostboot/commit/d0f0ff1e5>`__ PRD: Lane repair OMI bus callout changes
+-  `b93f63ad3 <https://github.com/open-power/hostboot/commit/b93f63ad3>`__ PRD: NVDIMM workaround for ES TEMP glitches
+-  `b99004fb7 <https://github.com/open-power/hostboot/commit/b99004fb7>`__ PRD: Initial Axone Channel Fail support
+-  `70a4b6bf1 <https://github.com/open-power/hostboot/commit/70a4b6bf1>`__ PRD: Add threshold for stopping on UEs/CEs during BgScrub
+-  `3920d160e <https://github.com/open-power/hostboot/commit/3920d160e>`__ PRD: Fix returning port position in dynamic mem dealloc
+-  `9d750b3d9 <https://github.com/open-power/hostboot/commit/9d750b3d9>`__ PRD: Add additional FFDC to runtime NVDIMM analysis
+-  `2dbc30966 <https://github.com/open-power/hostboot/commit/2dbc30966>`__ PRD: Axone UE/CE threshold for background scrub
+-  `195dd6a15 <https://github.com/open-power/hostboot/commit/195dd6a15>`__ PRD: Axone VCM Updates
+-  `e017df4c9 <https://github.com/open-power/hostboot/commit/e017df4c9>`__ PRD: Axone Two Phase Scrub (TPS) support
+-  `e3407c1b4 <https://github.com/open-power/hostboot/commit/e3407c1b4>`__ PRD: OCMB handling for checkstop analysis path
+-  `d8c686118 <https://github.com/open-power/hostboot/commit/d8c686118>`__ MDIA: Uncomment HWP calls
+-  `fcbb09411 <https://github.com/open-power/hostboot/commit/fcbb09411>`__ Uncomment the remainder of hwp_wrappers.H
+-  `0247cc5fb <https://github.com/open-power/hostboot/commit/0247cc5fb>`__ Update ATTR_MEM_VPD_DQ_MAPs default to a 1-to-1 mapping
+-  `e3870cb85 <https://github.com/open-power/hostboot/commit/e3870cb85>`__ Add DIMM_BAD_DQ_DATA field for DDR4 DDIMM SPD and bad dq
+   tests
+-  `574346780 <https://github.com/open-power/hostboot/commit/574346780>`__ PRD: Update CE/UE flood threshold to reset on new ranks
+-  `bcdae9c49 <https://github.com/open-power/hostboot/commit/bcdae9c49>`__ PRD: Axone Dynamic Mem Dealloc Addr Translate Port Addr
+-  `d65563f09 <https://github.com/open-power/hostboot/commit/d65563f09>`__ PRD: Axone Dynamic Mem Dealloc addr translate insert Grp
+   ID
+-  `d1b590057 <https://github.com/open-power/hostboot/commit/d1b590057>`__ PRD: Uncomment Axone HWP code
+-  `70ef78700 <https://github.com/open-power/hostboot/commit/70ef78700>`__ PRD: NVDIMM only update status bits for predictive logs
+-  `1f4ac83bb <https://github.com/open-power/hostboot/commit/1f4ac83bb>`__ PRD: Add check for OCMBs to MemDealloc::dimmList
+-  `cbb2bd756 <https://github.com/open-power/hostboot/commit/cbb2bd756>`__ PRD: Fix checkEccFirs template problem
+-  `da3c3ba33 <https://github.com/open-power/hostboot/commit/da3c3ba33>`__ PRD: Add workaround for OMIDLFIR channel fails
+-  `c10eba828 <https://github.com/open-power/hostboot/commit/c10eba828>`__ PRD: Change MCC to OCMB chip connection lookup
+-  `a3fec9cb1 <https://github.com/open-power/hostboot/commit/a3fec9cb1>`__ MDIA: Reenable PRD memdiags instead of cronus version
+-  `7e9fe96af <https://github.com/open-power/hostboot/commit/7e9fe96af>`__ PRD: Workarounds to avoid HIO during checkstops
+-  `1b10af06e <https://github.com/open-power/hostboot/commit/1b10af06e>`__ Fix getting all OCMBs for mss_scrub
+-  `51440d90c <https://github.com/open-power/hostboot/commit/51440d90c>`__ PRD: NVDIMM callouts for register access errors
+-  `a91c5531f <https://github.com/open-power/hostboot/commit/a91c5531f>`__ PRD: Add default callout for chip connection lookup fails
+-  `f07d459fb <https://github.com/open-power/hostboot/commit/f07d459fb>`__ PRD: Disable OCMB UCS check and clear subchnl specific
+   attn
+-  `b6badfcb9 <https://github.com/open-power/hostboot/commit/b6badfcb9>`__ MDIA: Update timeout FFDC gathering for OCMBs
+-  `004dbbae7 <https://github.com/open-power/hostboot/commit/004dbbae7>`__ PRD: Channel Fail fix OCMB UCS query
+-  `e8491f368 <https://github.com/open-power/hostboot/commit/e8491f368>`__ PRD: Dyn mem dealloc fix getting ocmb channel pos
+-  `d89b3e7bb <https://github.com/open-power/hostboot/commit/d89b3e7bb>`__ MDIA: Enable restore dram repairs for Axone
+-  `638312ea6 <https://github.com/open-power/hostboot/commit/638312ea6>`__ MDIA: Update mdiatestmba test cases
+-  `cec911056 <https://github.com/open-power/hostboot/commit/cec911056>`__ MDIA: Add MCC registers to timeout FFDC
+-  `cff27861a <https://github.com/open-power/hostboot/commit/cff27861a>`__ MDIA: Disable restoreDramRepairs until we get updated HWP
+   call
+-  `e64493c22 <https://github.com/open-power/hostboot/commit/e64493c22>`__ Make mss::ccs::execute static inline
+-  `cf23c9a46 <https://github.com/open-power/hostboot/commit/cf23c9a46>`__ PRD: Add dependencies for restore_repair in hwp_wrappers
+-  `9ed3a8c72 <https://github.com/open-power/hostboot/commit/9ed3a8c72>`__ MDIA: For OCMBs avoid getting parent chip
+-  `7bf1bbfec <https://github.com/open-power/hostboot/commit/7bf1bbfec>`__ PRD: Ignore mainline IUE if on at same time as mainline
+   UE
+-  `cc929c6fd <https://github.com/open-power/hostboot/commit/cc929c6fd>`__ PRD: Update OCMB_LFIR[38] to defaultMaskedError
+
+Chen Du (2):
+
+-  `e783d1e86 <https://github.com/open-power/hostboot/commit/e783d1e86>`__ Dynamically generate ocmb cmd/rsp seq id
+-  `85992ee55 <https://github.com/open-power/hostboot/commit/85992ee55>`__ Split nvdimm vendor logs
+
+Chris Cain (1):
+
+-  `ceef10b02 <https://github.com/open-power/hostboot/commit/ceef10b02>`__ HTMGT: Update to support new PGPE elog structure
+
+Chris Steffen (1):
+
+-  `2619526af <https://github.com/open-power/hostboot/commit/2619526af>`__ P9A Tx Fifo Init + Init Settings Update
+
+Christian Geddes (60):
+
+-  `e7f8781ee <https://github.com/open-power/hostboot/commit/e7f8781ee>`__ Force sbe update loop if a change in OMI freq is detected
+-  `73acf956a <https://github.com/open-power/hostboot/commit/73acf956a>`__ Support reading from EECACHE during runtime
+-  `c865c731a <https://github.com/open-power/hostboot/commit/c865c731a>`__ Register EEPROM_CACHE device route for NODE targets for
+   PVPD support
+-  `81c225bca <https://github.com/open-power/hostboot/commit/81c225bca>`__ Enable runtime test for Axone
+-  `be772a1e3 <https://github.com/open-power/hostboot/commit/be772a1e3>`__ Break out of loop if we fail to load reserved mem section
+-  `b3c0accfe <https://github.com/open-power/hostboot/commit/b3c0accfe>`__ Remove MVPD,MEMD and CENHWIMG section from Axone pnor
+   layout
+-  `f9d0c39c1 <https://github.com/open-power/hostboot/commit/f9d0c39c1>`__ Skip phase 2 of IDEC check for ocmb targets for gemini
+-  `7e05c2e69 <https://github.com/open-power/hostboot/commit/7e05c2e69>`__ Always update EECACHE header when we find a new eeprom
+   entry
+-  `ed0430e90 <https://github.com/open-power/hostboot/commit/ed0430e90>`__ OR mux select with the “enable” bit 0b1000 when making
+   selection
+-  `119219fbd <https://github.com/open-power/hostboot/commit/119219fbd>`__ Skip mss_scrub with axone system for until we get it
+   working
+-  `311f9e017 <https://github.com/open-power/hostboot/commit/311f9e017>`__ Add temp workaround to force Axone to use Nimbus’s hcode
+   lid
+-  `650345ffb <https://github.com/open-power/hostboot/commit/650345ffb>`__ Switch which OMI init hwp we call for GEMINI ocmb targets
+-  `9bdc8a41d <https://github.com/open-power/hostboot/commit/9bdc8a41d>`__ Temp workaround to skip filling in TPM info for RT on
+   axone systems
+-  `b424be0fc <https://github.com/open-power/hostboot/commit/b424be0fc>`__ Set Gemini EC level to be 0x10 if 0x00 is found in SPD
+   revision field
+-  `aade92abb <https://github.com/open-power/hostboot/commit/aade92abb>`__ Add workaround to ignore MC channel hangs for Swift
+   bringup
+-  `a7892148b <https://github.com/open-power/hostboot/commit/a7892148b>`__ Only compare a proc’s omi freq if it has functional OCMB
+   children
+-  `c98af339b <https://github.com/open-power/hostboot/commit/c98af339b>`__ Do not unload modules loaded for unit tests
+-  `0f996208d <https://github.com/open-power/hostboot/commit/0f996208d>`__ Use REL_POS of OMI and not OCMB for calculating hdat DIMM
+   ID’s
+-  `ca543f732 <https://github.com/open-power/hostboot/commit/ca543f732>`__ Add OSYS record MM/SS keyword checks for PVPD
+-  `b1ec6c18b <https://github.com/open-power/hostboot/commit/b1ec6c18b>`__ Update ocmb i2c driver to send address in read command
+   sequence
+-  `a950157bf <https://github.com/open-power/hostboot/commit/a950157bf>`__ Update sim scripts to use $proc_chip_type to lookup chip
+   for Axone
+-  `4e839856d <https://github.com/open-power/hostboot/commit/4e839856d>`__ Lookup ID/EC register on Gemini OCBMs for comparison to
+   SPD
+-  `3bbc07ee0 <https://github.com/open-power/hostboot/commit/3bbc07ee0>`__ Introduce exp_getidec HWP
+-  `00fa8005d <https://github.com/open-power/hostboot/commit/00fa8005d>`__ Compile new ioo_dl_npu_scominit HWP so its ready to use
+-  `6ba5510b7 <https://github.com/open-power/hostboot/commit/6ba5510b7>`__ Add “Not Wired” option for OPTICS_CONFIG_MODE attrs
+-  `59a241514 <https://github.com/open-power/hostboot/commit/59a241514>`__ Update DIMM mux_select to match their OCMB counterparts
+-  `bafe5de9d <https://github.com/open-power/hostboot/commit/bafe5de9d>`__ Account for Explorer’s DMB_REVISION format in its SPD
+-  `e85d6dd64 <https://github.com/open-power/hostboot/commit/e85d6dd64>`__ Re-enable mss_scrub in istep16 for axone systems
+-  `8ab48e774 <https://github.com/open-power/hostboot/commit/8ab48e774>`__ Apply MC_HANG timeout workaround to all processors
+-  `147018379 <https://github.com/open-power/hostboot/commit/147018379>`__ Skip OCMB targets while decidng what targets to process
+   for IpmiFruInv
+-  `69f3bd253 <https://github.com/open-power/hostboot/commit/69f3bd253>`__ Update axone pnor layout to move eecache to the begining
+-  `b7c4af200 <https://github.com/open-power/hostboot/commit/b7c4af200>`__ Add wrapper to exp_getidec HWP so we can call it in
+   platform code
+-  `1b3bc0e6a <https://github.com/open-power/hostboot/commit/1b3bc0e6a>`__ Disable OMI deconfig tests
+-  `0f3e041cb <https://github.com/open-power/hostboot/commit/0f3e041cb>`__ Add new DDR4 DDIMM keyword ENTIRE_SPD_WITHOUT_EFD
+-  `e1de8adbd <https://github.com/open-power/hostboot/commit/e1de8adbd>`__ Increase hostboot standalone timeout to be 75 minutes
+-  `bce435643 <https://github.com/open-power/hostboot/commit/bce435643>`__ Add call to fapi wrapper of exp_getidec into hwasPlat
+   code
+-  `51c6d68c1 <https://github.com/open-power/hostboot/commit/51c6d68c1>`__ Update dimmspd used by explorers in axone simics
+-  `1629aca37 <https://github.com/open-power/hostboot/commit/1629aca37>`__ Increase timeout for OCMB inband communication doorbell
+-  `5b6b984fa <https://github.com/open-power/hostboot/commit/5b6b984fa>`__ Reorganize omi training steps accounting for new omi
+   training hwps
+-  `8b524caae <https://github.com/open-power/hostboot/commit/8b524caae>`__ Set endianess attributes in hb_customized_attrs instead
+   of in code
+-  `2dc7d1457 <https://github.com/open-power/hostboot/commit/2dc7d1457>`__ Update Part Number field side for DDR4 DDIMM spd layout
+-  `a058d0e23 <https://github.com/open-power/hostboot/commit/a058d0e23>`__ Call cronus version of memdiags for explorer until prd
+   version works
+-  `aa122e3e9 <https://github.com/open-power/hostboot/commit/aa122e3e9>`__ Don’t consider processor’s OMI freq if it is 0 when freq
+   restrictions
+-  `9c4be0da9 <https://github.com/open-power/hostboot/commit/9c4be0da9>`__ Only call memdiags on Explorer ocmb chips
+-  `632582f10 <https://github.com/open-power/hostboot/commit/632582f10>`__ Allow dynmic i2c device addresses and set up PMIC targets
+   to do this
+-  `22b39d874 <https://github.com/open-power/hostboot/commit/22b39d874>`__ Adjust deadman timeout request time to be 10.5 seconds
+-  `d1260d0c7 <https://github.com/open-power/hostboot/commit/d1260d0c7>`__ Fix ipmifruinv calls for dimms in swift systems
+-  `c016e9860 <https://github.com/open-power/hostboot/commit/c016e9860>`__ Avoid commiting errors inside fapi2_i2c device driver
+-  `c3689a691 <https://github.com/open-power/hostboot/commit/c3689a691>`__ Fixes to PMIC presence detection
+-  `6d6b8ced5 <https://github.com/open-power/hostboot/commit/6d6b8ced5>`__ Allow HWPs that send BOOT_CONFIG command to ocbm to run
+   in simics
+-  `7cb71794b <https://github.com/open-power/hostboot/commit/7cb71794b>`__ Correct ptr math and force CI i/o in kernal for machchk
+   escalation
+-  `b80205824 <https://github.com/open-power/hostboot/commit/b80205824>`__ Filter out i2c slaves that are not associated with a
+   given master
+-  `946a75dff <https://github.com/open-power/hostboot/commit/946a75dff>`__ Add calls to p9a_disable_ocmb_i2c HWP in istep 8.12
+-  `ea01d258c <https://github.com/open-power/hostboot/commit/ea01d258c>`__ Introduce eecache_editor.pl tool
+-  `2a1b24baf <https://github.com/open-power/hostboot/commit/2a1b24baf>`__ Correct target hiearchy in axone system xml
+-  `d712b65d7 <https://github.com/open-power/hostboot/commit/d712b65d7>`__ Remove workaround setting EFUSE3 power-on value
+-  `2a806047e <https://github.com/open-power/hostboot/commit/2a806047e>`__ Remove workaround added to increment MCS timeout for
+   gemini’s
+-  `582071097 <https://github.com/open-power/hostboot/commit/582071097>`__ Add hwp retry loop as workaround until we resolve timeout
+   issue
+-  `f32aff51f <https://github.com/open-power/hostboot/commit/f32aff51f>`__ Make RT_TARG id generation code common between IPL time
+   and runtime
+-  `7866a7cc7 <https://github.com/open-power/hostboot/commit/7866a7cc7>`__ Add API to get OCMB’s mmio information, used to build
+   HDAT
+
+Claus Michael Olsen (1):
+
+-  `aea300c8e <https://github.com/open-power/hostboot/commit/aea300c8e>`__ Fix to SW473350: p9_xip_customize Vpd core fill bug
+
+Corey Swenson (20):
+
+-  `f088a0dc2 <https://github.com/open-power/hostboot/commit/f088a0dc2>`__ Miscellaneous NVDIMM cleanup
+-  `af4454c30 <https://github.com/open-power/hostboot/commit/af4454c30>`__ NVDIMM unlock error DELAYED_DECONFIG
+-  `f691dc23a <https://github.com/open-power/hostboot/commit/f691dc23a>`__ HBRT command from SBE to trigger NVDIMM operations
+-  `0856a71d6 <https://github.com/open-power/hostboot/commit/0856a71d6>`__ Fix NVDIMM update error log comments
+-  `2ad648b98 <https://github.com/open-power/hostboot/commit/2ad648b98>`__ NVDIMM: Load warning thresholds, after FW_UPDATE, on
+   every IPL
+-  `d8db346a1 <https://github.com/open-power/hostboot/commit/d8db346a1>`__ Add Encryption Enabled bit to NV_STATUS_FLAG
+-  `26c32cba6 <https://github.com/open-power/hostboot/commit/26c32cba6>`__ NVDIMM: Additional FFDC for NVDIMM/BPM callouts
+-  `ce0d29c96 <https://github.com/open-power/hostboot/commit/ce0d29c96>`__ Add vendor log data to FFDC for all NVDIMM HW errors
+-  `1434b8952 <https://github.com/open-power/hostboot/commit/1434b8952>`__ NVDIMM: FW_UPDATE: New FFDC for SECURITY_ERROR
+-  `adc61f1bd <https://github.com/open-power/hostboot/commit/adc61f1bd>`__ Attempt to unlock encryption in NVDIMM Arm function
+-  `7fb809d19 <https://github.com/open-power/hostboot/commit/7fb809d19>`__ Re-enable NV_STATUS notification for Opal
+-  `f41f71705 <https://github.com/open-power/hostboot/commit/f41f71705>`__ Fix linker Object init
+-  `d8decc681 <https://github.com/open-power/hostboot/commit/d8decc681>`__ Add support for NULL char in vendor log
+-  `7e66117da <https://github.com/open-power/hostboot/commit/7e66117da>`__ Add NVDIMM opertions to rt_cmds
+-  `d432c4503 <https://github.com/open-power/hostboot/commit/d432c4503>`__ Fix auto-arming NVDIMMs for ESS systems
+-  `5eaa67a66 <https://github.com/open-power/hostboot/commit/5eaa67a66>`__ Always send NV_STATUS to Opal when opal-prd starts
+-  `c3d65931f <https://github.com/open-power/hostboot/commit/c3d65931f>`__ Fix for missing HBRT error log after error injected
+-  `634b78532 <https://github.com/open-power/hostboot/commit/634b78532>`__ NVDIMM : Catch save error during MPIPL
+-  `a96914fab <https://github.com/open-power/hostboot/commit/a96914fab>`__ Add support for NVDIMM secure erase verify
+-  `e69d7d9ff <https://github.com/open-power/hostboot/commit/e69d7d9ff>`__ ARM/DISARM NVDIMMs by proc
+
+Dan Crowell (56):
+
+-  `d0e2fddc7 <https://github.com/open-power/hostboot/commit/d0e2fddc7>`__ Add option to factory reset nvdimms
+-  `f2281d448 <https://github.com/open-power/hostboot/commit/f2281d448>`__ Enable URMOR hack for Axone
+-  `2dc572888 <https://github.com/open-power/hostboot/commit/2dc572888>`__ Add type to adapt mrw version of i2c mux to hb mux type
+-  `0d622822e <https://github.com/open-power/hostboot/commit/0d622822e>`__ Enable URMOR hack for Axone in shutdown path
+-  `7a758c4ef <https://github.com/open-power/hostboot/commit/7a758c4ef>`__ Handle processor swap between slots to 1-socket system
+-  `6c712843a <https://github.com/open-power/hostboot/commit/6c712843a>`__ Force NO_SWAP for Explorer MMIO word swap for now
+-  `0606bb795 <https://github.com/open-power/hostboot/commit/0606bb795>`__ Honor DDIMM EFD metadata to choose OMI frequencies
+-  `b4b84d189 <https://github.com/open-power/hostboot/commit/b4b84d189>`__ Fix BPM script to put temp files into obj tree
+-  `fae196d66 <https://github.com/open-power/hostboot/commit/fae196d66>`__ Add Axone comment to grouping attribute
+-  `c0426a12d <https://github.com/open-power/hostboot/commit/c0426a12d>`__ Remove a file to remirror it
+-  `6d14af625 <https://github.com/open-power/hostboot/commit/6d14af625>`__ Add subsystem translations for NVDIMM part callouts
+-  `4b8fb565e <https://github.com/open-power/hostboot/commit/4b8fb565e>`__ Fix OMIC MRW processing
+-  `cd820b662 <https://github.com/open-power/hostboot/commit/cd820b662>`__ Final solution for Axone HCODE lid id
+-  `2ceefa096 <https://github.com/open-power/hostboot/commit/2ceefa096>`__ Do not allow PNOR partition adjustments when not in test
+   mode
+-  `5f27f36ed <https://github.com/open-power/hostboot/commit/5f27f36ed>`__ Enable SMF tests for Axone
+-  `56b1dbc3c <https://github.com/open-power/hostboot/commit/56b1dbc3c>`__ Skip hardware delays when running in Simics
+-  `8ad37b962 <https://github.com/open-power/hostboot/commit/8ad37b962>`__ Add support for DMI-MEMBUF bus failures to fapi
+-  `a3a392385 <https://github.com/open-power/hostboot/commit/a3a392385>`__ Add OMI bus support to callouts
+-  `ed40af7bc <https://github.com/open-power/hostboot/commit/ed40af7bc>`__ Enable rolling counter and verification of req id for
+   Explorer
+-  `e9c4e6ad6 <https://github.com/open-power/hostboot/commit/e9c4e6ad6>`__ Remove ibm prefix from reserved memory spaces
+-  `70b54e6ae <https://github.com/open-power/hostboot/commit/70b54e6ae>`__ Automatically set VPD cache flags based on EEPROM cache
+   setting
+-  `a0207ea10 <https://github.com/open-power/hostboot/commit/a0207ea10>`__ Add attribute to explicitly force OCMB Firmware update
+   behavior
+-  `576b16849 <https://github.com/open-power/hostboot/commit/576b16849>`__ Add plug-rule callout to memory vpd lookup failure
+-  `a7739158a <https://github.com/open-power/hostboot/commit/a7739158a>`__ Support scoms to MEM_PORT targets
+-  `38949a9bb <https://github.com/open-power/hostboot/commit/38949a9bb>`__ Do not crash if we have no functional nodes
+-  `4924154e6 <https://github.com/open-power/hostboot/commit/4924154e6>`__ Create FW interfaces to execute memory diagnostics
+-  `9c7a264f8 <https://github.com/open-power/hostboot/commit/9c7a264f8>`__ Fix fapi spd testcases
+-  `d519d2911 <https://github.com/open-power/hostboot/commit/d519d2911>`__ Fix timestamp parser for OpenBMC ESELs
+-  `95bb7028e <https://github.com/open-power/hostboot/commit/95bb7028e>`__ Move HBRT reserved memory off of NVDIMMs
+-  `1f46cc39f <https://github.com/open-power/hostboot/commit/1f46cc39f>`__ Increase size of default printk buffer in error logs
+-  `06b4ead53 <https://github.com/open-power/hostboot/commit/06b4ead53>`__ Mark bootloader RCs for FSP export
+-  `dfba68af8 <https://github.com/open-power/hostboot/commit/dfba68af8>`__ Update simics level to
+   f0c3530f4fefad5236391e61ae29b1a2582636ca
+-  `4235f2f22 <https://github.com/open-power/hostboot/commit/4235f2f22>`__ Add missing trace point to BlTrace.pm tool
+-  `aad465f4b <https://github.com/open-power/hostboot/commit/aad465f4b>`__ For ATTR_MSS_OCMB_HALF_DIMM_MODE to full dimm mode
+-  `c46f1ee5b <https://github.com/open-power/hostboot/commit/c46f1ee5b>`__ Automatically include config.h
+-  `75c0908b9 <https://github.com/open-power/hostboot/commit/75c0908b9>`__ Switch DECONFIG over to DELAYED_DECONFIG
+-  `4638dc513 <https://github.com/open-power/hostboot/commit/4638dc513>`__ Add current istep into TI SRC
+-  `ddad6a525 <https://github.com/open-power/hostboot/commit/ddad6a525>`__ Call p9a_throttle_sync inside mss_scominit
+-  `4198ffbc2 <https://github.com/open-power/hostboot/commit/4198ffbc2>`__ Force a Hostboot dump on any TI in Simics
+-  `91f6cf741 <https://github.com/open-power/hostboot/commit/91f6cf741>`__ Enhancements to default console output
+-  `6ceeb473d <https://github.com/open-power/hostboot/commit/6ceeb473d>`__ Move p9a_omi_setup_bars from 12.4 to 12.3
+-  `03db83368 <https://github.com/open-power/hostboot/commit/03db83368>`__ Handle automatic interleaving between OMI sub-channels
+-  `c6aaded09 <https://github.com/open-power/hostboot/commit/c6aaded09>`__ Support for ATTR_TMP and GUARD in standalone simics
+-  `fd4e73a22 <https://github.com/open-power/hostboot/commit/fd4e73a22>`__ Add obj tree to EXTRAINCDIR for istep10
+-  `14a51c828 <https://github.com/open-power/hostboot/commit/14a51c828>`__ Add more rc values to vmmpagetest
+-  `1cb00f7e0 <https://github.com/open-power/hostboot/commit/1cb00f7e0>`__ Add fir subdir to Axone mss HWP compile path
+-  `3b5bb9f2e <https://github.com/open-power/hostboot/commit/3b5bb9f2e>`__ Adjust idec algorithm for Explorer B.0 format
+-  `1a19ea2ae <https://github.com/open-power/hostboot/commit/1a19ea2ae>`__ Change p9a_mss_freq from MEM_PORT to PROC_CHIP targets
+   (HB)
+-  `4a69880fa <https://github.com/open-power/hostboot/commit/4a69880fa>`__ Better handling of end-of-year mirrored commits
+-  `dced790c1 <https://github.com/open-power/hostboot/commit/dced790c1>`__ ZZ Gen4 WOFDATA
+-  `541200528 <https://github.com/open-power/hostboot/commit/541200528>`__ Do not truncate error log at runtime when using
+   firmware_request
+-  `4e31bed66 <https://github.com/open-power/hostboot/commit/4e31bed66>`__ Convert DECONFIG to DELAYED_DECONFIG on FSP systems
+-  `c815997b7 <https://github.com/open-power/hostboot/commit/c815997b7>`__ Pass complete mmio address into runtime ocmb scom
+   interface
+-  `0b49c1912 <https://github.com/open-power/hostboot/commit/0b49c1912>`__ Add translation for SuperWOF lid id
+-  `9f4f5c89e <https://github.com/open-power/hostboot/commit/9f4f5c89e>`__ Allow very long attribute names
+-  `f6f86c539 <https://github.com/open-power/hostboot/commit/f6f86c539>`__ Removing files to force a remirror…
+
+Dan Larson (1):
+
+-  `514dce81c <https://github.com/open-power/hostboot/commit/514dce81c>`__ HCBI-239 Enable static analysis
+
+Daniel M Crowell (3):
+
+-  `4a6e20386 <https://github.com/open-power/hostboot/commit/4a6e20386>`__ Revert “Compile Hostboot with -Os”
+-  `35cc764a1 <https://github.com/open-power/hostboot/commit/35cc764a1>`__ Revert “Remove ibm prefix from reserved memory spaces”
+-  `6332cbac6 <https://github.com/open-power/hostboot/commit/6332cbac6>`__ Revert “Add DDR4 RCD attributes from the EXP resp
+   structure”
+
+Dean Sanner (10):
+
+-  `a22884e07 <https://github.com/open-power/hostboot/commit/a22884e07>`__ Correctly form LX record/keyword for OpenPOWER
+-  `449d1fabb <https://github.com/open-power/hostboot/commit/449d1fabb>`__ Fix bug in attribute sync
+-  `cd1e5c91e <https://github.com/open-power/hostboot/commit/cd1e5c91e>`__ Compile Hostboot with -Os
+-  `c4e7bcba0 <https://github.com/open-power/hostboot/commit/c4e7bcba0>`__ Compile Hostboot with -Os
+-  `7c03d51c2 <https://github.com/open-power/hostboot/commit/7c03d51c2>`__ Always position HOMER in HV space for istep 16
+-  `b28407123 <https://github.com/open-power/hostboot/commit/b28407123>`__ Add missing target types for OCMB
+-  `81abe97b7 <https://github.com/open-power/hostboot/commit/81abe97b7>`__ Support direct load of POWERVM from BOOTKERNEL partition
+-  `d99b1eddc <https://github.com/open-power/hostboot/commit/d99b1eddc>`__ Add SBE Arch dump area for both OPAL & PHYP
+-  `334617066 <https://github.com/open-power/hostboot/commit/334617066>`__ Replace spr/gpr numbers with names for arch dump
+-  `c16b08724 <https://github.com/open-power/hostboot/commit/c16b08724>`__ Update HDAT flags to indicate memory dump
+
+Devon Baughen (1):
+
+-  `df80bf43c <https://github.com/open-power/hostboot/commit/df80bf43c>`__ add function to turn on adaptation in bootconfig
+
+Emmanuel Sacristan (1):
+
+-  `eb3d4239b <https://github.com/open-power/hostboot/commit/eb3d4239b>`__ adding iss 768 init for p9 behaviour in nmmu
+
+Giridhari Krishnan (1):
+
+-  `d507b6f85 <https://github.com/open-power/hostboot/commit/d507b6f85>`__ Merging of Serverwiz and hostboot repo Targets.pm
+
+Glenn Miles (2):
+
+-  `9f92316f3 <https://github.com/open-power/hostboot/commit/9f92316f3>`__ Do nothing with error logs after shutdown event is
+   received.
+-  `68ba813f2 <https://github.com/open-power/hostboot/commit/68ba813f2>`__ Fix invalid use of vector iterator
+
+Ilya Smirnov (11):
+
+-  `3ab493b69 <https://github.com/open-power/hostboot/commit/3ab493b69>`__ Account For TPM Not Required in Node Comm
+-  `33dcae3a2 <https://github.com/open-power/hostboot/commit/33dcae3a2>`__ Set SMF_CONFIG Attribute in MBOX Scratch Reg
+-  `4ea0824d8 <https://github.com/open-power/hostboot/commit/4ea0824d8>`__ Update SBE In Istep7.5 In SMF Mode
+-  `3db6c1479 <https://github.com/open-power/hostboot/commit/3db6c1479>`__ Cache VERSION Partition
+-  `b9cb9f771 <https://github.com/open-power/hostboot/commit/b9cb9f771>`__ Update SYS’s ATTR_XSCOM_BASE_ADDRESS in SMF Paths
+-  `fc0e2ceee <https://github.com/open-power/hostboot/commit/fc0e2ceee>`__ HDAT: Add SMF Memory Region
+-  `c049efe44 <https://github.com/open-power/hostboot/commit/c049efe44>`__ Update startup.simics To Disable SBE Updates
+-  `d2bcdefb2 <https://github.com/open-power/hostboot/commit/d2bcdefb2>`__ Add Printk Traces to ThreadPool Unit Tests
+-  `0e5621232 <https://github.com/open-power/hostboot/commit/0e5621232>`__ Fix ThreadPool Memory Corruption
+-  `1cee7cd49 <https://github.com/open-power/hostboot/commit/1cee7cd49>`__ Fix UVBWLIST SBE Chip Op
+-  `58930a38e <https://github.com/open-power/hostboot/commit/58930a38e>`__ HB TI Area Parser
+
+Jacob Harvey (6):
+
+-  `9fc60d7a2 <https://github.com/open-power/hostboot/commit/9fc60d7a2>`__ Fixed doxygen errors and typos
+-  `53b580bab <https://github.com/open-power/hostboot/commit/53b580bab>`__ Implementing thermal_init
+-  `f26b88c04 <https://github.com/open-power/hostboot/commit/f26b88c04>`__ Power Thermal init
+-  `85b7c42f1 <https://github.com/open-power/hostboot/commit/85b7c42f1>`__ Disable memory throttle change_after_sync
+-  `7bb1c0030 <https://github.com/open-power/hostboot/commit/7bb1c0030>`__ Change power controll settings for PD/STR
+-  `e7de009de <https://github.com/open-power/hostboot/commit/e7de009de>`__ L3 draminit and mss_lib
+
+Jayashankar Padath (3):
+
+-  `103d85c96 <https://github.com/open-power/hostboot/commit/103d85c96>`__ HDAT: Support for Swift/Axone memory sub system
+-  `50c349b5a <https://github.com/open-power/hostboot/commit/50c349b5a>`__ HDAT: Add MMIO information of OCMB in to Ms Area
+-  `8e9344fa0 <https://github.com/open-power/hostboot/commit/8e9344fa0>`__ HDAT: Update on MMIO range address
+
+Jenny Huynh (2):
+
+-  `1c64cf3cb <https://github.com/open-power/hostboot/commit/1c64cf3cb>`__ Wilted Apple: Disable SMT2 prefetch for NDD2.2+, CDD1.1+,
+   ADD1.0+
+-  `39854a32f <https://github.com/open-power/hostboot/commit/39854a32f>`__ Add slbv, slbe extraction to p9_ram_core procedure
+
+Jet Li (1):
+
+-  `4e071c333 <https://github.com/open-power/hostboot/commit/4e071c333>`__ Create submodule in hostboot repo for mctp
+
+Joachim Fenkes (1):
+
+-  `60d3cb8b4 <https://github.com/open-power/hostboot/commit/60d3cb8b4>`__ Streamline the way PIB/NET are initialized between SBE
+   and Cronus
+
+Joe McGill (2):
+
+-  `bd473add8 <https://github.com/open-power/hostboot/commit/bd473add8>`__ p9_fbc_ioo_tdm_recovery – post spare lane FIR after final
+   FIR clearing, unmask
+-  `1fb1c42e4 <https://github.com/open-power/hostboot/commit/1fb1c42e4>`__ p9_proc_gettracearray – updates for Axone
+
+Kahn Evans (1):
+
+-  `66af054d9 <https://github.com/open-power/hostboot/commit/66af054d9>`__ Fix for missing putCMD symbols
+
+Klaus Heinrich Kiwi (1):
+
+-  `caaf22c3e <https://github.com/open-power/hostboot/commit/caaf22c3e>`__ Debug Scripts: Remove deprecated defined(@array)
+
+Louis Stermole (37):
+
+-  `dd6aa0faa <https://github.com/open-power/hostboot/commit/dd6aa0faa>`__ Lengthen polling duration for Explorer outbound doorbell
+-  `a911c8a49 <https://github.com/open-power/hostboot/commit/a911c8a49>`__ Fix polling timeouts for exp_omi_train and
+   exp_check_for_ready
+-  `eed860207 <https://github.com/open-power/hostboot/commit/eed860207>`__ Add attribute to control word swapping over OMI MMIO
+-  `77397c404 <https://github.com/open-power/hostboot/commit/77397c404>`__ Change description and default for
+   ATTR_MSS_OCMB_EXP_BOOT_CONFIG_DFE_DISABLE
+-  `51aebe563 <https://github.com/open-power/hostboot/commit/51aebe563>`__ Change p9a_mss_eff_config to use rank-specific RTT values
+   from SPD
+-  `3e7974342 <https://github.com/open-power/hostboot/commit/3e7974342>`__ Updates to Explorer FW upload tools
+-  `4cbe15e36 <https://github.com/open-power/hostboot/commit/4cbe15e36>`__ Rename p9a_mss_memdiag to exp_mss_memdiag
+-  `9d7ab6bb2 <https://github.com/open-power/hostboot/commit/9d7ab6bb2>`__ Skip running EXP_FW_TEMP_SENSOR_CONFIG_INTERVAL_READ in
+   exp_mss_thermal_init
+-  `ff05444dd <https://github.com/open-power/hostboot/commit/ff05444dd>`__ Remove unmask of MCBISTFIRQ[12]
+-  `994392964 <https://github.com/open-power/hostboot/commit/994392964>`__ Remove unused procedure p9a_mss_eff_config_thermal
+-  `3502d6036 <https://github.com/open-power/hostboot/commit/3502d6036>`__ Add deconfigure of memory port if mss_freq can’t find
+   consensus freq
+-  `2f808f21c <https://github.com/open-power/hostboot/commit/2f808f21c>`__ Skip setting up emergency throttle settings for Explorer
+   in Cronus mode
+-  `ef6600cc1 <https://github.com/open-power/hostboot/commit/ef6600cc1>`__ Add empty file for exp_port_traits
+-  `7b91b9596 <https://github.com/open-power/hostboot/commit/7b91b9596>`__ Add attribute to specify polling timeout for
+   exp_check_for_ready
+-  `a801fcf53 <https://github.com/open-power/hostboot/commit/a801fcf53>`__ Fix exp_draminit to print response structure and error
+   code when training fails
+-  `a69715d78 <https://github.com/open-power/hostboot/commit/a69715d78>`__ Add p9a_mss_utils_to_throttle
+-  `6b29b3829 <https://github.com/open-power/hostboot/commit/6b29b3829>`__ Change p9a_mss_freq to work on PROC_CHIP target
+-  `f51ad1f24 <https://github.com/open-power/hostboot/commit/f51ad1f24>`__ Add blank file for exp_port.C
+-  `a9b71d90c <https://github.com/open-power/hostboot/commit/a9b71d90c>`__ Don’t assert from ddimm_get_efd for unsupported freq if
+   ffdc_enabled not set
+-  `c49249c72 <https://github.com/open-power/hostboot/commit/c49249c72>`__ Add Explorer specific MCBIST settings before scrub and
+   maint
+-  `19e0f82a3 <https://github.com/open-power/hostboot/commit/19e0f82a3>`__ Add blank file exp_fir.C for HB mirror
+-  `46174931e <https://github.com/open-power/hostboot/commit/46174931e>`__ Add blank files for P9A plug rules
+-  `c4fd28507 <https://github.com/open-power/hostboot/commit/c4fd28507>`__ Add Axone FIR unmasking after p9_chiplet_scominit
+-  `288f7babe <https://github.com/open-power/hostboot/commit/288f7babe>`__ Add unmask_after_exp_omi_setup and FIR checks
+-  `3a26734f8 <https://github.com/open-power/hostboot/commit/3a26734f8>`__ Add ATTR_MEM_IGNORE_PLUG_RULES to skip Axone plug rules
+-  `f40c41f81 <https://github.com/open-power/hostboot/commit/f40c41f81>`__ Increase exp_draminit polling timeout for MDS
+-  `9c2a95eab <https://github.com/open-power/hostboot/commit/9c2a95eab>`__ Add some FIR unmask updates for p9a and explorer
+-  `fde4c9f63 <https://github.com/open-power/hostboot/commit/fde4c9f63>`__ Add periodic mem cal to end of exp_draminit_mc
+-  `513da3116 <https://github.com/open-power/hostboot/commit/513da3116>`__ Set reorder mode after read-only subtest in exp_memdiag
+-  `e9687ad70 <https://github.com/open-power/hostboot/commit/e9687ad70>`__ Add unmasks for REG1 and REG2 versions of OMI_FIR for
+   Axone
+-  `6ed0290da <https://github.com/open-power/hostboot/commit/6ed0290da>`__ Change “ALL EFDs have been exhausted” trace from error to
+   info
+-  `eed98f14e <https://github.com/open-power/hostboot/commit/eed98f14e>`__ Fix DL_OMI_FIR unmasks after p9_chiplet_scominit to be DL
+   specific
+-  `445272ea4 <https://github.com/open-power/hostboot/commit/445272ea4>`__ Fix Swift plug rule for DDIMM channel dependency
+-  `044ece9cc <https://github.com/open-power/hostboot/commit/044ece9cc>`__ Add PRD helper functions for restore_repairs on Nimbus
+   and Explorer
+-  `129a80acf <https://github.com/open-power/hostboot/commit/129a80acf>`__ Fix MC_OMI_FIR_REG_DL0_FLIT_CE unmask in p9a_omi_init
+-  `d97ea2280 <https://github.com/open-power/hostboot/commit/d97ea2280>`__ Add initial masking to Explorer MC_OMI_FIR in
+   exp_omi_setup
+-  `e27c350a6 <https://github.com/open-power/hostboot/commit/e27c350a6>`__ Add include for find.H in gen_mss_port.H
+
+Luis Fernandez (6):
+
+-  `6faf10f43 <https://github.com/open-power/hostboot/commit/6faf10f43>`__ HB Implement Static Analysis with cppcheck
+-  `5474e9200 <https://github.com/open-power/hostboot/commit/5474e9200>`__ Fixes from HB for GCC 8 Compiler
+-  `163b6d077 <https://github.com/open-power/hostboot/commit/163b6d077>`__ (Fix for:) Alert when a partition’s space utilization
+   exceeds a threshold
+-  `08501bc65 <https://github.com/open-power/hostboot/commit/08501bc65>`__ Patch For: Implement Static Analysis with cppcheck
+-  `5dd26a01e <https://github.com/open-power/hostboot/commit/5dd26a01e>`__ New Optional Argument to PnorUtils.pm’s loadPnorLayout
+-  `1f76bfa23 <https://github.com/open-power/hostboot/commit/1f76bfa23>`__ Add call to p9_throttle_sync inside
+   cumulus_call_mss_scominit
+
+MATTHEW I. HICKMAN (9):
+
+-  `01ac1b8dc <https://github.com/open-power/hostboot/commit/01ac1b8dc>`__ Added security bit and fir handling, gard and trace fixes
+-  `1cd7d1c78 <https://github.com/open-power/hostboot/commit/1cd7d1c78>`__ Fix for offset traces due to merge bug
+-  `b0cd81c61 <https://github.com/open-power/hostboot/commit/b0cd81c61>`__ Fixed several small bugs found via code review
+-  `913c6fde1 <https://github.com/open-power/hostboot/commit/913c6fde1>`__ Fixed several Arm error handling bugs
+-  `b23632654 <https://github.com/open-power/hostboot/commit/b23632654>`__ Fixed pre-req check during NVDimm Arm
+-  `36a6a52a5 <https://github.com/open-power/hostboot/commit/36a6a52a5>`__ Added additional erase error handling
+-  `746ec708f <https://github.com/open-power/hostboot/commit/746ec708f>`__ Fixed the restore status flag bug
+-  `5db287b6e <https://github.com/open-power/hostboot/commit/5db287b6e>`__ Fixed NOT_ENOUGH_ENERGY_FOR_CSAVE check
+-  `7b8722652 <https://github.com/open-power/hostboot/commit/7b8722652>`__ Fixed error handling issues in arm path
+
+Mark Pizzutillo (57):
+
+-  `3a513ca00 <https://github.com/open-power/hostboot/commit/3a513ca00>`__ Split omi setup & train for new DL_TRAIN cmd
+-  `5ccea20bd <https://github.com/open-power/hostboot/commit/5ccea20bd>`__ Add omi_workarounds blank files for PRBS OMI training
+   workarounds
+-  `5fffa914a <https://github.com/open-power/hostboot/commit/5fffa914a>`__ Add blank files for exp_inband move to memory/lib/
+-  `cf4b39c85 <https://github.com/open-power/hostboot/commit/cf4b39c85>`__ Add PRBS training sequence to exp_omi_setup
+-  `52ccb29ce <https://github.com/open-power/hostboot/commit/52ccb29ce>`__ Fix FAPI_INF segfault in exp_omi_setup
+-  `bca5cf6af <https://github.com/open-power/hostboot/commit/bca5cf6af>`__ Create workaround for gemini MENTERP register bug
+-  `79c45f4da <https://github.com/open-power/hostboot/commit/79c45f4da>`__ Move exp_inband to lib directory
+-  `00d4530ee <https://github.com/open-power/hostboot/commit/00d4530ee>`__ Add rank API support in axone_mss_freq
+-  `4b5c78b95 <https://github.com/open-power/hostboot/commit/4b5c78b95>`__ Add support for MCHP dmb revision ids in ddimm_get_efd
+-  `24762ab00 <https://github.com/open-power/hostboot/commit/24762ab00>`__ Fix issue in pmic_enable where VR_ENABLE did not kick off
+-  `3c930cf14 <https://github.com/open-power/hostboot/commit/3c930cf14>`__ Add workaround for gemini OMI config settings
+-  `d43de0d64 <https://github.com/open-power/hostboot/commit/d43de0d64>`__ Add pmic_status_tool
+-  `75ac15f71 <https://github.com/open-power/hostboot/commit/75ac15f71>`__ Fix bug causing get_mmio index overflow for swift
+-  `ae8c69b80 <https://github.com/open-power/hostboot/commit/ae8c69b80>`__ Zero out command argument field to fix exp_draminit
+   issues
+-  `7a27f4603 <https://github.com/open-power/hostboot/commit/7a27f4603>`__ Add ekb dual drop support for p9a
+-  `3cdd4fbe9 <https://github.com/open-power/hostboot/commit/3cdd4fbe9>`__ Add pmic_i2c_addr_get function for platform code use
+-  `b2be220bb <https://github.com/open-power/hostboot/commit/b2be220bb>`__ Add blank files for p9a_omi_setup procedure
+-  `d80f7fc83 <https://github.com/open-power/hostboot/commit/d80f7fc83>`__ Fix dmb_revision size in ddimm_get_efd
+-  `04d5973be <https://github.com/open-power/hostboot/commit/04d5973be>`__ Add blank files for exp_omi_train_check procedure
+-  `48abe5e8a <https://github.com/open-power/hostboot/commit/48abe5e8a>`__ Add support for new pmic sequencing SPD fields
+-  `c349ba997 <https://github.com/open-power/hostboot/commit/c349ba997>`__ Check PMIC error and enable statuses after pmic_enable
+-  `104c2dc59 <https://github.com/open-power/hostboot/commit/104c2dc59>`__ Disable & clear PMIC status codes in beginning of
+   pmic_enable
+-  `822fea83d <https://github.com/open-power/hostboot/commit/822fea83d>`__ Add MDS attribute & draminit support
+-  `8f549e754 <https://github.com/open-power/hostboot/commit/8f549e754>`__ Add code and workarounds for \*_omi_setup and
+   \*_omi_train for Swift
+-  `9546b72bc <https://github.com/open-power/hostboot/commit/9546b72bc>`__ Increase default PRBS_TIME for FW
+-  `1745eed20 <https://github.com/open-power/hostboot/commit/1745eed20>`__ Make explorer endian attributes platInit
+-  `d639a5a45 <https://github.com/open-power/hostboot/commit/d639a5a45>`__ Add printout of ECID in exp_getecid
+-  `4921bf245 <https://github.com/open-power/hostboot/commit/4921bf245>`__ Update exp_draminit results display for new response
+   structs
+-  `4b9dc024e <https://github.com/open-power/hostboot/commit/4b9dc024e>`__ Add assert for RSP extended data buffer size in
+   exp_draminit
+-  `0b50210ae <https://github.com/open-power/hostboot/commit/0b50210ae>`__ Reverse mcbist address buffer fields
+-  `3f280b8d2 <https://github.com/open-power/hostboot/commit/3f280b8d2>`__ Fix odt RD/WR fields
+-  `eddd46a88 <https://github.com/open-power/hostboot/commit/eddd46a88>`__ Add MCBIST infinite tests
+-  `30077cd8b <https://github.com/open-power/hostboot/commit/30077cd8b>`__ Add blank files for explorer plug rules libs
+-  `7e3eaedff <https://github.com/open-power/hostboot/commit/7e3eaedff>`__ Add check for compatible upstream templates before
+   enabling Explorer metadata
+-  `1ac7a33a9 <https://github.com/open-power/hostboot/commit/1ac7a33a9>`__ Fix EFD processor indexing error
+-  `291768968 <https://github.com/open-power/hostboot/commit/291768968>`__ Remove vin_bulk check before status clears in pmic_enable
+-  `ecac8199d <https://github.com/open-power/hostboot/commit/ecac8199d>`__ Add asserts for invalid states of enterprise & half dimm
+   mode
+-  `0921b80a5 <https://github.com/open-power/hostboot/commit/0921b80a5>`__ Add new DDIMM spd version 0_3 and update UTs
+-  `149d7cc96 <https://github.com/open-power/hostboot/commit/149d7cc96>`__ Fix pmic_status_tool exiting before checking both PMICs
+-  `d3c8aa5e5 <https://github.com/open-power/hostboot/commit/d3c8aa5e5>`__ Update \*_train_check procedure errors to print status
+   info
+-  `00950f87a <https://github.com/open-power/hostboot/commit/00950f87a>`__ Fix DFIMRL_DDRCLK_trained draminit result display
+   printout log level
+-  `779761d1c <https://github.com/open-power/hostboot/commit/779761d1c>`__ Add read only subtest at the end of exp_mss_memdiags
+-  `dc407ba49 <https://github.com/open-power/hostboot/commit/dc407ba49>`__ Add blank file for hwpf i2cslave attributes
+-  `798af67f2 <https://github.com/open-power/hostboot/commit/798af67f2>`__ Add attribute for SPD_REVISION (byte 1)
+-  `be69d0cb3 <https://github.com/open-power/hostboot/commit/be69d0cb3>`__ Add TARGET_TYPE_GENERICI2CSLAVE and relevant attributes
+-  `6579e15ca <https://github.com/open-power/hostboot/commit/6579e15ca>`__ Refactor PMIC attributes to be at OCMB level
+-  `921a602d7 <https://github.com/open-power/hostboot/commit/921a602d7>`__ Add deconfigure for OCMB_TARGET if no doorbell
+-  `ac2efc87f <https://github.com/open-power/hostboot/commit/ac2efc87f>`__ Add SPD, ATTR, and code support for thermal sensor fields
+-  `f5813785b <https://github.com/open-power/hostboot/commit/f5813785b>`__ Move p9a_omi_init from nimbus to axone directory
+-  `87f140959 <https://github.com/open-power/hostboot/commit/87f140959>`__ Fix incorrect polling rate in exp_mss_thermal_init
+-  `42f6285e7 <https://github.com/open-power/hostboot/commit/42f6285e7>`__ Update pmic_bias_tool percentage bias to be relative to
+   nominal
+-  `ba560090b <https://github.com/open-power/hostboot/commit/ba560090b>`__ Update RAS DQ Inject tool with new MCHP squence
+-  `18ef7916f <https://github.com/open-power/hostboot/commit/18ef7916f>`__ pmic_enable: Add additional clear for error status bits
+   in R04-R07
+-  `50da7a4fa <https://github.com/open-power/hostboot/commit/50da7a4fa>`__ Update explorer CCS to handle A vs B side ranks
+-  `5e3449aed <https://github.com/open-power/hostboot/commit/5e3449aed>`__ Update explorer CCS ODTs to support mirroring A-B
+-  `f25313313 <https://github.com/open-power/hostboot/commit/f25313313>`__ Add FFDC and trace for DL0_ERROR_HOLD in
+   \*_omi_train_checks
+-  `09ee51cf9 <https://github.com/open-power/hostboot/commit/09ee51cf9>`__ Add check for matching PMIC vendor and IDT revisions
+
+Matt Derksen (35):
+
+-  `2e406cadf <https://github.com/open-power/hostboot/commit/2e406cadf>`__ Remove CONFIG_AXONE_BRING_UP from xscomtest
+-  `b3043ae16 <https://github.com/open-power/hostboot/commit/b3043ae16>`__ Enable testpreverifiedlidmgr for Axone
+-  `3a146159c <https://github.com/open-power/hostboot/commit/3a146159c>`__ Enable secure boot in Axone simics
+-  `256d3e0a8 <https://github.com/open-power/hostboot/commit/256d3e0a8>`__ Enable prdf_hb_common_test for Axone
+-  `199b35573 <https://github.com/open-power/hostboot/commit/199b35573>`__ Call new p9a_throttle_sync procedure
+-  `fc5fa5842 <https://github.com/open-power/hostboot/commit/fc5fa5842>`__ Runtime scom support for OCMBs
+-  `51b7478d2 <https://github.com/open-power/hostboot/commit/51b7478d2>`__ Fix calling eepromddtest.H
+-  `794efce0c <https://github.com/open-power/hostboot/commit/794efce0c>`__ Fix retry failure in nvdimmWriteData()
+-  `052182c0d <https://github.com/open-power/hostboot/commit/052182c0d>`__ Test runtime scom support in Axone
+-  `b0f0228ff <https://github.com/open-power/hostboot/commit/b0f0228ff>`__ Remove verbose option from handle_duplicates call
+-  `c4df5e918 <https://github.com/open-power/hostboot/commit/c4df5e918>`__ Update SPD_DDR4 size to be 640 bytes
+-  `582ed66b3 <https://github.com/open-power/hostboot/commit/582ed66b3>`__ Implement std::begin() and std::end() for base types
+-  `8664b9adb <https://github.com/open-power/hostboot/commit/8664b9adb>`__ Add exp_mss_eff_config_thermal call to istep7 for Axone
+-  `feef0389e <https://github.com/open-power/hostboot/commit/feef0389e>`__ Dummy commit to prime hwsv for new Explorer FFDC
+   collection
+-  `56574b602 <https://github.com/open-power/hostboot/commit/56574b602>`__ Support EXP_FW_LOG command to get Explorer FW logs
+-  `8e6285e72 <https://github.com/open-power/hostboot/commit/8e6285e72>`__ Support EXP_FW_LOG command to get Explorer Firmware logs
+-  `09016a8a7 <https://github.com/open-power/hostboot/commit/09016a8a7>`__ Hostboot platform support for Explorer inband commands
+   via i2c
+-  `f5796a5fa <https://github.com/open-power/hostboot/commit/f5796a5fa>`__ Add NVDIMM node controller readme text
+-  `63989a514 <https://github.com/open-power/hostboot/commit/63989a514>`__ Create error for unsuspected target in
+   configureHbrtHypIds
+-  `b221671e5 <https://github.com/open-power/hostboot/commit/b221671e5>`__ NVDIMM Erase error handle not working in IPL Arm handling
+-  `68ab1e874 <https://github.com/open-power/hostboot/commit/68ab1e874>`__ Prevent pre-3.0 level NVDIMMs from being in systems
+-  `e01fc4be9 <https://github.com/open-power/hostboot/commit/e01fc4be9>`__ NVDIMM update - Clear FW Ops Status verification
+-  `027b53647 <https://github.com/open-power/hostboot/commit/027b53647>`__ NVDIMM FW update region write retry
+-  `12f57c203 <https://github.com/open-power/hostboot/commit/12f57c203>`__ Slot check after firmware update
+-  `a50115980 <https://github.com/open-power/hostboot/commit/a50115980>`__ Remove excessive NVDIMM tracing from normal path
+-  `e22bb40fb <https://github.com/open-power/hostboot/commit/e22bb40fb>`__ Fix reporting eecache if no record specified
+-  `45cb27519 <https://github.com/open-power/hostboot/commit/45cb27519>`__ NVDIMM: Mask mbacalfir at the beginning of restore step
+   during mpipl
+-  `829e56fb1 <https://github.com/open-power/hostboot/commit/829e56fb1>`__ NVDIMM: Use block write for nvdimm update
+-  `a42605426 <https://github.com/open-power/hostboot/commit/a42605426>`__ NVDIMM: correct the RC for BLOCK write failure
+-  `d45a9393d <https://github.com/open-power/hostboot/commit/d45a9393d>`__ NVDIMM: poll for updated SET_EVENT_NOTIFICATION_STATUS in
+   nvdimmArm
+-  `fffe69ad3 <https://github.com/open-power/hostboot/commit/fffe69ad3>`__ Remove nvdimmAddVendorLog calls from checksum errors
+-  `820a09943 <https://github.com/open-power/hostboot/commit/820a09943>`__ NVDIMM update: retry all region failures
+-  `10a83636b <https://github.com/open-power/hostboot/commit/10a83636b>`__ Improvements to testing NVDIMM update path
+-  `e53402c0f <https://github.com/open-power/hostboot/commit/e53402c0f>`__ Explorer update hash fix
+-  `27e689c2f <https://github.com/open-power/hostboot/commit/27e689c2f>`__ Enable the inband Explorer update
+
+Matt K. Light (1):
+
+-  `da8e96ea0 <https://github.com/open-power/hostboot/commit/da8e96ea0>`__ remove relative path to p9_lpc_utils.H from
+   p9_collect_lpc_regs.C
+
+Matthew Hickman (13):
+
+-  `fd400b157 <https://github.com/open-power/hostboot/commit/fd400b157>`__ Added p9a memdiags implementation
+-  `4d3e1f11e <https://github.com/open-power/hostboot/commit/4d3e1f11e>`__ Added PRD Wrapper file for hwp invoke commands
+-  `afeaf784d <https://github.com/open-power/hostboot/commit/afeaf784d>`__ Fixed the ccs port merge conflicts and added lab code
+-  `d57798877 <https://github.com/open-power/hostboot/commit/d57798877>`__ Added error checking and handling to nvdimm ipl
+-  `d88e41a26 <https://github.com/open-power/hostboot/commit/d88e41a26>`__ Added fir unmasking after exp_scrub
+-  `9965b521f <https://github.com/open-power/hostboot/commit/9965b521f>`__ Added unmasking to exp_memdiags
+-  `abf673285 <https://github.com/open-power/hostboot/commit/abf673285>`__ Added blank files for mrs and row repair
+-  `0106eaa7d <https://github.com/open-power/hostboot/commit/0106eaa7d>`__ Added port of MRS engine to generic
+-  `6db3d460e <https://github.com/open-power/hostboot/commit/6db3d460e>`__ Added MRS attributes and MRS data handling for Explorer
+-  `5adf9d688 <https://github.com/open-power/hostboot/commit/5adf9d688>`__ Added blank files for mrs and row repair
+-  `470b8f500 <https://github.com/open-power/hostboot/commit/470b8f500>`__ Added port of MRS engine to generic
+-  `bbeb38c59 <https://github.com/open-power/hostboot/commit/bbeb38c59>`__ Added MRS attributes and MRS data handling for Explorer
+-  `cc7fb146a <https://github.com/open-power/hostboot/commit/cc7fb146a>`__ Added MRS attributes and MRS data handling for Explorer
+
+Matthew Raybuck (24):
+
+-  `44fe892dc <https://github.com/open-power/hostboot/commit/44fe892dc>`__ Add BPM utility scripts to support additional firmware
+   update requirements
+-  `72f32c4cb <https://github.com/open-power/hostboot/commit/72f32c4cb>`__ Update buildBpmFlashImages.pl to support configuration
+   data binary generation
+-  `f18f9f2d1 <https://github.com/open-power/hostboot/commit/f18f9f2d1>`__ Add BPM firmware update procedure
+-  `beeb7f5f9 <https://github.com/open-power/hostboot/commit/beeb7f5f9>`__ re-enable CRC generation for BPM firmware binary
+-  `0f0b7c641 <https://github.com/open-power/hostboot/commit/0f0b7c641>`__ Fix BPM flash image script to properly calculate line
+   length
+-  `c03117c7b <https://github.com/open-power/hostboot/commit/c03117c7b>`__ Add BPM config update procedure
+-  `5617bb84a <https://github.com/open-power/hostboot/commit/5617bb84a>`__ Add update verification and recovery procedures
+-  `3dc237792 <https://github.com/open-power/hostboot/commit/3dc237792>`__ Add error logs to BPM update procedure
+-  `3c440fe6d <https://github.com/open-power/hostboot/commit/3c440fe6d>`__ Add multiple error handling to BPM update procedure
+-  `56a3ce983 <https://github.com/open-power/hostboot/commit/56a3ce983>`__ Add code to run BPM update procedure from nvdimm_update.C
+-  `e28bd663f <https://github.com/open-power/hostboot/commit/e28bd663f>`__ Correct BPM update flow to match SMARTs flow
+-  `a2118008d <https://github.com/open-power/hostboot/commit/a2118008d>`__ Add attribute to force/skip BPM updates
+-  `0ea4fac25 <https://github.com/open-power/hostboot/commit/0ea4fac25>`__ Enable BPM Updates
+-  `deb984133 <https://github.com/open-power/hostboot/commit/deb984133>`__ Fix lingering error log issues for BPM updates
+-  `f609640a7 <https://github.com/open-power/hostboot/commit/f609640a7>`__ Add more FFDC to BPM Update Error logs
+-  `f88b6bc4a <https://github.com/open-power/hostboot/commit/f88b6bc4a>`__ BPM Updates: Extend the reset device wait to 15 seconds
+   from 10
+-  `25e1157f5 <https://github.com/open-power/hostboot/commit/25e1157f5>`__ Fix misleading trace output for BPM attribute overrides
+-  `d329c59bc <https://github.com/open-power/hostboot/commit/d329c59bc>`__ BPM Updates: Move NVDIMM controller reset and final fw
+   check to end of update
+-  `60fbee21b <https://github.com/open-power/hostboot/commit/60fbee21b>`__ Fix bad arguments to additional FFDC capture in BPM
+   Update code
+-  `fec74df97 <https://github.com/open-power/hostboot/commit/fec74df97>`__ Add a ReadMe to explain high level BPM Update Process
+-  `a2b260834 <https://github.com/open-power/hostboot/commit/a2b260834>`__ BPM Update Tweaks
+-  `ae388288d <https://github.com/open-power/hostboot/commit/ae388288d>`__ Add check to see if BPM is connected before attempting
+   Updates
+-  `7ddeb4d31 <https://github.com/open-power/hostboot/commit/7ddeb4d31>`__ Add 100ms wait to disable write protection for BPM
+-  `acdff8a39 <https://github.com/open-power/hostboot/commit/acdff8a39>`__ BPM: Bpm::issueCommand() fixes
+
+Maxim Polyakov (1):
+
+-  `e8665007c <https://github.com/open-power/hostboot/commit/e8665007c>`__ ipmidcmi: Get DCMI capabilities info to check PM support
+
+Megan (3):
+
+-  `845fb4492 <https://github.com/open-power/hostboot/commit/845fb4492>`__ Allow defining a partition with automatic starting offset
+-  `ade048149 <https://github.com/open-power/hostboot/commit/ade048149>`__ Alert when a partition’s space utilization exceeds a
+   threshold
+-  `1d4530dac <https://github.com/open-power/hostboot/commit/1d4530dac>`__ Implement Static Analysis with cppcheck
+
+Michael Baiocchi (1):
+
+-  `ed42128c7 <https://github.com/open-power/hostboot/commit/ed42128c7>`__ Revert “Terminate the IPL for Physical Presence Detection
+   Erros in Mnfg Mode”
+
+Michael Pardeik (3):
+
+-  `333d66b55 <https://github.com/open-power/hostboot/commit/333d66b55>`__ pmic status tool updates
+-  `fe09e7b9d <https://github.com/open-power/hostboot/commit/fe09e7b9d>`__ exp_mss_eff_config_thermal fixes
+-  `d0a45a3eb <https://github.com/open-power/hostboot/commit/d0a45a3eb>`__ pmic_status_tool updates
+
+Mike Baiocchi (15):
+
+-  `bcd6d6f29 <https://github.com/open-power/hostboot/commit/bcd6d6f29>`__ Secureboot: Enable verifying OPAL Payload before starting
+   instructions
+-  `de0e45306 <https://github.com/open-power/hostboot/commit/de0e45306>`__ Remove Forced Update of UCD Devices
+-  `1dbb91e5e <https://github.com/open-power/hostboot/commit/1dbb91e5e>`__ Add new Key Clear Request Attribute
+-  `eace166aa <https://github.com/open-power/hostboot/commit/eace166aa>`__ Support GPIO Physical Presence Detect Devices
+-  `35964668f <https://github.com/open-power/hostboot/commit/35964668f>`__ Add Physical Presence Check and Window Open Features
+-  `845513c74 <https://github.com/open-power/hostboot/commit/845513c74>`__ Move KEY_CLEAR_REQUEST attribute from node level to
+   system level
+-  `26554a3e5 <https://github.com/open-power/hostboot/commit/26554a3e5>`__ Move definition of TRACE_ERR_FMT and TRACE_ERR_ARGS
+-  `20b285f63 <https://github.com/open-power/hostboot/commit/20b285f63>`__ Add README.md files to the secureboot component
+-  `131e6e15f <https://github.com/open-power/hostboot/commit/131e6e15f>`__ Base support for Key Clear Requests (not enabled at this
+   time)
+-  `01b7ddff2 <https://github.com/open-power/hostboot/commit/01b7ddff2>`__ Enable Key Clear Requests for FSP Systems
+-  `a8368a4f4 <https://github.com/open-power/hostboot/commit/a8368a4f4>`__ Create CONFIG_NO_FAPI_TRACE to ignore all FAPI traces
+-  `14846f049 <https://github.com/open-power/hostboot/commit/14846f049>`__ Key Clear Request Sensor Support
+-  `74d68472d <https://github.com/open-power/hostboot/commit/74d68472d>`__ Terminate the IPL for Physical Presence Detection Erros
+   in Mnfg Mode
+-  `d4e588d22 <https://github.com/open-power/hostboot/commit/d4e588d22>`__ Skip UCD Updates on fips950
+-  `23374658f <https://github.com/open-power/hostboot/commit/23374658f>`__ Properly Commit Physical Presence Detection Error Logs
+
+Milton Miller (1):
+
+-  `f7dab51ab <https://github.com/open-power/hostboot/commit/f7dab51ab>`__ p9_tod_setup: always set edge doubling
+
+Murulidhar Nataraju (5):
+
+-  `4e5e486a1 <https://github.com/open-power/hostboot/commit/4e5e486a1>`__ Enable copying of architected registers for OPAL
+-  `39a6f147b <https://github.com/open-power/hostboot/commit/39a6f147b>`__ Update MPIPL Supported Bit
+-  `3dbe6a196 <https://github.com/open-power/hostboot/commit/3dbe6a196>`__ MPIPL: For PHYP based system replace spr/gpr numbers with
+   names
+-  `2ba85f05b <https://github.com/open-power/hostboot/commit/2ba85f05b>`__ MPIPL:Fix the condition for copyArchitectedRegs()
+-  `d348d7c2d <https://github.com/open-power/hostboot/commit/d348d7c2d>`__ MPIPL: ZZ-L, Update copyArchitectedRegs() for non-HW dump
+   flow
+
+Nico Fajardo (10):
+
+-  `1c830e13d <https://github.com/open-power/hostboot/commit/1c830e13d>`__ Add FAPI_ASSERT for unsupported SPD rank in RTT fetch
+-  `5616a5a99 <https://github.com/open-power/hostboot/commit/5616a5a99>`__ Adding blank exp_fir\* files and unmask unit test
+-  `43f41edb7 <https://github.com/open-power/hostboot/commit/43f41edb7>`__ Adding blank p9a fir folder and files
+-  `5318cf7e4 <https://github.com/open-power/hostboot/commit/5318cf7e4>`__ Porting repair_state class and related functions
+-  `596206610 <https://github.com/open-power/hostboot/commit/596206610>`__ Unmask after draminit and draminit_mc; cmd complete
+-  `7a7bd8440 <https://github.com/open-power/hostboot/commit/7a7bd8440>`__ host_mc_traits blank file commit for after_p9a_omi_init
+-  `8e19c8c4e <https://github.com/open-power/hostboot/commit/8e19c8c4e>`__ Adding after_p9a_omi_init.C and p9a-specific fir traits
+-  `9b510640b <https://github.com/open-power/hostboot/commit/9b510640b>`__ Adding after exp_omi_init unmask procedures and unit test
+-  `4991558f9 <https://github.com/open-power/hostboot/commit/4991558f9>`__ Adding unmasks after exp_scominit and unit test
+-  `9b6bd57a1 <https://github.com/open-power/hostboot/commit/9b6bd57a1>`__ exp draminit & draminit_mc phase 3 update for PRD logging
+
+Prasad Bg Ranganath (1):
+
+-  `f79d885bb <https://github.com/open-power/hostboot/commit/f79d885bb>`__ OCC firinit: Bug fix in reset path
+
+Prem Shanker Jha (4):
+
+-  `1adf7486a <https://github.com/open-power/hostboot/commit/1adf7486a>`__ PM: Modified FFDC to avoid corruption of RC in error
+   path.
+-  `a4f8acbeb <https://github.com/open-power/hostboot/commit/a4f8acbeb>`__ Img Build: Updated STOP API version to reflect SPR self
+   save availability.
+-  `6ab72d5c3 <https://github.com/open-power/hostboot/commit/6ab72d5c3>`__ STOP API: API to verify API and image compatibility.
+-  `af3984c4f <https://github.com/open-power/hostboot/commit/af3984c4f>`__ HWP: Fixed HV-UV and UV transition during STOP entry in
+   case of LE.
+
+Rahul Batra (1):
+
+-  `12fdf6499 <https://github.com/open-power/hostboot/commit/12fdf6499>`__ PM: Fix DB0 Hang
+
+Roland Veloz (13):
+
+-  `44c6d599b <https://github.com/open-power/hostboot/commit/44c6d599b>`__ Replaced invalid trace buffer with a valid one
+-  `eafe3e3d5 <https://github.com/open-power/hostboot/commit/eafe3e3d5>`__ Added support for checking on the health status of an
+   NVDIMM
+-  `86e12de69 <https://github.com/open-power/hostboot/commit/86e12de69>`__ Fix to not send a NVDIMM protection state change to OPAL
+-  `7e5007180 <https://github.com/open-power/hostboot/commit/7e5007180>`__ NVDIMM: Fix issue where a deviceRead of a register is
+   returning bad data
+-  `08db2d6a3 <https://github.com/open-power/hostboot/commit/08db2d6a3>`__ Increased the BMC timeout from 5 seconds to 30 seconds
+-  `7dce74704 <https://github.com/open-power/hostboot/commit/7dce74704>`__ Adding a routine to do the double to string conversion
+-  `96be9fd64 <https://github.com/open-power/hostboot/commit/96be9fd64>`__ In regards to health check errors, removed the software
+   callout
+-  `453670491 <https://github.com/open-power/hostboot/commit/453670491>`__ Updated the HBRT reserved trace buffer code to compensate
+   for relocation
+-  `153dcaa15 <https://github.com/open-power/hostboot/commit/153dcaa15>`__ Implement an HBRT interface to log a gard event from
+   PHYP/OPAL
+-  `c3d8cfd06 <https://github.com/open-power/hostboot/commit/c3d8cfd06>`__ Added code to support doing an NVM health check
+-  `fa1e0b136 <https://github.com/open-power/hostboot/commit/fa1e0b136>`__ Changed the callout in the call NVM Health Status to be
+   an NVDIMM
+-  `532e4d358 <https://github.com/open-power/hostboot/commit/532e4d358>`__ ffdcExpander bash utility tool, written for December,
+   2019 Hackathon
+-  `1559c893b <https://github.com/open-power/hostboot/commit/1559c893b>`__ The HOMER address is colliding with an NVDIMM address and
+   should not
+
+Ryan Black (3):
+
+-  `77ab77a26 <https://github.com/open-power/hostboot/commit/77ab77a26>`__ Mask NPU2FIR bits 15/16 & let consumer of SUE report/act
+   on error
+-  `6b24abd70 <https://github.com/open-power/hostboot/commit/6b24abd70>`__ unit xstop npu firs/sys xstop ocapi firs -> recoverable
+   with fence
+-  `f70454687 <https://github.com/open-power/hostboot/commit/f70454687>`__ set OTL Err Rpt Mask Reg 0 bit 21, OTL TX ECC UE on CQ
+   buffer read data.
+
+Sheng-Hao Huang (1):
+
+-  `0571992d6 <https://github.com/open-power/hostboot/commit/0571992d6>`__ for defect number HW476620
+
+Sneha Kadam (1):
+
+-  `3eaf02929 <https://github.com/open-power/hostboot/commit/3eaf02929>`__ Renamed MCBIST subtest to clarify the test
+
+Stephen Glancy (35):
+
+-  `de35db8a7 <https://github.com/open-power/hostboot/commit/de35db8a7>`__ Fixes MCBIST ecc/spare data pattern bug
+-  `0978a1a32 <https://github.com/open-power/hostboot/commit/0978a1a32>`__ Adds lab MCBIST compare masking functionality
+-  `1552e3875 <https://github.com/open-power/hostboot/commit/1552e3875>`__ Adds MCBIST beat/byte signature data patterns
+-  `4a69b7534 <https://github.com/open-power/hostboot/commit/4a69b7534>`__ Adds LRDIMM shadow register workaround
+-  `5e8d01aad <https://github.com/open-power/hostboot/commit/5e8d01aad>`__ Adds blank files for ecc traps and fwms addresses
+-  `15b0afe89 <https://github.com/open-power/hostboot/commit/15b0afe89>`__ Moves ecc::trap_address and fwms::address to new files
+-  `0d1f65bf2 <https://github.com/open-power/hostboot/commit/0d1f65bf2>`__ Adds explorer MCBIST address/data traps processing
+-  `cfad3552a <https://github.com/open-power/hostboot/commit/cfad3552a>`__ Fixes maintenance pattern load bug
+-  `3048b4b16 <https://github.com/open-power/hostboot/commit/3048b4b16>`__ Updates RDTAG for NVDIMM at 2400
+-  `67fcaa2aa <https://github.com/open-power/hostboot/commit/67fcaa2aa>`__ Adds explorer primary_ranks function for sf_init
+-  `7b8bfcc23 <https://github.com/open-power/hostboot/commit/7b8bfcc23>`__ Adds NVDIMM RD DQ delay workaround
+-  `4f1f71a47 <https://github.com/open-power/hostboot/commit/4f1f71a47>`__ Adds power control access functions for NVDIMM
+-  `2a3012ab7 <https://github.com/open-power/hostboot/commit/2a3012ab7>`__ Updates exp access delay regs to set delays
+-  `5d5d91e2f <https://github.com/open-power/hostboot/commit/5d5d91e2f>`__ Adds explorer shmoo traits
+-  `a95709f74 <https://github.com/open-power/hostboot/commit/a95709f74>`__ Adds explorer exerciser MCBIST for shmoo
+-  `7148b00bf <https://github.com/open-power/hostboot/commit/7148b00bf>`__ Fixes explorer accessor bugs
+-  `ca56ad521 <https://github.com/open-power/hostboot/commit/ca56ad521>`__ Adds eff config blank workaround files
+-  `50b0357dd <https://github.com/open-power/hostboot/commit/50b0357dd>`__ Adds NVDIMM RCW drive strength workaround
+-  `78426ddee <https://github.com/open-power/hostboot/commit/78426ddee>`__ Disables broadcast mode in memdiags::continue_cmd
+-  `f96eba016 <https://github.com/open-power/hostboot/commit/f96eba016>`__ Adds explorer RD VREF to access delay regs
+-  `d277b5e5d <https://github.com/open-power/hostboot/commit/d277b5e5d>`__ Adds explorer CAC shmoo
+-  `5b24dd1c6 <https://github.com/open-power/hostboot/commit/5b24dd1c6>`__ Updates MCBIST print statements
+-  `9431cc09d <https://github.com/open-power/hostboot/commit/9431cc09d>`__ Fixes MCBIST lab random addressing bug
+-  `aae5b3e33 <https://github.com/open-power/hostboot/commit/aae5b3e33>`__ Fixes explorer FIR check to preserve bad RC
+-  `7ed4ddefa <https://github.com/open-power/hostboot/commit/7ed4ddefa>`__ Fixes MCBIST lab DIMM select configuration
+-  `c5263088b <https://github.com/open-power/hostboot/commit/c5263088b>`__ Updates MMIO to use FAPI_DBG
+-  `97fc5523b <https://github.com/open-power/hostboot/commit/97fc5523b>`__ Adds MCBIST functional verification tests
+-  `f6336baa2 <https://github.com/open-power/hostboot/commit/f6336baa2>`__ Updates centaur initfiles for 16Gb
+-  `28614a19e <https://github.com/open-power/hostboot/commit/28614a19e>`__ Adds Centaur MCBIST 16Gb support
+-  `5f5573b5b <https://github.com/open-power/hostboot/commit/5f5573b5b>`__ Adds utility to read explorer delay tap size
+-  `2ff0e4392 <https://github.com/open-power/hostboot/commit/2ff0e4392>`__ Adds 16Gb support to centaur maintenance engine
+-  `151a9b61a <https://github.com/open-power/hostboot/commit/151a9b61a>`__ Add blankfiles for explorer MRS specialization
+-  `085223bff <https://github.com/open-power/hostboot/commit/085223bff>`__ Disables explorer low power mode for CCS
+-  `11793f86a <https://github.com/open-power/hostboot/commit/11793f86a>`__ Fixes galois out of bounds bug
+-  `a9774d7ae <https://github.com/open-power/hostboot/commit/a9774d7ae>`__ Updates WR VREF accessors to be generic
+
+Steven Janssen (3):
+
+-  `1be056a58 <https://github.com/open-power/hostboot/commit/1be056a58>`__ Update pmic header files
+-  `43fbaa4a3 <https://github.com/open-power/hostboot/commit/43fbaa4a3>`__ Fix library dependancy
+-  `8ea9d8d3d <https://github.com/open-power/hostboot/commit/8ea9d8d3d>`__ update include path to resolve compiler warning in cronus
+
+Stewart Smith (1):
+
+-  `ba9db9d33 <https://github.com/open-power/hostboot/commit/ba9db9d33>`__ memd_creation.pl: glob on \*.rvpd to allow README in
+   memd_binaries
+
+Sumit Kumar (1):
+
+-  `f1074af21 <https://github.com/open-power/hostboot/commit/f1074af21>`__ Fapi_Infra:Add new member to structure ErrorInfoCDG
+
+Sunil Kumar (1):
+
+-  `6b0389447 <https://github.com/open-power/hostboot/commit/6b0389447>`__ OCMB changes to suit PPE compilation.
+
+Thi Tran (3):
+
+-  `bf2951c9b <https://github.com/open-power/hostboot/commit/bf2951c9b>`__ Fix HTM trace setup problem
+-  `b3047ddb1 <https://github.com/open-power/hostboot/commit/b3047ddb1>`__ Fix bug injected by
+   https://rchgit01.rchland.ibm.com/gerrit1/#/c/82196/
+-  `599bd468c <https://github.com/open-power/hostboot/commit/599bd468c>`__ Fix OCC sandbox base address overlapped with SMF in FLIP
+   mode.
+
+Tsung Yeung (12):
+
+-  `533e20087 <https://github.com/open-power/hostboot/commit/533e20087>`__ Stop mcbist during nvdimm restore to prevent broadcast
+   out of sync
+-  `8cc600d32 <https://github.com/open-power/hostboot/commit/8cc600d32>`__ Re-order NVDIMM MRS restore sequence to comply with Jedec
+   spec
+-  `d97b70655 <https://github.com/open-power/hostboot/commit/d97b70655>`__ Invalidate BAR during MPIPL NVDIMM restore
+-  `b94854d1f <https://github.com/open-power/hostboot/commit/b94854d1f>`__ Fix restore fail due to restore attempt on empty flash
+-  `80f6d1dc0 <https://github.com/open-power/hostboot/commit/80f6d1dc0>`__ Replaces nvdimmWrite() to reset controller with
+   nvdimmResetController()
+-  `c7a3665d1 <https://github.com/open-power/hostboot/commit/c7a3665d1>`__ Double the NVDIMM_READY timeout to prevent erroneous
+   error
+-  `34f119b59 <https://github.com/open-power/hostboot/commit/34f119b59>`__ Add nvdimm arm retry logic in case of glitches
+-  `3f41702fb <https://github.com/open-power/hostboot/commit/3f41702fb>`__ Replaces NVDIMM flush sequence with CCS
+-  `be49aca6d <https://github.com/open-power/hostboot/commit/be49aca6d>`__ Improper element erase during loop causing post-restore
+   being skipped on nvdimm
+-  `7ef7ab2d8 <https://github.com/open-power/hostboot/commit/7ef7ab2d8>`__ Updates RD_VREF CMD_PRECEDE_TIME for 16GB NVDIMM
+-  `75798874c <https://github.com/open-power/hostboot/commit/75798874c>`__ Set ES policy before setting nvdimm thresholds
+-  `f198534f2 <https://github.com/open-power/hostboot/commit/f198534f2>`__ Do not deconfig on nvdimm erase fail
+
+Vasant Hegde (2):
+
+-  `76571f381 <https://github.com/open-power/hostboot/commit/76571f381>`__ MPIPL: Copy all SBE data to hypervisor memory
+-  `ae8ef5dfe <https://github.com/open-power/hostboot/commit/ae8ef5dfe>`__ MPIPL: Make sure destination size does not cross 32GB
+
+Zach Clark (6):
+
+-  `5091387d6 <https://github.com/open-power/hostboot/commit/5091387d6>`__ Cache objdump output for build performance
+-  `af5c391af <https://github.com/open-power/hostboot/commit/af5c391af>`__ Fix GCOV build errors for AXONE configuration
+-  `62c252e5b <https://github.com/open-power/hostboot/commit/62c252e5b>`__ Fix race condition in BufferPage allocation function
+-  `19f75b84d <https://github.com/open-power/hostboot/commit/19f75b84d>`__ Make snprintf always terminate the output buffer
+-  `a50e4ddfe <https://github.com/open-power/hostboot/commit/a50e4ddfe>`__ Add register file dump to kernel backtrace printout for
+   crashed tasks
+-  `60210d3dd <https://github.com/open-power/hostboot/commit/60210d3dd>`__ Fix bug in crash handler register dump
+
+Zane Shelley (11):
+
+-  `9eaf71aa2 <https://github.com/open-power/hostboot/commit/9eaf71aa2>`__ PRD: disable mask/clear for SMP failures on FSP
+-  `2870f766e <https://github.com/open-power/hostboot/commit/2870f766e>`__ PRD: Temp fix to ignore lane repair attns in OpenCAPI
+   mode
+-  `b4074ba8d <https://github.com/open-power/hostboot/commit/b4074ba8d>`__ PRD: removed unused MopRegisterAccess code
+-  `69ad22663 <https://github.com/open-power/hostboot/commit/69ad22663>`__ PRD: removed redundant header iipbits.h
+-  `e32c176c5 <https://github.com/open-power/hostboot/commit/e32c176c5>`__ PRD: fix OBUS workaround for non-SMP mode
+-  `1db43a814 <https://github.com/open-power/hostboot/commit/1db43a814>`__ PRD: updates to IOOLFIR based on recent OpenCAPI FIR
+   review
+-  `d94c2cb45 <https://github.com/open-power/hostboot/commit/d94c2cb45>`__ PRD: add virtual destructor to ScomRegister class
+-  `f3f0a8ff4 <https://github.com/open-power/hostboot/commit/f3f0a8ff4>`__ PRD: fix Explorer FSI address workaround in FIRDATA code
+-  `a23e7f84b <https://github.com/open-power/hostboot/commit/a23e7f84b>`__ PRD: boolean logic error in Axone chnl fail code
+-  `1e1c8039a <https://github.com/open-power/hostboot/commit/1e1c8039a>`__ Fixed portabiliy issue in pre-commit hook
+-  `b684d89ee <https://github.com/open-power/hostboot/commit/b684d89ee>`__ Minor fixes to addCopyright and pre-commit hooks
+
+lixg (1):
+
+-  `ba790597a <https://github.com/open-power/hostboot/commit/ba790597a>`__ Verify manufacture date (MB) from PVPD before using
+
+manichow (1):
+
+-  `d1797443d <https://github.com/open-power/hostboot/commit/d1797443d>`__ Quiesce procedure for NPU serving openCapi links
+
+rblack (1):
+
+-  `8407dc2cc <https://github.com/open-power/hostboot/commit/8407dc2cc>`__ Speculative patch for NYU ATR timeouts update.
+
+Package: nicole-xml
+-------------------
+
+`Repository <https://github.com/open-power/nicole-xml>`__
+
+.. _patches-6:
+
+Patches
+~~~~~~~
+
+.. _commits-6:
+
+Commits
+~~~~~~~
+
+Artem Senichev (3):
+
+-  `ad9f0ab <https://github.com/open-power/nicole-xml/commit/ad9f0ab>`__ Set XBus frequency to default value (2000MHz)
+-  `c592dee <https://github.com/open-power/nicole-xml/commit/c592dee>`__ Add WOF table for POWER9 Sforza module
+-  `1ac78dd <https://github.com/open-power/nicole-xml/commit/1ac78dd>`__ Add WOF table for POWER9 Sforza module
+
+Package: occ
+------------
+
+`Repository <https://github.com/open-power/occ>`__
+
+.. _patches-7:
+
+Patches
+~~~~~~~
+
+.. _commits-7:
+
+Commits
+~~~~~~~
+
+Caleb Palmer (1):
+
+-  `bae814c <https://github.com/open-power/occ/commit/bae814c>`__ NPU target SCOM translation non-instance 0 fix
+
+Chris Cain (5):
+
+-  `b230076 <https://github.com/open-power/occ/commit/b230076>`__ Pick up latest pgpe elog structure
+-  `5c32e77 <https://github.com/open-power/occ/commit/5c32e77>`__ NVDIMM: Invalidate MCFGP facility at start of procedure
+-  `e4597ab <https://github.com/open-power/occ/commit/e4597ab>`__ Ignore IPMI_SMS_ATN during fir data collection and remove 8k
+   buffer
+-  `3ab2921 <https://github.com/open-power/occ/commit/3ab2921>`__ FIR data collection updates
+-  `1bf0c8c <https://github.com/open-power/occ/commit/1bf0c8c>`__ Minor updates to occtoolp9
+
+Douglas Gilbert (2):
+
+-  `0ac1770 <https://github.com/open-power/occ/commit/0ac1770>`__ P9a GPE support for up to 16 OCMBs
+-  `e11f3af <https://github.com/open-power/occ/commit/e11f3af>`__ OCMB sensor enabled fix
+
+Sumit Kumar (1):
+
+-  `8d4e7fa <https://github.com/open-power/occ/commit/8d4e7fa>`__ Corrected Alink scom address in PMU_CONFIGS_16
+
+William Bryan (1):
+
+-  `8a315b7 <https://github.com/open-power/occ/commit/8a315b7>`__ Remove unused sensors to free up needed SRAM space
+
+joy_chu (1):
+
+-  `1e8731f <https://github.com/open-power/occ/commit/1e8731f>`__ Modify: modify amec power sensor calculation
+
+mbroyles (6):
+
+-  `e447be8 <https://github.com/open-power/occ/commit/e447be8>`__ Delete debug sensors to save SRAM
+-  `8bbfabe <https://github.com/open-power/occ/commit/8bbfabe>`__ New WOF sensor for final adjusted Ceff Ratio Vdd
+-  `d467852 <https://github.com/open-power/occ/commit/d467852>`__ Fix incorrect hw callout in Centaur DIMM OT errors
+-  `7888141 <https://github.com/open-power/occ/commit/7888141>`__ Support for 16 OCMBs
+-  `e3c65ee <https://github.com/open-power/occ/commit/e3c65ee>`__ Explorer internal sensor workaround
+-  `ab4dc96 <https://github.com/open-power/occ/commit/ab4dc96>`__ Fix Vdd ceff ratio calculation when active cores is less than sort
+   cores
+
+Package: op-build
+-----------------
+
+`Repository <https://github.com/open-power/op-build>`__
+
+.. _patches-8:
+
+Patches
+~~~~~~~
+
+.. _commits-8:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: p8dtu-xml
+------------------
+
+`Repository <https://github.com/open-power/p8dtu-xml>`__
+
+.. _patches-9:
+
+Patches
+~~~~~~~
+
+.. _commits-9:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: p9dsu-xml
+------------------
+
+`Repository <https://github.com/open-power/p9dsu-xml>`__
+
+.. _patches-10:
+
+Patches
+~~~~~~~
+
+.. _commits-10:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: palmetto-xml
+---------------------
+
+`Repository <https://github.com/open-power/palmetto-xml>`__
+
+.. _patches-11:
+
+Patches
+~~~~~~~
+
+.. _commits-11:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: petitboot
+------------------
+
+`Repository <https://github.com/open-power/petitboot>`__
+
+.. _patches-12:
+
+Patches
+~~~~~~~
+
+.. _commits-12:
+
+Commits
+~~~~~~~
+
+Jeremy Kerr (26):
+
+-  `514a9a1 <https://github.com/open-power/petitboot/commit/514a9a1>`__ pb-console: start shell as a login shell
+-  `6f23e17 <https://github.com/open-power/petitboot/commit/6f23e17>`__ pb-console: don’t modify PATH unless it’s empty
+-  `e558da1 <https://github.com/open-power/petitboot/commit/e558da1>`__ discover/grub2: ‘search’ set-variable defaults to root
+-  `61ede5e <https://github.com/open-power/petitboot/commit/61ede5e>`__ discover/grub2: Use getopt for ``search`` argument parsing
+-  `76e97c5 <https://github.com/open-power/petitboot/commit/76e97c5>`__ discover/grub2: test for (ignored) –no-floppy argument
+-  `1580c65 <https://github.com/open-power/petitboot/commit/1580c65>`__ discover/grub2: Add support for UUID and label for ‘search’
+   command
+-  `8cb74c4 <https://github.com/open-power/petitboot/commit/8cb74c4>`__ discover/grub2: expose a struct for grub2 file references
+-  `51f7117 <https://github.com/open-power/petitboot/commit/51f7117>`__ discover/grub2: Add parsing code for grub2 file specifiers
+-  `9fc2ac6 <https://github.com/open-power/petitboot/commit/9fc2ac6>`__ discover/grub2: add support for grub2-style path specifiers
+   in resources
+-  `b224457 <https://github.com/open-power/petitboot/commit/b224457>`__ discover/grub2: Allow (device)/path references in general
+   script usage
+-  `a9a9d57 <https://github.com/open-power/petitboot/commit/a9a9d57>`__ discover/grub2: Add a reference from script to parser
+-  `2c132eb <https://github.com/open-power/petitboot/commit/2c132eb>`__ discover/grub2: expose internal parse function
+-  `9711179 <https://github.com/open-power/petitboot/commit/9711179>`__ discover/grub2: make statements_execute non-static
+-  `967cfa7 <https://github.com/open-power/petitboot/commit/967cfa7>`__ discover/grub2: implement ‘source’ command
+-  `1ef95c2 <https://github.com/open-power/petitboot/commit/1ef95c2>`__ test/parser: Add test for recent RHCOS grub2 config
+-  `057dce2 <https://github.com/open-power/petitboot/commit/057dce2>`__ test/parser: Add RHEL8 grub config test
+-  `6ee9cbc <https://github.com/open-power/petitboot/commit/6ee9cbc>`__ lib/pb-protocol: fix ordering of system info length
+   calculation
+-  `b2e5a7b <https://github.com/open-power/petitboot/commit/b2e5a7b>`__ lib/types: consolidate struct system_info layout with
+   serialised version
+-  `aa2d71a <https://github.com/open-power/petitboot/commit/aa2d71a>`__ protocol,types: Add secure & trusted boot state to system
+   info
+-  `05d9b9b <https://github.com/open-power/petitboot/commit/05d9b9b>`__ discover/powerpc: detect secureboot enforcing mode
+-  `e9340b7 <https://github.com/open-power/petitboot/commit/e9340b7>`__ ui/ncurses: Add secure & trusted boot status
+-  `2f6259d <https://github.com/open-power/petitboot/commit/2f6259d>`__ discover/boot: add support for ``kexec -s`` for
+   kexec_file_load
+-  `059cc51 <https://github.com/open-power/petitboot/commit/059cc51>`__ discover/boot: unify verification failure messages
+-  `9383652 <https://github.com/open-power/petitboot/commit/9383652>`__ Remove unused ‘s’ file
+-  `9cf513f <https://github.com/open-power/petitboot/commit/9cf513f>`__ docker: build petitboot outside of the source dir
+-  `0ed84c0 <https://github.com/open-power/petitboot/commit/0ed84c0>`__ test/parser: Add rhel8 test data to check_DATA
+
+Maxim Polyakov (5):
+
+-  `43813e6 <https://github.com/open-power/petitboot/commit/43813e6>`__ discover/platform-powerpc: add missing mbox block selector
+-  `1088a8a <https://github.com/open-power/petitboot/commit/1088a8a>`__ discover/platform-powerpc: limit mailbox response size
+-  `5f8321e <https://github.com/open-power/petitboot/commit/5f8321e>`__ discover/platform-powerpc: return the actual mailbox size
+-  `eb027e7 <https://github.com/open-power/petitboot/commit/eb027e7>`__ discover/platform-powerpc: add mailbox message structure
+-  `3c818a2 <https://github.com/open-power/petitboot/commit/3c818a2>`__ discover/platform-powerpc: don’t copy IANA from mbox to
+   buffer
+
+Maxiwell S. Garcia (4):
+
+-  `827a7af <https://github.com/open-power/petitboot/commit/827a7af>`__ configure: Add libelf as a requirement
+-  `0c07402 <https://github.com/open-power/petitboot/commit/0c07402>`__ discover: Add helper functions to read ELF notes
+-  `3513c7f <https://github.com/open-power/petitboot/commit/3513c7f>`__ ui/ncurses: Add preboot check option in the config screen
+-  `7b108df <https://github.com/open-power/petitboot/commit/7b108df>`__ discover: Check if the kernel image has Ultravisor support
+
+Package: pnor
+-------------
+
+`Repository <https://github.com/open-power/pnor>`__
+
+.. _patches-13:
+
+Patches
+~~~~~~~
+
+.. _commits-13:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: romulus-xml
+--------------------
+
+`Repository <https://github.com/open-power/romulus-xml>`__
+
+.. _patches-14:
+
+Patches
+~~~~~~~
+
+.. _commits-14:
+
+Commits
+~~~~~~~
+
+Nickolaus Gruendler (1):
+
+-  `5b3fbca <https://github.com/open-power/romulus-xml/commit/5b3fbca>`__ Update to ATTR_MSS_VPD_MR_DPHY_RLO for 2400 speed
+
+Package: sbe
+------------
+
+`Repository <https://github.com/open-power/sbe>`__
+
+.. _patches-15:
+
+Patches
+~~~~~~~
+
+.. _commits-15:
+
+Commits
+~~~~~~~
+
+Adam Hale (5):
+
+-  `70858c2e <https://github.com/open-power/sbe/commit/70858c2e>`__ temporary mc inits to enable wider team
+-  `51a69f51 <https://github.com/open-power/sbe/commit/51a69f51>`__ Move to long term CLSCOM workaround
+-  `38af071c <https://github.com/open-power/sbe/commit/38af071c>`__ Axone setup changes to disable bumpy toothpaste workaround
+-  `94f9bc2a <https://github.com/open-power/sbe/commit/94f9bc2a>`__ Axone Gemini MDI issue workaround
+-  `3225e80a <https://github.com/open-power/sbe/commit/3225e80a>`__ Axone int updates
+
+Alvin Wang (13):
+
+-  `518a1b2f <https://github.com/open-power/sbe/commit/518a1b2f>`__ Adds exp_draminit_mc
+-  `9f94a4f1 <https://github.com/open-power/sbe/commit/9f94a4f1>`__ Reinstates exp_draminit_mc with change_addr_mux_sel fix
+-  `a19089ef <https://github.com/open-power/sbe/commit/a19089ef>`__ Move MCBIST lib to generic folder
+-  `37a8bf54 <https://github.com/open-power/sbe/commit/37a8bf54>`__ Move the mcbist lab library to generic folder
+-  `73c86947 <https://github.com/open-power/sbe/commit/73c86947>`__ Move power_thermal lib to generic
+-  `2932b6fa <https://github.com/open-power/sbe/commit/2932b6fa>`__ Update setup_fw_boot_config() to read out actual values from
+   attributes
+-  `180d29ec <https://github.com/open-power/sbe/commit/180d29ec>`__ Adds exp_draminit_mc
+-  `d48d771b <https://github.com/open-power/sbe/commit/d48d771b>`__ Reinstates exp_draminit_mc with change_addr_mux_sel fix
+-  `eb69df41 <https://github.com/open-power/sbe/commit/eb69df41>`__ Move MCBIST lib to generic folder
+-  `54d02bc2 <https://github.com/open-power/sbe/commit/54d02bc2>`__ Move power_thermal lib to generic
+-  `cee5767f <https://github.com/open-power/sbe/commit/cee5767f>`__ Move the mcbist lab library to generic folder
+-  `61979222 <https://github.com/open-power/sbe/commit/61979222>`__ Adds empty files for exp_draminit_mc and p9a_omi_train
+-  `0bb6050f <https://github.com/open-power/sbe/commit/0bb6050f>`__ Adds p9a_omi_train procedure(START)
+
+Andre A. Marin (10):
+
+-  `e1257e44 <https://github.com/open-power/sbe/commit/e1257e44>`__ Fix c_str and pos DIMM specialization
+-  `20805cd4 <https://github.com/open-power/sbe/commit/20805cd4>`__ Add mem_size and misc attrs, unit tests enable
+-  `a17eb3a5 <https://github.com/open-power/sbe/commit/a17eb3a5>`__ Fix c_str and pos DIMM specialization
+-  `253e6fcf <https://github.com/open-power/sbe/commit/253e6fcf>`__ Add mem_size and misc attrs, unit tests enable
+-  `d6698496 <https://github.com/open-power/sbe/commit/d6698496>`__ Clean up PPE character format and target
+-  `0a776030 <https://github.com/open-power/sbe/commit/0a776030>`__ Add unit tests for mss field_t and macro def
+-  `2dd4b6bd <https://github.com/open-power/sbe/commit/2dd4b6bd>`__ Add bounds check API to generic_check library
+-  `ebcc0c09 <https://github.com/open-power/sbe/commit/ebcc0c09>`__ Add supported_rcd attribute from SPD + tests
+-  `81d3ad9c <https://github.com/open-power/sbe/commit/81d3ad9c>`__ Update index_within_bounds() API
+-  `ceefc24e <https://github.com/open-power/sbe/commit/ceefc24e>`__ Add explorer rc response to eff_config
+
+Andre Marin (37):
+
+-  `730e7a76 <https://github.com/open-power/sbe/commit/730e7a76>`__ Add empty files for refactored SPD read API
+-  `71405bb5 <https://github.com/open-power/sbe/commit/71405bb5>`__ Add SPD reader and traits DDR4 def
+-  `6a0ab353 <https://github.com/open-power/sbe/commit/6a0ab353>`__ Add empty explorer “check_for_ready” procedure files
+-  `d3a9c6e7 <https://github.com/open-power/sbe/commit/d3a9c6e7>`__ Add empty memory explorer error XML
+-  `08f9043a <https://github.com/open-power/sbe/commit/08f9043a>`__ Add empty mss_byte.H and mss_generic_check to ease HB mirroring
+-  `35af1e35 <https://github.com/open-power/sbe/commit/35af1e35>`__ Remove Nimbus dependencies from the SPD decoder
+-  `50a5bf7b <https://github.com/open-power/sbe/commit/50a5bf7b>`__ Add emtpy exp_i2c_fields.H file for mirroring
+-  `e454167d <https://github.com/open-power/sbe/commit/e454167d>`__ Generalize byte reading from SPD reading, for exp i2c reuse
+-  `adc384e6 <https://github.com/open-power/sbe/commit/adc384e6>`__ Added I2C fields, EXP_FW_STATUS API
+-  `2d3e83ab <https://github.com/open-power/sbe/commit/2d3e83ab>`__ Implement exp_check_for_ready
+-  `09a9a40d <https://github.com/open-power/sbe/commit/09a9a40d>`__ Initial mss_field endian modification
+-  `e66830b6 <https://github.com/open-power/sbe/commit/e66830b6>`__ Add exp_draminit and fix data_structs constants
+-  `0f8b9522 <https://github.com/open-power/sbe/commit/0f8b9522>`__ Add L1 for p9a_mss_bulk_pwr_throttles and
+   p9a_mss_utils_to_throttle
+-  `4338c9db <https://github.com/open-power/sbe/commit/4338c9db>`__ Generalize set fields in pre_data_init
+-  `63dc7cda <https://github.com/open-power/sbe/commit/63dc7cda>`__ Add SPD DDIMM DDR4 module except for PMIC fields
+-  `2edbcc69 <https://github.com/open-power/sbe/commit/2edbcc69>`__ Add attribute engine algorithm for eff_config and pre_eff_config
+-  `052f732f <https://github.com/open-power/sbe/commit/052f732f>`__ Fix HB error with -Os compile flag due to eff_config
+-  `3366f35e <https://github.com/open-power/sbe/commit/3366f35e>`__ Add missing attributes needed to be set for generic mss_kind
+-  `bbbee5d9 <https://github.com/open-power/sbe/commit/bbbee5d9>`__ Add empty files for refactored SPD read API
+-  `c4942627 <https://github.com/open-power/sbe/commit/c4942627>`__ Add SPD reader and traits DDR4 def
+-  `4c69aba1 <https://github.com/open-power/sbe/commit/4c69aba1>`__ Add empty explorer “check_for_ready” procedure files
+-  `646a51c8 <https://github.com/open-power/sbe/commit/646a51c8>`__ Add empty memory explorer error XML
+-  `119f2896 <https://github.com/open-power/sbe/commit/119f2896>`__ Add empty mss_byte.H and mss_generic_check to ease HB mirroring
+-  `59a5245f <https://github.com/open-power/sbe/commit/59a5245f>`__ Remove Nimbus dependencies from the SPD decoder
+-  `c0f3e0a8 <https://github.com/open-power/sbe/commit/c0f3e0a8>`__ Add emtpy exp_i2c_fields.H file for mirroring
+-  `d74733f0 <https://github.com/open-power/sbe/commit/d74733f0>`__ Generalize byte reading from SPD reading, for exp i2c reuse
+-  `17441d0b <https://github.com/open-power/sbe/commit/17441d0b>`__ Added I2C fields, EXP_FW_STATUS API
+-  `f52536b5 <https://github.com/open-power/sbe/commit/f52536b5>`__ Implement exp_check_for_ready
+-  `ad9f7963 <https://github.com/open-power/sbe/commit/ad9f7963>`__ Initial mss_field endian modification
+-  `82fbc51a <https://github.com/open-power/sbe/commit/82fbc51a>`__ Add exp_draminit and fix data_structs constants
+-  `0248d119 <https://github.com/open-power/sbe/commit/0248d119>`__ Generalize set fields in pre_data_init
+-  `13e163d1 <https://github.com/open-power/sbe/commit/13e163d1>`__ Add SPD DDIMM DDR4 module except for PMIC fields
+-  `0f79843b <https://github.com/open-power/sbe/commit/0f79843b>`__ Add L1 for p9a_mss_bulk_pwr_throttles and
+   p9a_mss_utils_to_throttle
+-  `0a037363 <https://github.com/open-power/sbe/commit/0a037363>`__ Add attribute engine algorithm for eff_config and pre_eff_config
+-  `ab24d311 <https://github.com/open-power/sbe/commit/ab24d311>`__ Fix HB error with -Os compile flag due to eff_config
+-  `d2f662b2 <https://github.com/open-power/sbe/commit/d2f662b2>`__ Add missing attributes needed to be set for generic mss_kind
+-  `1e5e13ce <https://github.com/open-power/sbe/commit/1e5e13ce>`__ Clean up for p10 porting dependency errors
+
+Ben Gass (6):
+
+-  `0a616016 <https://github.com/open-power/sbe/commit/0a616016>`__ Adding p9a_get/put_mmio and explorer_inband
+-  `3c6ffc5b <https://github.com/open-power/sbe/commit/3c6ffc5b>`__ Update cmd/rsp endian handling in exp_inband
+-  `201278b9 <https://github.com/open-power/sbe/commit/201278b9>`__ Adding p9a_get/put_mmio and explorer_inband
+-  `52715d66 <https://github.com/open-power/sbe/commit/52715d66>`__ Update cmd/rsp endian handling in exp_inband
+-  `db05b035 <https://github.com/open-power/sbe/commit/db05b035>`__ Adding Axone register header files.
+-  `dfae3a84 <https://github.com/open-power/sbe/commit/dfae3a84>`__ Update p9_mss_eff_grouping for Axone support
+
+Bradley Pepper (1):
+
+-  `547f0a27 <https://github.com/open-power/sbe/commit/547f0a27>`__ Adds plug rule for dependent DIMM slots on Swift
+
+Chris Steffen (1):
+
+-  `6d59ceee <https://github.com/open-power/sbe/commit/6d59ceee>`__ P9A Tx Fifo Init + Init Settings Update
+
+Christian Geddes (13):
+
+-  `5df3896a <https://github.com/open-power/sbe/commit/5df3896a>`__ Add exp_i2c_scom driver that will be consumed by HB/SBE
+   platforms
+-  `4da70777 <https://github.com/open-power/sbe/commit/4da70777>`__ Add forceBE option to endian_utils.H
+-  `07684ec0 <https://github.com/open-power/sbe/commit/07684ec0>`__ Update i2c driver for OCMB chip
+-  `117e3fb9 <https://github.com/open-power/sbe/commit/117e3fb9>`__ Make some FAPI_INF traces that are spamming FW logs into
+   FAPI_DBG
+-  `226899a2 <https://github.com/open-power/sbe/commit/226899a2>`__ Add exp_i2c_scom driver that will be consumed by HB/SBE
+   platforms
+-  `f8a9eff2 <https://github.com/open-power/sbe/commit/f8a9eff2>`__ Add forceBE option to endian_utils.H
+-  `c3b35f40 <https://github.com/open-power/sbe/commit/c3b35f40>`__ Update i2c driver for OCMB chip
+-  `bfe4eb7d <https://github.com/open-power/sbe/commit/bfe4eb7d>`__ Make some FAPI_INF traces that are spamming FW logs into
+   FAPI_DBG
+-  `aa9068ab <https://github.com/open-power/sbe/commit/aa9068ab>`__ Account for OMI technology in initial mcs setup for Axone
+-  `793283f0 <https://github.com/open-power/sbe/commit/793283f0>`__ Update ocmb i2c driver to send address in read command sequence
+-  `50895b93 <https://github.com/open-power/sbe/commit/50895b93>`__ Introduce exp_getidec HWP
+-  `60330e0e <https://github.com/open-power/sbe/commit/60330e0e>`__ Add “Not Wired” option for OPTICS_CONFIG_MODE attrs
+-  `13627efc <https://github.com/open-power/sbe/commit/13627efc>`__ Add exp_i2c_scom driver that will be consumed by HB/SBE
+   platforms
+
+Dan Crowell (5):
+
+-  `0209c872 <https://github.com/open-power/sbe/commit/0209c872>`__ Update Explorer FW Command IDs
+-  `aa5c5ff1 <https://github.com/open-power/sbe/commit/aa5c5ff1>`__ Update Explorer FW Command IDs
+-  `3624a993 <https://github.com/open-power/sbe/commit/3624a993>`__ Add Axone comment to grouping attribute
+-  `2b61547b <https://github.com/open-power/sbe/commit/2b61547b>`__ Enable rolling counter and verification of req id for Explorer
+-  `512f9246 <https://github.com/open-power/sbe/commit/512f9246>`__ Adjust idec algorithm for Explorer B.0 format
+
+Dean Sanner (1):
+
+-  `c05bb41d <https://github.com/open-power/sbe/commit/c05bb41d>`__ Run LPC Init to clean up errors on MPIPL
+
+Devon Baughen (1):
+
+-  `c6c08ec5 <https://github.com/open-power/sbe/commit/c6c08ec5>`__ add function to turn on adaptation in bootconfig
+
+Emmanuel Sacristan (1):
+
+-  `debfec25 <https://github.com/open-power/sbe/commit/debfec25>`__ adding iss 768 init for p9 behaviour in nmmu
+
+Evan Lojewski (2):
+
+-  `e9924f12 <https://github.com/open-power/sbe/commit/e9924f12>`__ Update to allow DDR4-SORDIMM modules to be used [3].
+-  `caacd24f <https://github.com/open-power/sbe/commit/caacd24f>`__ Update to allow DDR4-SORDIMM modules to be used [3].
+
+Glenn Miles (3):
+
+-  `d3157de4 <https://github.com/open-power/sbe/commit/d3157de4>`__ Add procedures for updating explorer firmware image
+-  `a6a2279a <https://github.com/open-power/sbe/commit/a6a2279a>`__ Add procedures for updating explorer firmware image
+-  `d266398f <https://github.com/open-power/sbe/commit/d266398f>`__ Add HWP for entering Explorer TWI mode
+
+Greg Still (1):
+
+-  `78fb7838 <https://github.com/open-power/sbe/commit/78fb7838>`__ PM Suspend: add halting of OCC GPEs
+
+Jennifer A. Stofer (2):
+
+-  `1a12dc03 <https://github.com/open-power/sbe/commit/1a12dc03>`__ Revert “Adds exp_draminit_mc”
+-  `af190d18 <https://github.com/open-power/sbe/commit/af190d18>`__ Revert “Adds exp_draminit_mc”
+
+Jenny Huynh (2):
+
+-  `909eb261 <https://github.com/open-power/sbe/commit/909eb261>`__ Wilted Apple: Disable SMT2 prefetch for NDD2.2+, CDD1.1+,
+   ADD1.0+
+-  `ca5cbf31 <https://github.com/open-power/sbe/commit/ca5cbf31>`__ Add slbv, slbe extraction to p9_ram_core procedure
+
+Joachim Fenkes (1):
+
+-  `ace80025 <https://github.com/open-power/sbe/commit/ace80025>`__ Streamline the way PIB/NET are initialized between SBE and
+   Cronus
+
+Joe McGill (1):
+
+-  `bd520255 <https://github.com/open-power/sbe/commit/bd520255>`__ p9_proc_gettracearray – updates for Axone
+
+Li Meng (2):
+
+-  `5890dd91 <https://github.com/open-power/sbe/commit/5890dd91>`__ Creates LRDIMM mrep/dwl calibration recorder class
+-  `c700a05f <https://github.com/open-power/sbe/commit/c700a05f>`__ Creates LRDIMM mrep/dwl calibration recorder class
+
+Louis Stermole (27):
+
+-  `5b8210bf <https://github.com/open-power/sbe/commit/5b8210bf>`__ Fix polling timeouts for exp_omi_train and exp_check_for_ready
+-  `1cb0d8de <https://github.com/open-power/sbe/commit/1cb0d8de>`__ Move MSS volt attr setters to generic folder
+-  `352d99be <https://github.com/open-power/sbe/commit/352d99be>`__ Add p9a_mss_volt procedure
+-  `b6f6fb58 <https://github.com/open-power/sbe/commit/b6f6fb58>`__ Add p9a version of eff_memory_size API
+-  `303dd8b9 <https://github.com/open-power/sbe/commit/303dd8b9>`__ Add retry of EXP_FW_STATUS when status is FW_BUSY
+-  `7ef569b0 <https://github.com/open-power/sbe/commit/7ef569b0>`__ Add check for BOOT_STAGE == runtime fw in exp_check_for_ready
+-  `5c3f1d99 <https://github.com/open-power/sbe/commit/5c3f1d99>`__ Fix polling timeouts for exp_omi_train and exp_check_for_ready
+-  `95d92195 <https://github.com/open-power/sbe/commit/95d92195>`__ Fix duplicate symbol errors from DEFAULT_MC_TYPE
+-  `cd9a1a6c <https://github.com/open-power/sbe/commit/cd9a1a6c>`__ Add p9a_mss_freq procedure
+-  `25f753d8 <https://github.com/open-power/sbe/commit/25f753d8>`__ Update exp_omi_train for testing
+-  `e9cd754f <https://github.com/open-power/sbe/commit/e9cd754f>`__ Add missing timing attrs to p9a_eff_config
+-  `aab9c442 <https://github.com/open-power/sbe/commit/aab9c442>`__ Move MSS volt attr setters to generic folder
+-  `c7096f6f <https://github.com/open-power/sbe/commit/c7096f6f>`__ Add p9a_mss_volt procedure
+-  `4ccbdb85 <https://github.com/open-power/sbe/commit/4ccbdb85>`__ Add p9a version of eff_memory_size API
+-  `82ad5ef7 <https://github.com/open-power/sbe/commit/82ad5ef7>`__ Fix duplicate symbol errors from DEFAULT_MC_TYPE
+-  `55554d3a <https://github.com/open-power/sbe/commit/55554d3a>`__ Add p9a_mss_freq procedure
+-  `851a68c4 <https://github.com/open-power/sbe/commit/851a68c4>`__ Add debug params to exp_check_for_ready_wrap
+-  `fee0ceed <https://github.com/open-power/sbe/commit/fee0ceed>`__ Update exp_omi_train for testing
+-  `713899e8 <https://github.com/open-power/sbe/commit/713899e8>`__ Add retry of EXP_FW_STATUS when status is FW_BUSY
+-  `56c9d506 <https://github.com/open-power/sbe/commit/56c9d506>`__ Add check for BOOT_STAGE == runtime fw in exp_check_for_ready
+-  `21be781f <https://github.com/open-power/sbe/commit/21be781f>`__ Add missing timing attrs to p9a_eff_config
+-  `03efd459 <https://github.com/open-power/sbe/commit/03efd459>`__ Fix polling timeouts for exp_omi_train and exp_check_for_ready
+-  `9a430ddf <https://github.com/open-power/sbe/commit/9a430ddf>`__ Updates to Explorer FW upload tools
+-  `8b06b5c1 <https://github.com/open-power/sbe/commit/8b06b5c1>`__ Add deconfigure of memory port if mss_freq can’t find consensus
+   freq
+-  `6cad7d02 <https://github.com/open-power/sbe/commit/6cad7d02>`__ Add Axone FIR unmasking after p9_chiplet_scominit
+-  `c318ab00 <https://github.com/open-power/sbe/commit/c318ab00>`__ Add unmask_after_exp_omi_setup and FIR checks
+-  `2f535c87 <https://github.com/open-power/sbe/commit/2f535c87>`__ Add unmasks for REG1 and REG2 versions of OMI_FIR for Axone
+
+Luis Fernandez (1):
+
+-  `9acbf9f3 <https://github.com/open-power/sbe/commit/9acbf9f3>`__ HB Implement Static Analysis with cppcheck
+
+Mark Pizzutillo (24):
+
+-  `c130fb5d <https://github.com/open-power/sbe/commit/c130fb5d>`__ Added code for exp_getecid and unit tests
+-  `1d80cb57 <https://github.com/open-power/sbe/commit/1d80cb57>`__ Fix exp_getecid register accesses
+-  `9ca91c9e <https://github.com/open-power/sbe/commit/9ca91c9e>`__ Add API for axone p10 dimm rank
+-  `b06099df <https://github.com/open-power/sbe/commit/b06099df>`__ Add PMIC enable procedure code and UTs
+-  `745d8711 <https://github.com/open-power/sbe/commit/745d8711>`__ Fix exp_draminit phy_params
+-  `c257cb57 <https://github.com/open-power/sbe/commit/c257cb57>`__ Added code for exp_getecid and unit tests
+-  `f68b0a02 <https://github.com/open-power/sbe/commit/f68b0a02>`__ Add API for axone p10 dimm rank
+-  `68e02713 <https://github.com/open-power/sbe/commit/68e02713>`__ Fix exp_getecid register accesses
+-  `72a62b5a <https://github.com/open-power/sbe/commit/72a62b5a>`__ Add PMIC enable procedure code and UTs
+-  `39a198fb <https://github.com/open-power/sbe/commit/39a198fb>`__ Fix exp_draminit phy_params
+-  `34778bc0 <https://github.com/open-power/sbe/commit/34778bc0>`__ Add PRBS training sequence to exp_omi_setup
+-  `be05ce9e <https://github.com/open-power/sbe/commit/be05ce9e>`__ Create workaround for gemini MENTERP register bug
+-  `71852bfe <https://github.com/open-power/sbe/commit/71852bfe>`__ Add workaround for gemini OMI config settings
+-  `9346ae92 <https://github.com/open-power/sbe/commit/9346ae92>`__ Add code and workarounds for \*_omi_setup and \*_omi_train for
+   Swift
+-  `27423190 <https://github.com/open-power/sbe/commit/27423190>`__ Update exp_draminit results display for new response structs
+-  `2938d54f <https://github.com/open-power/sbe/commit/2938d54f>`__ Add assert for RSP extended data buffer size in exp_draminit
+-  `c2b97f24 <https://github.com/open-power/sbe/commit/c2b97f24>`__ Add MCBIST infinite tests
+-  `e1637c7d <https://github.com/open-power/sbe/commit/e1637c7d>`__ Add asserts for invalid states of enterprise & half dimm mode
+-  `5f7d221a <https://github.com/open-power/sbe/commit/5f7d221a>`__ Add new DDIMM spd version 0_3 and update UTs
+-  `2132642e <https://github.com/open-power/sbe/commit/2132642e>`__ Add TARGET_TYPE_GENERICI2CSLAVE and relevant attributes
+-  `972885f1 <https://github.com/open-power/sbe/commit/972885f1>`__ Add attribute for SPD_REVISION (byte 1)
+-  `b72e88b9 <https://github.com/open-power/sbe/commit/b72e88b9>`__ Refactor PMIC attributes to be at OCMB level
+-  `7247b205 <https://github.com/open-power/sbe/commit/7247b205>`__ Add SPD, ATTR, and code support for thermal sensor fields
+-  `2d51dbbb <https://github.com/open-power/sbe/commit/2d51dbbb>`__ Update RAS DQ Inject tool with new MCHP squence
+
+Marty E. Plummer (6):
+
+-  `629327db <https://github.com/open-power/sbe/commit/629327db>`__ updateBuildTag: convert proc.stdout.read() to str.
+-  `1ccc5eff <https://github.com/open-power/sbe/commit/1ccc5eff>`__ sbeCompression: add a python3 compatible fallback
+-  `04a2b51f <https://github.com/open-power/sbe/commit/04a2b51f>`__ sbeCompression: use floor division
+-  `e7dccb09 <https://github.com/open-power/sbe/commit/e7dccb09>`__ securityRegListGen: use io.open and read in text mode.
+-  `2615d39b <https://github.com/open-power/sbe/commit/2615d39b>`__ parsAndCutElf: convert line to str
+-  `e0e6c72e <https://github.com/open-power/sbe/commit/e0e6c72e>`__ treewide: use print function instead of statement
+
+Matt Derksen (1):
+
+-  `245b9cef <https://github.com/open-power/sbe/commit/245b9cef>`__ Support EXP_FW_LOG command to get Explorer FW logs
+
+Matthew Hickman (2):
+
+-  `c4bf31c0 <https://github.com/open-power/sbe/commit/c4bf31c0>`__ Ported ecc engine to generic
+-  `f811ed4a <https://github.com/open-power/sbe/commit/f811ed4a>`__ Ported ecc engine to generic
+
+Murulidhar Nataraju (3):
+
+-  `462aea8b <https://github.com/open-power/sbe/commit/462aea8b>`__ Update the Simics release path
+-  `98d8d616 <https://github.com/open-power/sbe/commit/98d8d616>`__ Update EnterMPIPL to collect architected dumps and
+-  `099e7402 <https://github.com/open-power/sbe/commit/099e7402>`__ MPIPL:SW485350
+
+Nico Fajardo (3):
+
+-  `2e2e7ec7 <https://github.com/open-power/sbe/commit/2e2e7ec7>`__ Add FAPI_ASSERT for unsupported SPD rank in RTT fetch
+-  `f95319e0 <https://github.com/open-power/sbe/commit/f95319e0>`__ Adding after_p9a_omi_init.C and p9a-specific fir traits
+-  `e6cfaaee <https://github.com/open-power/sbe/commit/e6cfaaee>`__ exp draminit & draminit_mc phase 3 update for PRD logging
+
+Prem Shanker Jha (1):
+
+-  `b05b7eb2 <https://github.com/open-power/sbe/commit/b05b7eb2>`__ PM: Modified FFDC to avoid corruption of RC in error path.
+
+Rahul Batra (1):
+
+-  `49f59681 <https://github.com/open-power/sbe/commit/49f59681>`__ PM: Fix DB0 Hang
+
+Raja Das (6):
+
+-  `8ee58f3e <https://github.com/open-power/sbe/commit/8ee58f3e>`__ Removed FlushNVDIMM from MPIPL Path
+-  `7d3fabc4 <https://github.com/open-power/sbe/commit/7d3fabc4>`__ Updated the pibmem length for Axone in sbe-debug.py
+-  `8fe7586c <https://github.com/open-power/sbe/commit/8fe7586c>`__ Updated backing build
+-  `1120e327 <https://github.com/open-power/sbe/commit/1120e327>`__ Updated backing build
+-  `1d411055 <https://github.com/open-power/sbe/commit/1d411055>`__ Optimized the Control Instruction Chip-op
+-  `230eeb0e <https://github.com/open-power/sbe/commit/230eeb0e>`__ Updated backing build in customrc
+
+Ryan Black (1):
+
+-  `166b70c6 <https://github.com/open-power/sbe/commit/166b70c6>`__ set OTL Err Rpt Mask Reg 0 bit 21, OTL TX ECC UE on CQ buffer
+   read data.
+
+Ryan King (2):
+
+-  `2ce7e143 <https://github.com/open-power/sbe/commit/2ce7e143>`__ Add sensor cache read as an explorer inband command
+-  `e9fa3aa1 <https://github.com/open-power/sbe/commit/e9fa3aa1>`__ Add sensor cache read as an explorer inband command
+
+Sharath Manjunath (4):
+
+-  `2e5302df <https://github.com/open-power/sbe/commit/2e5302df>`__ Update exp_draminit to read values from attributes
+-  `91c77b9f <https://github.com/open-power/sbe/commit/91c77b9f>`__ Add exp_thermal_init for Explorer FW
+-  `d35148fa <https://github.com/open-power/sbe/commit/d35148fa>`__ Update exp_draminit to read values from attributes
+-  `b44d7913 <https://github.com/open-power/sbe/commit/b44d7913>`__ Add exp_thermal_init for Explorer FW
+
+Sheng-Hao Huang (1):
+
+-  `26de8811 <https://github.com/open-power/sbe/commit/26de8811>`__ for defect number HW476620
+
+Sneha Kadam (1):
+
+-  `4181f3d4 <https://github.com/open-power/sbe/commit/4181f3d4>`__ Renamed MCBIST subtest to clarify the test
+
+Stephen Glancy (42):
+
+-  `2198e3d3 <https://github.com/open-power/sbe/commit/2198e3d3>`__ Adds Explorer OMI setup - step 12.8a
+-  `9c255556 <https://github.com/open-power/sbe/commit/9c255556>`__ Moves conversions to be in the generic code space
+-  `1b311f24 <https://github.com/open-power/sbe/commit/1b311f24>`__ Moves generic xml directories to be in generic/procedures
+-  `8ece46a5 <https://github.com/open-power/sbe/commit/8ece46a5>`__ Adds explorer OMI training code
+-  `7e7b430a <https://github.com/open-power/sbe/commit/7e7b430a>`__ Moves CAS latency algorithm to generic folder
+-  `d51e3d14 <https://github.com/open-power/sbe/commit/d51e3d14>`__ Moves sync code to generic folder
+-  `1f492888 <https://github.com/open-power/sbe/commit/1f492888>`__ Moves set bad bitmap into generic
+-  `41a5e258 <https://github.com/open-power/sbe/commit/41a5e258>`__ Moves blame a FIR API to generic
+-  `1fac7c34 <https://github.com/open-power/sbe/commit/1fac7c34>`__ Adds explorer post-draminit bad bits processing
+-  `5d6711c6 <https://github.com/open-power/sbe/commit/5d6711c6>`__ Updates the LRDIMM to use SPD SI values
+-  `234734a3 <https://github.com/open-power/sbe/commit/234734a3>`__ Adds explorer training response display functions
+-  `8a98c662 <https://github.com/open-power/sbe/commit/8a98c662>`__ Fixes MCBIST compile fails
+-  `a3d5f865 <https://github.com/open-power/sbe/commit/a3d5f865>`__ Adds DDIMM EFD decoder API
+-  `ba55b796 <https://github.com/open-power/sbe/commit/ba55b796>`__ Adds process training response to exp draminit
+-  `4ece76d0 <https://github.com/open-power/sbe/commit/4ece76d0>`__ Adds explorer CCS specialization
+-  `0425da34 <https://github.com/open-power/sbe/commit/0425da34>`__ Adds EFD decode updates for 07MAY19 spec updates
+-  `98807cd3 <https://github.com/open-power/sbe/commit/98807cd3>`__ Fixes FFDC for files moved to generic
+-  `9ea40719 <https://github.com/open-power/sbe/commit/9ea40719>`__ Adds new attributes for 07MAY19 explorer specification
+-  `5fb7dbd2 <https://github.com/open-power/sbe/commit/5fb7dbd2>`__ Adds Explorer OMI setup - step 12.8a
+-  `856ef301 <https://github.com/open-power/sbe/commit/856ef301>`__ Moves conversions to be in the generic code space
+-  `e5d4f0e7 <https://github.com/open-power/sbe/commit/e5d4f0e7>`__ Moves generic xml directories to be in generic/procedures
+-  `dbef65eb <https://github.com/open-power/sbe/commit/dbef65eb>`__ Adds explorer OMI training code
+-  `603999f3 <https://github.com/open-power/sbe/commit/603999f3>`__ Moves CAS latency algorithm to generic folder
+-  `8fb1ba1e <https://github.com/open-power/sbe/commit/8fb1ba1e>`__ Moves sync code to generic folder
+-  `92b5c676 <https://github.com/open-power/sbe/commit/92b5c676>`__ Adds DDIMM EFD decoder API
+-  `337abf1d <https://github.com/open-power/sbe/commit/337abf1d>`__ Moves set bad bitmap into generic
+-  `4d5e0e5b <https://github.com/open-power/sbe/commit/4d5e0e5b>`__ Adds process training response to exp draminit
+-  `d5d815fe <https://github.com/open-power/sbe/commit/d5d815fe>`__ Moves blame a FIR API to generic
+-  `9f315343 <https://github.com/open-power/sbe/commit/9f315343>`__ Adds explorer post-draminit bad bits processing
+-  `8628f61e <https://github.com/open-power/sbe/commit/8628f61e>`__ Updates the LRDIMM to use SPD SI values
+-  `135ec660 <https://github.com/open-power/sbe/commit/135ec660>`__ Adds explorer training response display functions
+-  `33da4f84 <https://github.com/open-power/sbe/commit/33da4f84>`__ Adds new attributes for 07MAY19 explorer specification
+-  `76bddf79 <https://github.com/open-power/sbe/commit/76bddf79>`__ Fixes MCBIST compile fails
+-  `f9ce236f <https://github.com/open-power/sbe/commit/f9ce236f>`__ Adds explorer CCS specialization
+-  `db6107b7 <https://github.com/open-power/sbe/commit/db6107b7>`__ Adds EFD decode updates for 07MAY19 spec updates
+-  `87bb3373 <https://github.com/open-power/sbe/commit/87bb3373>`__ Fixes FFDC for files moved to generic
+-  `49aa0e41 <https://github.com/open-power/sbe/commit/49aa0e41>`__ Adds MCBIST beat/byte signature data patterns
+-  `05669c55 <https://github.com/open-power/sbe/commit/05669c55>`__ Adds explorer MCBIST address/data traps processing
+-  `09fdf35a <https://github.com/open-power/sbe/commit/09fdf35a>`__ Fixes maintenance pattern load bug
+-  `8187226a <https://github.com/open-power/sbe/commit/8187226a>`__ Updates exp access delay regs to set delays
+-  `056538d3 <https://github.com/open-power/sbe/commit/056538d3>`__ Adds explorer shmoo traits
+-  `03fbb688 <https://github.com/open-power/sbe/commit/03fbb688>`__ Fixes explorer accessor bugs
+
+Stewart Smith (1):
+
+-  `7c74ddae <https://github.com/open-power/sbe/commit/7c74ddae>`__ Use full UART TX buffer (shave 5s off booting)
+
+Sumit Kumar (1):
+
+-  `84c88858 <https://github.com/open-power/sbe/commit/84c88858>`__ Fapi_Infra:Add new member to structure ErrorInfoCDG
+
+Sunil Kumar (3):
+
+-  `b1415469 <https://github.com/open-power/sbe/commit/b1415469>`__ OCMB changes to suit PPE compilation.
+-  `be6e9acb <https://github.com/open-power/sbe/commit/be6e9acb>`__ Remove i2cSupport
+-  `1921f40c <https://github.com/open-power/sbe/commit/1921f40c>`__ OCMB changes to suit PPE compilation.
+
+Tsung Yeung (1):
+
+-  `435e4111 <https://github.com/open-power/sbe/commit/435e4111>`__ Replaces NVDIMM flush sequence with CCS
+
+manichow (1):
+
+-  `247a18dc <https://github.com/open-power/sbe/commit/247a18dc>`__ Quiesce procedure for NPU serving openCapi links
+
+vinaybs6 (2):
+
+-  `54d447a8 <https://github.com/open-power/sbe/commit/54d447a8>`__ Updating the customrc file
+-  `54f3205f <https://github.com/open-power/sbe/commit/54f3205f>`__ Setting the HRMOR value for OPAL based systems.
+
+Package: skiboot
+----------------
+
+`Repository <https://github.com/open-power/skiboot>`__
+
+.. _patches-16:
+
+Patches
+~~~~~~~
+
+.. _commits-16:
+
+Commits
+~~~~~~~
+
+Aaron Sawdey (1):
+
+-  `f1234170 <https://github.com/open-power/skiboot/commit/f1234170>`__ external/mambo: support mambo COW mode for PMEM disk
+
+Alexey Kardashevskiy (3):
+
+-  `2a0455ba <https://github.com/open-power/skiboot/commit/2a0455ba>`__ npu2: Invalidate entire TCE cache if many entries requested
+-  `9be9a77a <https://github.com/open-power/skiboot/commit/9be9a77a>`__ npu2: Clear fence on all bricks
+-  `08cd61e9 <https://github.com/open-power/skiboot/commit/08cd61e9>`__ phb4: Add PHB options get/set OPAL calls
+
+Alistair Popple (1):
+
+-  `518ab49f <https://github.com/open-power/skiboot/commit/518ab49f>`__ skiboot.tcl: Add chip-id to pmem device tree node
+
+Andrew Donnellan (2):
+
+-  `e85e2e2b <https://github.com/open-power/skiboot/commit/e85e2e2b>`__ npu2-opencapi: Fix integer promotion bug in LPC allocation
+-  `bc72973d <https://github.com/open-power/skiboot/commit/bc72973d>`__ hw/npu2-opencapi: Support multiple LPC devices
+
+Andrew Geissler (1):
+
+-  `2554cac8 <https://github.com/open-power/skiboot/commit/2554cac8>`__ Support BMC IPMI heartbeat command
+
+Andrew Jeffery (10):
+
+-  `e08fee36 <https://github.com/open-power/skiboot/commit/e08fee36>`__ gard: Fix data corruption when clearing single records
+-  `8f204c12 <https://github.com/open-power/skiboot/commit/8f204c12>`__ blocklevel: smart_write: Terminate line for debug output in
+   no-change case
+-  `5c935e78 <https://github.com/open-power/skiboot/commit/5c935e78>`__ blocklevel: smart_write: Rename write buffer
+-  `518db2b2 <https://github.com/open-power/skiboot/commit/518db2b2>`__ blocklevel: smart_write: Rename size variable for clarity
+-  `6867bd54 <https://github.com/open-power/skiboot/commit/6867bd54>`__ blocklevel: smart_write: Avoid indirectly testing formal
+   parameters
+-  `bdbbfcac <https://github.com/open-power/skiboot/commit/bdbbfcac>`__ blocklevel: smart_write: Deny writes intersecting ECC
+   protected regions
+-  `aa52f943 <https://github.com/open-power/skiboot/commit/aa52f943>`__ blocklevel: smart_write: Avoid reuse of formal parameters
+-  `a950fd78 <https://github.com/open-power/skiboot/commit/a950fd78>`__ blocklevel: smart_write: Tidy local variable declarations
+-  `96ddf4b5 <https://github.com/open-power/skiboot/commit/96ddf4b5>`__ blocklevel: smart_write: Fix unaligned writes to ECC
+   partitions
+-  `7853fc53 <https://github.com/open-power/skiboot/commit/7853fc53>`__ libflash: ipmi-hiomap: Document error handling strategy in
+   write path
+
+Artem Senichev (1):
+
+-  `f9292037 <https://github.com/open-power/skiboot/commit/f9292037>`__ platforms/nicole: Fixup the system VPD EEPROM size
+
+Balamuruhan S (2):
+
+-  `61ec8655 <https://github.com/open-power/skiboot/commit/61ec8655>`__ occ-sensor: clean dt properties if sensor is not available
+-  `bb0f098c <https://github.com/open-power/skiboot/commit/bb0f098c>`__ chip: enable HOMER/OCC common area region in Qemu emulated
+   PowerNV host
+
+Cédric Le Goater (20):
+
+-  `e97391ae <https://github.com/open-power/skiboot/commit/e97391ae>`__ xive: fix return value of opal_xive_allocate_irq()
+-  `99557228 <https://github.com/open-power/skiboot/commit/99557228>`__ xive/p9: introduce header files for the registers
+-  `75829014 <https://github.com/open-power/skiboot/commit/75829014>`__ xive/p9: minor cleanup of the interface
+-  `f9f3bb0a <https://github.com/open-power/skiboot/commit/f9f3bb0a>`__ xive/p9: use MMIO access for VC_EQC_CONFIG
+-  `0649e551 <https://github.com/open-power/skiboot/commit/0649e551>`__ xive/p9: remove code not using indirect mode
+-  `71ad5938 <https://github.com/open-power/skiboot/commit/71ad5938>`__ xive/p9: remove code not using block group mode
+-  `1f269bc0 <https://github.com/open-power/skiboot/commit/1f269bc0>`__ xive/p9: remove dead code
+-  `a10f1502 <https://github.com/open-power/skiboot/commit/a10f1502>`__ xive/p9: obsolete OPAL_XIVE_IRQ_*_VIA_FW flags
+-  `ad7e9a67 <https://github.com/open-power/skiboot/commit/ad7e9a67>`__ xive/p9: obsolete OPAL_XIVE_IRQ_SHIFT_BUG flags
+-  `4f0a5633 <https://github.com/open-power/skiboot/commit/4f0a5633>`__ xive/p9: fix EQ bitmap assignment when allocation fails
+-  `f0e2746e <https://github.com/open-power/skiboot/commit/f0e2746e>`__ xive/p9: introduce definitions for priorities
+-  `e26a866f <https://github.com/open-power/skiboot/commit/e26a866f>`__ xive/p9: fix silent escalation EQ setup
+-  `0118b0a2 <https://github.com/open-power/skiboot/commit/0118b0a2>`__ xive/p9: cleanup all EQs when a VP block is freed.
+-  `4f194e77 <https://github.com/open-power/skiboot/commit/4f194e77>`__ xive/p9: remove ACK# setting in the NVT
+-  `5d0a4134 <https://github.com/open-power/skiboot/commit/5d0a4134>`__ xive/p9: introduce NVT_SHIFT
+-  `ca46415e <https://github.com/open-power/skiboot/commit/ca46415e>`__ xive/p9: remove XIVE_INT_SAFETY_GAP
+-  `2354857f <https://github.com/open-power/skiboot/commit/2354857f>`__ xive/p9: use predefined bitmasks to manipulate EQ addresses
+-  `6214cb80 <https://github.com/open-power/skiboot/commit/6214cb80>`__ xive/p9: introduce the ESB magic MMIO offsets
+-  `721ef0d0 <https://github.com/open-power/skiboot/commit/721ef0d0>`__ plat/qemu: use “/qemu” device tree node to identify the QEMU
+   platform
+-  `d807288d <https://github.com/open-power/skiboot/commit/d807288d>`__ plat/qemu: add a POWER10 platform
+
+Dan Crowell (1):
+
+-  `1b638f89 <https://github.com/open-power/skiboot/commit/1b638f89>`__ Updating shared constants for HBRT
+
+Dan Horák (2):
+
+-  `1a02a189 <https://github.com/open-power/skiboot/commit/1a02a189>`__ xscom-utils: refer only objects not sources for getscom
+-  `53baedfd <https://github.com/open-power/skiboot/commit/53baedfd>`__ gard: fix installation rule
+
+Eric Richter (9):
+
+-  `e023d6b9 <https://github.com/open-power/skiboot/commit/e023d6b9>`__ hw/test: include -gcov binaries in clean target
+-  `04f0cdb9 <https://github.com/open-power/skiboot/commit/04f0cdb9>`__ doc: add opal secure variable documentation
+-  `484bdc5d <https://github.com/open-power/skiboot/commit/484bdc5d>`__ libstb/secvar: add secure variable internal abstraction
+-  `bc1f1e44 <https://github.com/open-power/skiboot/commit/bc1f1e44>`__ libstb/secvar: add secvar api implementation
+-  `127db3a6 <https://github.com/open-power/skiboot/commit/127db3a6>`__ secvar/test: add rudimentary secvar API unit testing
+-  `a55c46d5 <https://github.com/open-power/skiboot/commit/a55c46d5>`__ secvar_devtree: add generic compatible, and new format
+   device tree property
+-  `6cdbf1ad <https://github.com/open-power/skiboot/commit/6cdbf1ad>`__ secvar_api: check that enqueue_update writes successfully
+   before returning success
+-  `0dfaf110 <https://github.com/open-power/skiboot/commit/0dfaf110>`__ secvar_main: increase verbosity of the main entrypoint
+-  `c2ba08e8 <https://github.com/open-power/skiboot/commit/c2ba08e8>`__ tpm_i2c_nuvoton: check TPM vendor id register during probe
+
+Frederic Barrat (26):
+
+-  `f6f247a8 <https://github.com/open-power/skiboot/commit/f6f247a8>`__ core/pci: Refactor common paths on slot hotplug
+-  `38e51a31 <https://github.com/open-power/skiboot/commit/38e51a31>`__ core/pci: Add missing lock in set_power_timer
+-  `8bae2376 <https://github.com/open-power/skiboot/commit/8bae2376>`__ core/pci: Use proper phandle during hotplug for PHB slots
+-  `30642155 <https://github.com/open-power/skiboot/commit/30642155>`__ core/pci: Train link of PHB slots when hotplugging
+-  `94bc2d7a <https://github.com/open-power/skiboot/commit/94bc2d7a>`__ core/pci: Fix scan of devices for opencapi slots
+-  `13e1a7e5 <https://github.com/open-power/skiboot/commit/13e1a7e5>`__ npu2-hw-procedures: Move some opencapi PHY settings in
+   one-off init
+-  `544ce7ef <https://github.com/open-power/skiboot/commit/544ce7ef>`__ npu2-opencapi: Make sure the PCI slot has the proper ID
+-  `fed081dc <https://github.com/open-power/skiboot/commit/fed081dc>`__ npu2-hw-procedures: Fix link retraining on reset
+-  `2600cfac <https://github.com/open-power/skiboot/commit/2600cfac>`__ npu2-opencapi: Rework link training timeout
+-  `c5db8325 <https://github.com/open-power/skiboot/commit/c5db8325>`__ npu2-opencapi: Tweak fundamental reset sequence
+-  `7989d6ed <https://github.com/open-power/skiboot/commit/7989d6ed>`__ npu2-opencapi: Simplify freset states
+-  `dbc70aea <https://github.com/open-power/skiboot/commit/dbc70aea>`__ npu2-opencapi: Detect PHY reset errors
+-  `40bc636e <https://github.com/open-power/skiboot/commit/40bc636e>`__ npu2-opencapi: Improve error reporting to the OS
+-  `6299d3e5 <https://github.com/open-power/skiboot/commit/6299d3e5>`__ npu2-opencapi: Activate PCI hotplug on opencapi slot
+-  `9d5faafc <https://github.com/open-power/skiboot/commit/9d5faafc>`__ npu2-opencapi: Handle OPAL_UNMAP_PE operation on set_pe()
+   callback
+-  `233e863c <https://github.com/open-power/skiboot/commit/233e863c>`__ npu2-opencapi: Log a warning when resetting a broken device
+-  `425340bd <https://github.com/open-power/skiboot/commit/425340bd>`__ platform/mihawk: Detect old system compatible string
+-  `da28a664 <https://github.com/open-power/skiboot/commit/da28a664>`__ npu2: Rework phb-index assignments for virtual PHBs
+-  `57d43efd <https://github.com/open-power/skiboot/commit/57d43efd>`__ npu3: Don’t use the device tree to assign the phb-index of
+   the PHB
+-  `bbb4777f <https://github.com/open-power/skiboot/commit/bbb4777f>`__ npu2, npu3: Remove ibm, phb-index property from the NPU dt
+   node
+-  `8b9be491 <https://github.com/open-power/skiboot/commit/8b9be491>`__ npu3: Register virtual PHBs with static IDs
+-  `09478eae <https://github.com/open-power/skiboot/commit/09478eae>`__ npu2-opencapi: don’t fence on masked XSL errors
+-  `53408440 <https://github.com/open-power/skiboot/commit/53408440>`__ npu2-opencapi: Don’t drive reset signal permanently
+-  `9de4f228 <https://github.com/open-power/skiboot/commit/9de4f228>`__ npu2-opencapi: Allow platforms to identify physical slots
+-  `59482b92 <https://github.com/open-power/skiboot/commit/59482b92>`__ capp: Add lid definition for P9 DD2.3
+-  `e876514b <https://github.com/open-power/skiboot/commit/e876514b>`__ hw/phb4: Tune GPU direct performance on witherspoon in PCI
+   mode
+
+Frédéric Bonnard (1):
+
+-  `470ffb5f <https://github.com/open-power/skiboot/commit/470ffb5f>`__ external/common: Use file operation used on x86 for
+   ARCH_UNKNOWN
+
+Gavin Shan (2):
+
+-  `8f33688a <https://github.com/open-power/skiboot/commit/8f33688a>`__ core/pci: Use cached VDID when populating device node
+-  `c9c68152 <https://github.com/open-power/skiboot/commit/c9c68152>`__ core/pci: Check PCIe cap version in
+   pci_disable_completion_timeout()
+
+Haren Myneni (1):
+
+-  `ad8cdd0f <https://github.com/open-power/skiboot/commit/ad8cdd0f>`__ VAS: Alloc IRQ and port address for each VAS instance
+
+Ilya Kuznetsov (1):
+
+-  `dab352ee <https://github.com/open-power/skiboot/commit/dab352ee>`__ pci-slot: Allow to create slot for downstream port of any
+   switch
+
+Jordan Niethe (8):
+
+-  `4acb8fe7 <https://github.com/open-power/skiboot/commit/4acb8fe7>`__ core/pci-dt-slots: Remove duplicate PCIDBG() definition
+-  `df15dcfc <https://github.com/open-power/skiboot/commit/df15dcfc>`__ pci: Use a macro for accessing PCI BDF Bus Number
+-  `f68639c6 <https://github.com/open-power/skiboot/commit/f68639c6>`__ pci: Use a macro for accessing PCI BDF Device Number
+-  `e4e2aa9c <https://github.com/open-power/skiboot/commit/e4e2aa9c>`__ pci: Use a macro for accessing PCI BDF Function Number
+-  `41f6c806 <https://github.com/open-power/skiboot/commit/41f6c806>`__ hw/phb4: Use standard MIN/MAX macro definitions
+-  `851ce56c <https://github.com/open-power/skiboot/commit/851ce56c>`__ ipmi: Use standard MIN() macro definition
+-  `a7864968 <https://github.com/open-power/skiboot/commit/a7864968>`__ core/flash: Use pr_fmt macro for tagging log messages
+-  `9f0af279 <https://github.com/open-power/skiboot/commit/9f0af279>`__ ccan: Add CCAN heap license
+
+Joy Chu (3):
+
+-  `52952aca <https://github.com/open-power/skiboot/commit/52952aca>`__ platform/mihawk: Add system VPD EEPROM to I2C bus
+-  `d6ab89db <https://github.com/open-power/skiboot/commit/d6ab89db>`__ platform/mihawk: add nvme devices slot table
+-  `68260957 <https://github.com/open-power/skiboot/commit/68260957>`__ platform/mihawk: support dynamic PCIe slot table
+
+Klaus Heinrich Kiwi (3):
+
+-  `99ce1bef <https://github.com/open-power/skiboot/commit/99ce1bef>`__ ibm-fsp/lxvpd: check for upstream port on slot labeling
+-  `ab1b05d2 <https://github.com/open-power/skiboot/commit/ab1b05d2>`__ PCI: create optional loc-code platform callback
+-  `b8b1ebc1 <https://github.com/open-power/skiboot/commit/b8b1ebc1>`__ core/pci.c: cleanup pci_add_loc_code()
+
+Madhavan Srinivasan (2):
+
+-  `7066a9c2 <https://github.com/open-power/skiboot/commit/7066a9c2>`__ hdat/spira: export abc and wxyz bus speeds
+-  `37941672 <https://github.com/open-power/skiboot/commit/37941672>`__ hw/imc: Add error message on failing cases for imc_init
+
+Mahesh Salgaonkar (2):
+
+-  `a810d1fe <https://github.com/open-power/skiboot/commit/a810d1fe>`__ IPMI: Trigger OPAL TI in abort path.
+-  `53944d45 <https://github.com/open-power/skiboot/commit/53944d45>`__ opal-gard: Add support for new PVR POWER9P.
+
+Mauro S. M. Rodrigues (1):
+
+-  `e4113f94 <https://github.com/open-power/skiboot/commit/e4113f94>`__ tpm_i2c_nuvoton: fix tpm_read_fifo overflow check
+
+Michael Ellerman (1):
+
+-  `387ffa75 <https://github.com/open-power/skiboot/commit/387ffa75>`__ mambo: Add more tweakable security flags
+
+Michal Suchanek (1):
+
+-  `6080c106 <https://github.com/open-power/skiboot/commit/6080c106>`__ errorlog: Prevent alignment error building with gcc9.
+
+Nicholas Piggin (47):
+
+-  `4cf05f35 <https://github.com/open-power/skiboot/commit/4cf05f35>`__ asm/head: set skiboot TOC in interrupt handler entry
+-  `a2c9babb <https://github.com/open-power/skiboot/commit/a2c9babb>`__ core/cpu.c: current_radix_mode should be initialised to true
+-  `6266148e <https://github.com/open-power/skiboot/commit/6266148e>`__ build: use -mcpu=power8
+-  `b70e8afd <https://github.com/open-power/skiboot/commit/b70e8afd>`__ core/exceptions.c: rearrange code to allow more interrupt
+   types
+-  `9ddc1a6b <https://github.com/open-power/skiboot/commit/9ddc1a6b>`__ core/util: trap based assertions
+-  `216433af <https://github.com/open-power/skiboot/commit/216433af>`__ core/util: branch-to-NULL assert for ELFv2 ABI
+-  `1785745d <https://github.com/open-power/skiboot/commit/1785745d>`__ core/exceptions.c: do not include handler code in exception
+   backtrace
+-  `6b512fce <https://github.com/open-power/skiboot/commit/6b512fce>`__ slw: slw_reinit fix array overrun
+-  `3734172b <https://github.com/open-power/skiboot/commit/3734172b>`__ build: fix non-constant build asserts
+-  `2501c3f6 <https://github.com/open-power/skiboot/commit/2501c3f6>`__ xive/p9: improve cache watch type checking
+-  `154e4eed <https://github.com/open-power/skiboot/commit/154e4eed>`__ xive/p9: use predefined bitmasks to manipulate EQ addresses
+-  `192d5865 <https://github.com/open-power/skiboot/commit/192d5865>`__ xive/p9: sbe size debug print fix
+-  `40558797 <https://github.com/open-power/skiboot/commit/40558797>`__ fsp: map trace areas on P9
+-  `ef7c7de8 <https://github.com/open-power/skiboot/commit/ef7c7de8>`__ psi: update registers to reflect >= P8 PHBSCR
+-  `bb445088 <https://github.com/open-power/skiboot/commit/bb445088>`__ hdata/test/hdata_to_dt.c: use P8E PVR when -8E is given
+-  `3fbfb0e3 <https://github.com/open-power/skiboot/commit/3fbfb0e3>`__ Remove dead POWER7 code
+-  `26657393 <https://github.com/open-power/skiboot/commit/26657393>`__ asm/cvc_entry.S: r2 save fix
+-  `ca412e3e <https://github.com/open-power/skiboot/commit/ca412e3e>`__ capp: fix endian conversion
+-  `0ed09ec1 <https://github.com/open-power/skiboot/commit/0ed09ec1>`__ cpu: use dt accessor device tree access
+-  `1b9a449d <https://github.com/open-power/skiboot/commit/1b9a449d>`__ opal-api: add endian conversions to most opal calls
+-  `789624ff <https://github.com/open-power/skiboot/commit/789624ff>`__ opal-msg: endian fixes for opal-msg.c and opal_queue_msg
+   callers
+-  `c47b2ffd <https://github.com/open-power/skiboot/commit/c47b2ffd>`__ elf: endian conversions
+-  `518e5542 <https://github.com/open-power/skiboot/commit/518e5542>`__ spira: fix endian conversions in spira data structures
+-  `8d49ff53 <https://github.com/open-power/skiboot/commit/8d49ff53>`__ hdata: endian conversions
+-  `0d12f0c8 <https://github.com/open-power/skiboot/commit/0d12f0c8>`__ naca: move naca definition from asm to C
+-  `bb9aebc6 <https://github.com/open-power/skiboot/commit/bb9aebc6>`__ io: endian conversions for io accessors
+-  `08801245 <https://github.com/open-power/skiboot/commit/08801245>`__ hmi: endian conversions
+-  `b5c22130 <https://github.com/open-power/skiboot/commit/b5c22130>`__ cvc: allow BE cvc code to be called from LE context
+-  `1504bf98 <https://github.com/open-power/skiboot/commit/1504bf98>`__ xive: make endian-clean
+-  `e73cf72d <https://github.com/open-power/skiboot/commit/e73cf72d>`__ phb4: make endian-clean
+-  `61800f2d <https://github.com/open-power/skiboot/commit/61800f2d>`__ occ sensors: make endian-clean
+-  `45c1436a <https://github.com/open-power/skiboot/commit/45c1436a>`__ memconsole: make endian-clean
+-  `1959efa6 <https://github.com/open-power/skiboot/commit/1959efa6>`__ debug descriptor: make endian-clean
+-  `a2c74d83 <https://github.com/open-power/skiboot/commit/a2c74d83>`__ ipmi: endian conversion
+-  `390c4f5e <https://github.com/open-power/skiboot/commit/390c4f5e>`__ sbe-p9: endian conversion
+-  `e3934d8c <https://github.com/open-power/skiboot/commit/e3934d8c>`__ fsp: endian conversions
+-  `4ec92ece <https://github.com/open-power/skiboot/commit/4ec92ece>`__ errorlog: endian conversion
+-  `f27d32f1 <https://github.com/open-power/skiboot/commit/f27d32f1>`__ pel: endian conversion
+-  `8d9d63b9 <https://github.com/open-power/skiboot/commit/8d9d63b9>`__ libflash: ecc endian conversions
+-  `9c72bbb6 <https://github.com/open-power/skiboot/commit/9c72bbb6>`__ prd: endian conversions
+-  `752b2a2d <https://github.com/open-power/skiboot/commit/752b2a2d>`__ opal-dump: MPIPL endan conversions
+-  `d71bb898 <https://github.com/open-power/skiboot/commit/d71bb898>`__ sfc-ctrl: endian conversions
+-  `35776a29 <https://github.com/open-power/skiboot/commit/35776a29>`__ add little endian support
+-  `a0cf95fe <https://github.com/open-power/skiboot/commit/a0cf95fe>`__ dt: assorted cleanups
+-  `5178691d <https://github.com/open-power/skiboot/commit/5178691d>`__ add more sparse endian annotations
+-  `e04a34af <https://github.com/open-power/skiboot/commit/e04a34af>`__ fix simple sparse warnings
+-  `bca23d31 <https://github.com/open-power/skiboot/commit/bca23d31>`__ i2c: fix dereference beyond the end of buffer
+
+Oliver O’Halloran (80):
+
+-  `ba10ce12 <https://github.com/open-power/skiboot/commit/ba10ce12>`__ Makefiles: Remove –Wno-stringop-truncation
+-  `0f9371da <https://github.com/open-power/skiboot/commit/0f9371da>`__ hw: Put SPDX on new files
+-  `9142bb3b <https://github.com/open-power/skiboot/commit/9142bb3b>`__ core/pci-quirk: Re-order struct members
+-  `452a9a46 <https://github.com/open-power/skiboot/commit/452a9a46>`__ core/pci: Export pci_check_clear_freeze()
+-  `a7c613eb <https://github.com/open-power/skiboot/commit/a7c613eb>`__ core/pci-quirk: Microsemi switch UR workaround
+-  `e9a30df7 <https://github.com/open-power/skiboot/commit/e9a30df7>`__ hw/sbe-p9: Fix multi-line log messages
+-  `e96635d4 <https://github.com/open-power/skiboot/commit/e96635d4>`__ include/xscom: Remove duplicate p8 definitions
+-  `abf3e4c6 <https://github.com/open-power/skiboot/commit/abf3e4c6>`__ include/xscom: Remove duplicate p9 definitions
+-  `b03906a9 <https://github.com/open-power/skiboot/commit/b03906a9>`__ include/xscom: Use the name EQ rather than EP
+-  `b310e8f7 <https://github.com/open-power/skiboot/commit/b310e8f7>`__ hw/phb4: Prevent register accesses when in reset
+-  `a1fced25 <https://github.com/open-power/skiboot/commit/a1fced25>`__ skiboot 6.5 release notes
+-  `e2018d2a <https://github.com/open-power/skiboot/commit/e2018d2a>`__ core/flash: Validate secure boot content size
+-  `1af237bc <https://github.com/open-power/skiboot/commit/1af237bc>`__ pci: recheck pci nvram hacks on fast-reboot
+-  `f945230b <https://github.com/open-power/skiboot/commit/f945230b>`__ hdata: Add Axone IOHUB support
+-  `8bb0ae35 <https://github.com/open-power/skiboot/commit/8bb0ae35>`__ core/pci: Only hack class code for root ports
+-  `7b12d548 <https://github.com/open-power/skiboot/commit/7b12d548>`__ hw/lpc: Configure SerIRQ interrupts on P9P
+-  `4017085c <https://github.com/open-power/skiboot/commit/4017085c>`__ hw/psi: Add chip ID to interrupt names
+-  `fb2f03ea <https://github.com/open-power/skiboot/commit/fb2f03ea>`__ hw/psi-p9: Make interrupt name array global
+-  `fa161cd8 <https://github.com/open-power/skiboot/commit/fa161cd8>`__ hw/psi-p9: Mask OPAL-owned LSIs without handlers
+-  `9c9375fd <https://github.com/open-power/skiboot/commit/9c9375fd>`__ hw/psi: Remove explicit external IRQ policy
+-  `923b5a53 <https://github.com/open-power/skiboot/commit/923b5a53>`__ core/platform: Actually disable fast-reboot on P8
+-  `a4e0f636 <https://github.com/open-power/skiboot/commit/a4e0f636>`__ core/init: Don’t checksum MPIPL data areas
+-  `cc34635d <https://github.com/open-power/skiboot/commit/cc34635d>`__ core/init: Checksum romem after patching out traps
+-  `6cf9ace9 <https://github.com/open-power/skiboot/commit/6cf9ace9>`__ hw/port80: Squash No SYNC error
+-  `1c282887 <https://github.com/open-power/skiboot/commit/1c282887>`__ memory: Add NUMA associtivity information to DT
+-  `f9eb53d2 <https://github.com/open-power/skiboot/commit/f9eb53d2>`__ hdata: Add a generic compatible to ibm,secureboot
+-  `a0340a09 <https://github.com/open-power/skiboot/commit/a0340a09>`__ libstb/secvar: Ensure secvar_set_status() is called once
+-  `ca11072a <https://github.com/open-power/skiboot/commit/ca11072a>`__ libstb/secvar: Fix makefile
+-  `24813aa2 <https://github.com/open-power/skiboot/commit/24813aa2>`__ core/trace: Move trace buffer exports to a subnode
+-  `628158b2 <https://github.com/open-power/skiboot/commit/628158b2>`__ core/trace: Rename boot trace buffer
+-  `446f9f03 <https://github.com/open-power/skiboot/commit/446f9f03>`__ core/pci: Squash warning from devices with no ecaps
+-  `bbe5f003 <https://github.com/open-power/skiboot/commit/bbe5f003>`__ platforms/astbmc: Add more slot helper macros
+-  `1ed21a83 <https://github.com/open-power/skiboot/commit/1ed21a83>`__ platforms/qemu: Add slot table
+-  `83a92e3b <https://github.com/open-power/skiboot/commit/83a92e3b>`__ platforms/qemu: Add slot table entries for a PCIe switch
+-  `7fddf42c <https://github.com/open-power/skiboot/commit/7fddf42c>`__ hdata/test: Remove all temp files
+-  `46fac469 <https://github.com/open-power/skiboot/commit/46fac469>`__ test/mambo: Skip restoring the old ulimit
+-  `9e87ef7f <https://github.com/open-power/skiboot/commit/9e87ef7f>`__ hw/test: Make tests quieter
+-  `d6fc2fb3 <https://github.com/open-power/skiboot/commit/d6fc2fb3>`__ makefiles: Make attribute suggestions non-errors
+-  `0b8f5ea3 <https://github.com/open-power/skiboot/commit/0b8f5ea3>`__ tests: Squash \__attrconst related warnings
+-  `2899bda5 <https://github.com/open-power/skiboot/commit/2899bda5>`__ include/cpu: Move \__nomcount attribute
+-  `7abb0ef5 <https://github.com/open-power/skiboot/commit/7abb0ef5>`__ opal-ci: Remove clang builds on 18.04
+-  `0990e822 <https://github.com/open-power/skiboot/commit/0990e822>`__ boottests: Print the simulator output if V=1 is set
+-  `dc85bd46 <https://github.com/open-power/skiboot/commit/dc85bd46>`__ witherspoon: Squash spurious I2C errors
+-  `8b3012e1 <https://github.com/open-power/skiboot/commit/8b3012e1>`__ hw/p8-i2c: Don’t print warnings when dumping registers
+-  `b449782d <https://github.com/open-power/skiboot/commit/b449782d>`__ hw/p8-i2c: Clean up interrupt masking
+-  `9f7b726c <https://github.com/open-power/skiboot/commit/9f7b726c>`__ libstb/tpm: block access to unknown i2c devs on the tpm bus
+-  `80fd2e96 <https://github.com/open-power/skiboot/commit/80fd2e96>`__ xscom: Don’t log xscom errors caused by OPAL calls
+-  `a4fbdbc6 <https://github.com/open-power/skiboot/commit/a4fbdbc6>`__ doc: Add skiboot-5.2.0 ref
+-  `f04000d7 <https://github.com/open-power/skiboot/commit/f04000d7>`__ doc/secvar: Fix table markup
+-  `06a90e9b <https://github.com/open-power/skiboot/commit/06a90e9b>`__ doc/mpipl: Fix warnings
+-  `c76b1c19 <https://github.com/open-power/skiboot/commit/c76b1c19>`__ doc/secvar: Fix indentation warnings
+-  `93ea4773 <https://github.com/open-power/skiboot/commit/93ea4773>`__ doc: Fix code blocks in v6.3.3 release notes
+-  `8be8d98e <https://github.com/open-power/skiboot/commit/8be8d98e>`__ doc/sbe: Fix block indentation
+-  `58d51527 <https://github.com/open-power/skiboot/commit/58d51527>`__ doc: Remove duplicate OPAL_ELOG_WRITE label
+-  `962f6d78 <https://github.com/open-power/skiboot/commit/962f6d78>`__ doc: Fix block in 6.3.2 release notes
+-  `7b4619a6 <https://github.com/open-power/skiboot/commit/7b4619a6>`__ doc/opal-api: Remove spurious indent
+-  `0f46e5ca <https://github.com/open-power/skiboot/commit/0f46e5ca>`__ doc/dt: Fix memory-heirachy block
+-  `192efa9b <https://github.com/open-power/skiboot/commit/192efa9b>`__ doc/opal-api: Remove ref to OPAL_HMI_FLAGS_TOD_TB_FAIL
+-  `7afd41b7 <https://github.com/open-power/skiboot/commit/7afd41b7>`__ doc/device-tree: Add secvar bindings to the toctree
+-  `e23e0053 <https://github.com/open-power/skiboot/commit/e23e0053>`__ doc: Add VAS stuff into the tree
+-  `f59b2f6b <https://github.com/open-power/skiboot/commit/f59b2f6b>`__ doc: Use parallel builds
+-  `4a8b45a6 <https://github.com/open-power/skiboot/commit/4a8b45a6>`__ doc: Remove bonus CONTRIBUTING.md from the index
+-  `275c73fc <https://github.com/open-power/skiboot/commit/275c73fc>`__ doc: Fix some errors in platforms-and-cpus
+-  `a02072d0 <https://github.com/open-power/skiboot/commit/a02072d0>`__ doc/imc: Fix sphinx warning
+-  `d332d419 <https://github.com/open-power/skiboot/commit/d332d419>`__ README.md: Add information on docs
+-  `10bbcd07 <https://github.com/open-power/skiboot/commit/10bbcd07>`__ core/platform: Add an explicit fast-reboot type
+-  `ee07f2c6 <https://github.com/open-power/skiboot/commit/ee07f2c6>`__ core/fast-reset: Do not enable by default
+-  `82aed17a <https://github.com/open-power/skiboot/commit/82aed17a>`__ firenze-pci: Fix infinite loop in firenze_pci_add_loc_code()
+-  `2e122fba <https://github.com/open-power/skiboot/commit/2e122fba>`__ hw/fsp: Remove stray va_end() in \__fsp_fillmsg()
+-  `b776bb0f <https://github.com/open-power/skiboot/commit/b776bb0f>`__ hw/fsp: Fix GENERIC_FAILURE mailbox status code
+-  `e19dddc5 <https://github.com/open-power/skiboot/commit/e19dddc5>`__ Re-license contributions from Raptor Computer Systems
+-  `a5764dd3 <https://github.com/open-power/skiboot/commit/a5764dd3>`__ Re-license contributions from Dan Horák
+-  `504f4f08 <https://github.com/open-power/skiboot/commit/504f4f08>`__ Re-license contributions from Yadro
+-  `d703ad5b <https://github.com/open-power/skiboot/commit/d703ad5b>`__ hw/prd: Hold FSP notifications while PRD is inactive
+-  `ec7be089 <https://github.com/open-power/skiboot/commit/ec7be089>`__ docs: Fix ref to skiboot-6.4 in 6.5 release notes
+-  `7b57002d <https://github.com/open-power/skiboot/commit/7b57002d>`__ hw/xscom: Add scom infrastructure
+-  `9b612fff <https://github.com/open-power/skiboot/commit/9b612fff>`__ hw/centaur: Convert to use the new scom API
+-  `38b5c317 <https://github.com/open-power/skiboot/commit/38b5c317>`__ hdata/memory: Add support for memory-buffer mmio
+-  `e991415a <https://github.com/open-power/skiboot/commit/e991415a>`__ hw/ocmb: Add OCMB SCOM support
+-  `0f1937ef <https://github.com/open-power/skiboot/commit/0f1937ef>`__ skiboot v6.6 release notes
+
+Reza Arbab (19):
+
+-  `7ff5558c <https://github.com/open-power/skiboot/commit/7ff5558c>`__ Dedup $(HW_OBJS)
+-  `e7f76b4e <https://github.com/open-power/skiboot/commit/e7f76b4e>`__ hw/phys-map: Add pvr argument to phys_map_init()
+-  `6db75f1d <https://github.com/open-power/skiboot/commit/6db75f1d>`__ hw/phys-map: Add Axone memory map
+-  `8279e529 <https://github.com/open-power/skiboot/commit/8279e529>`__ npu2: Prepare purge_l2_l3_caches() for reuse
+-  `d9ecf61c <https://github.com/open-power/skiboot/commit/d9ecf61c>`__ npu2: Refactor NPU OPAL calls
+-  `d9b06b85 <https://github.com/open-power/skiboot/commit/d9b06b85>`__ npu2: Add checks to npu2-only codepaths
+-  `aa3fc69f <https://github.com/open-power/skiboot/commit/aa3fc69f>`__ hw: Introduce npu3
+-  `6017ba6a <https://github.com/open-power/skiboot/commit/6017ba6a>`__ Add Swift platform
+-  `3e334fbb <https://github.com/open-power/skiboot/commit/3e334fbb>`__ npu3: Rename NPU3_SM_MISC_CFGn register macros
+-  `82b57688 <https://github.com/open-power/skiboot/commit/82b57688>`__ npu3: Initialize NPU3_SNP_MISC_CFG0
+-  `2422c100 <https://github.com/open-power/skiboot/commit/2422c100>`__ npu3: Expose remaining ATSD launch registers
+-  `a36a4944 <https://github.com/open-power/skiboot/commit/a36a4944>`__ npu: Fix device binding error message
+-  `38e1c73f <https://github.com/open-power/skiboot/commit/38e1c73f>`__ npu3: Delay enablement of DL parity checking
+-  `3f5ecfb3 <https://github.com/open-power/skiboot/commit/3f5ecfb3>`__ devicetree: Remove lpc interrupt properties
+-  `91b4be52 <https://github.com/open-power/skiboot/commit/91b4be52>`__ platforms/swift: Remove spurious error message
+-  `03e7420e <https://github.com/open-power/skiboot/commit/03e7420e>`__ npu3: Add ibm, ioda2-npu3-phb to compatible property
+-  `3ea336e7 <https://github.com/open-power/skiboot/commit/3ea336e7>`__ npu3: Improve SALT log output
+-  `ece4109b <https://github.com/open-power/skiboot/commit/ece4109b>`__ npu3: Make SALT CMD_REG writable
+-  `24664b48 <https://github.com/open-power/skiboot/commit/24664b48>`__ npu2/hw-procedures: Remove assertion from check_credits()
+
+Ryan Grimm (1):
+
+-  `689f4469 <https://github.com/open-power/skiboot/commit/689f4469>`__ slw: Enable stop states on P9P
+
+Shilpasri G Bhat (1):
+
+-  `1fa6e85a <https://github.com/open-power/skiboot/commit/1fa6e85a>`__ occ: Add pstate corresponding to base frequency to DT
+
+Stewart Smith (23):
+
+-  `648c7cfd <https://github.com/open-power/skiboot/commit/648c7cfd>`__ Silence sparse warning for version.c
+-  `2c256c68 <https://github.com/open-power/skiboot/commit/2c256c68>`__ sparse: Silence “directive in argument list” for version
+   string
+-  `c7737655 <https://github.com/open-power/skiboot/commit/c7737655>`__ sparse: fix (main|secondar)_cpu_entry declaration types
+-  `ae9fb433 <https://github.com/open-power/skiboot/commit/ae9fb433>`__ sparse: fix endian types of struct imc_chip_cb members
+-  `64b30ec5 <https://github.com/open-power/skiboot/commit/64b30ec5>`__ sparse: various SPIRA structures, declare them.
+-  `4b2af1e5 <https://github.com/open-power/skiboot/commit/4b2af1e5>`__ sparse: lpc uart interrupt pointer endianness
+-  `352738f7 <https://github.com/open-power/skiboot/commit/352738f7>`__ sparse: hdata/fsp: u8 doesn’t have endian
+-  `4bec3e9e <https://github.com/open-power/skiboot/commit/4bec3e9e>`__ sparse: hdata/iohub: correctly convert endianness
+-  `33753c98 <https://github.com/open-power/skiboot/commit/33753c98>`__ sparse: hdata/spira sw_xstop_fir_bitpos is uint8_t, has no
+   endian
+-  `62ceded3 <https://github.com/open-power/skiboot/commit/62ceded3>`__ sparse: libstb/container: fix endian type for magic number
+-  `0ee242b9 <https://github.com/open-power/skiboot/commit/0ee242b9>`__ gcov: Fix skiboot size to dump out from simulators
+-  `067de39a <https://github.com/open-power/skiboot/commit/067de39a>`__ Move ec/ code to Rhesus platform
+-  `5ef3dd30 <https://github.com/open-power/skiboot/commit/5ef3dd30>`__ SPDX-ify all skiboot code
+-  `5826c0a2 <https://github.com/open-power/skiboot/commit/5826c0a2>`__ travis: Enable fedora30 for ppc64le
+-  `468a2dc1 <https://github.com/open-power/skiboot/commit/468a2dc1>`__ travis: remove fedora29
+-  `85b94f12 <https://github.com/open-power/skiboot/commit/85b94f12>`__ travis: do gcov builds on fedora30
+-  `8995ad61 <https://github.com/open-power/skiboot/commit/8995ad61>`__ doc/requirements.txt: pin docutils at 0.14
+-  `73ded8c7 <https://github.com/open-power/skiboot/commit/73ded8c7>`__ doc/device-tree/ibm, opal/firmware/version: clarify timeline
+   of git-id vs version
+-  `0e1db80c <https://github.com/open-power/skiboot/commit/0e1db80c>`__ SPDX fixups and Copyright date fixes
+-  `12610da1 <https://github.com/open-power/skiboot/commit/12610da1>`__ libstb: export CVC/securerom code memory range
+-  `70047661 <https://github.com/open-power/skiboot/commit/70047661>`__ mambo: enable use of real Container Verification Code
+-  `49496485 <https://github.com/open-power/skiboot/commit/49496485>`__ Re-license IBM written files as Apache 2.0 OR GPLv2+
+-  `57c451dd <https://github.com/open-power/skiboot/commit/57c451dd>`__ platform: add Raptor Blackbird support
+
+Thiago Jung Bauermann (2):
+
+-  `528b72fa <https://github.com/open-power/skiboot/commit/528b72fa>`__ core/init: Add ibm,processor-storage-keys property to CPU DT
+   node
+-  `9cd556ca <https://github.com/open-power/skiboot/commit/9cd556ca>`__ Makefile: Search for distro-provided cross-compiler
+
+Vasant Hegde (64):
+
+-  `ca222757 <https://github.com/open-power/skiboot/commit/ca222757>`__ OPAL: Add OPAL boot entry address to device tree
+-  `af98c563 <https://github.com/open-power/skiboot/commit/af98c563>`__ FSP/MDST: Rename fsp-mdst-table.c -> fsp-sysdump.c
+-  `9d57eb46 <https://github.com/open-power/skiboot/commit/9d57eb46>`__ hdata: Split MDST ‘type’ field to accommodate MPIPL
+-  `0b667811 <https://github.com/open-power/skiboot/commit/0b667811>`__ hdata: Define various DUMP related structures
+-  `f10e629c <https://github.com/open-power/skiboot/commit/f10e629c>`__ mem-map: Setup memory for MDDT table
+-  `bbe6e969 <https://github.com/open-power/skiboot/commit/bbe6e969>`__ mem-map: Setup memory for MDRT table
+-  `935fccb0 <https://github.com/open-power/skiboot/commit/935fccb0>`__ hdata: Update spirah structure
+-  `ed7110ee <https://github.com/open-power/skiboot/commit/ed7110ee>`__ hdata: Adjust various structure offset after relocation
+-  `0cadc985 <https://github.com/open-power/skiboot/commit/0cadc985>`__ hdata: Create /ibm, opal/dump device tree node
+-  `1ba3198b <https://github.com/open-power/skiboot/commit/1ba3198b>`__ MPIPL: Register for OPAL dump
+-  `4f94bda6 <https://github.com/open-power/skiboot/commit/4f94bda6>`__ MPIPL: Define OPAL metadata area
+-  `ef6da5f6 <https://github.com/open-power/skiboot/commit/ef6da5f6>`__ MPIPL: Add OPAL API to register for dump region
+-  `8d0c8ae5 <https://github.com/open-power/skiboot/commit/8d0c8ae5>`__ MPIPL: Add OPAL API to register tags
+-  `166eda4e <https://github.com/open-power/skiboot/commit/166eda4e>`__ SBE: Send OPAL relocated base address to SBE
+-  `0a17e674 <https://github.com/open-power/skiboot/commit/0a17e674>`__ MPIPL: Add support to trigger MPIPL on BMC system
+-  `fbd875d7 <https://github.com/open-power/skiboot/commit/fbd875d7>`__ MPIPL: Save crashing PIR
+-  `aa694ea0 <https://github.com/open-power/skiboot/commit/aa694ea0>`__ HIOMAP: Reset bmc mbox in MPIPL path
+-  `4a669d0f <https://github.com/open-power/skiboot/commit/4a669d0f>`__ platform: Introduce new reboot type
+-  `6326c712 <https://github.com/open-power/skiboot/commit/6326c712>`__ hdata: Add “mpipl-boot” property to “dump” node
+-  `3d85abd9 <https://github.com/open-power/skiboot/commit/3d85abd9>`__ MPIPL: Prepare OPAL data tag
+-  `19a8694f <https://github.com/open-power/skiboot/commit/19a8694f>`__ MPIPL: Add OPAL API to query saved tags
+-  `7fa3c1ec <https://github.com/open-power/skiboot/commit/7fa3c1ec>`__ MPIPL: Clear tags and metadata
+-  `fa5cb006 <https://github.com/open-power/skiboot/commit/fa5cb006>`__ MPIPL: Reserve memory to capture architected registers data
+-  `4ddf1144 <https://github.com/open-power/skiboot/commit/4ddf1144>`__ MPIPL: Prepare architected registers data tag
+-  `11cb51ab <https://github.com/open-power/skiboot/commit/11cb51ab>`__ MPIPL: Add documentation
+-  `cc028857 <https://github.com/open-power/skiboot/commit/cc028857>`__ MPIPL: struct opal_mpipl_fadump doesn’t needs to be packed
+-  `d75e82db <https://github.com/open-power/skiboot/commit/d75e82db>`__ core/ipmi: Fix use-after-free
+-  `a0c996e4 <https://github.com/open-power/skiboot/commit/a0c996e4>`__ core/ipmi: Remove redundant variable
+-  `49be3377 <https://github.com/open-power/skiboot/commit/49be3377>`__ gard: Add support to run gard tests on FSP platform
+-  `fc455b94 <https://github.com/open-power/skiboot/commit/fc455b94>`__ skiboot v6.3.4 release notes
+-  `66ab3cbd <https://github.com/open-power/skiboot/commit/66ab3cbd>`__ skiboot v6.5.1 release notes
+-  `b8bac56a <https://github.com/open-power/skiboot/commit/b8bac56a>`__ hostservices: Silence special wakeup assert/release logs
+-  `c3bfa320 <https://github.com/open-power/skiboot/commit/c3bfa320>`__ hdata: Fix reserved node label search
+-  `f1557795 <https://github.com/open-power/skiboot/commit/f1557795>`__ prd: Improve debug logs
+-  `790a604e <https://github.com/open-power/skiboot/commit/790a604e>`__ prd: Fix prd message queuing interface
+-  `7af08f2f <https://github.com/open-power/skiboot/commit/7af08f2f>`__ prd: Fix FSP - HBRT firmware_notify message
+-  `2a63db65 <https://github.com/open-power/skiboot/commit/2a63db65>`__ FSP/IPMI: Handle FSP reset reload
+-  `13c2f98e <https://github.com/open-power/skiboot/commit/13c2f98e>`__ skiboot 5.4.11 release notes
+-  `87a470c2 <https://github.com/open-power/skiboot/commit/87a470c2>`__ skiboot v6.5.2 release notes
+-  `28eab7cd <https://github.com/open-power/skiboot/commit/28eab7cd>`__ skiboot v6.3.3 release notes
+-  `120b1b7d <https://github.com/open-power/skiboot/commit/120b1b7d>`__ skiboot v6.0.21 release notes
+-  `a448c4e2 <https://github.com/open-power/skiboot/commit/a448c4e2>`__ hdata: Update MPIPL support IPL parameter
+-  `179d53df <https://github.com/open-power/skiboot/commit/179d53df>`__ stable/build: Do not convert warnings to error
+-  `eebee394 <https://github.com/open-power/skiboot/commit/eebee394>`__ hdata: Fix SP attention area address
+-  `457f9635 <https://github.com/open-power/skiboot/commit/457f9635>`__ mpipl: Release cpu data memory in free reserved memory path
+-  `b858aef5 <https://github.com/open-power/skiboot/commit/b858aef5>`__ mpipl: Disable fast-reboot during post MPIPL boot
+-  `958769d1 <https://github.com/open-power/skiboot/commit/958769d1>`__ FSP: Remove flash hook after completing code update
+-  `b0e02421 <https://github.com/open-power/skiboot/commit/b0e02421>`__ mpipl: Rework memory reservation for OPAL dump
+-  `c53e3394 <https://github.com/open-power/skiboot/commit/c53e3394>`__ platform: Log error to BMC even if diag data is missing
+-  `c8418ac7 <https://github.com/open-power/skiboot/commit/c8418ac7>`__ errorlog: Replace hardcode value with macro
+-  `caae4d47 <https://github.com/open-power/skiboot/commit/caae4d47>`__ list: Add list_add_after()
+-  `16d186cf <https://github.com/open-power/skiboot/commit/16d186cf>`__ memory: Sort memory regions list
+-  `841874b6 <https://github.com/open-power/skiboot/commit/841874b6>`__ ipmi-sel: Free ipmi_msg in error path
+-  `20101950 <https://github.com/open-power/skiboot/commit/20101950>`__ esel: Fix OEM SEL generator ID
+-  `033e797c <https://github.com/open-power/skiboot/commit/033e797c>`__ eSEL: Make sure PANIC logs are sent to BMC before calling
+   assert
+-  `daf9215c <https://github.com/open-power/skiboot/commit/daf9215c>`__ errorlog: Increase the severity of abnormal reboot events
+-  `2700092e <https://github.com/open-power/skiboot/commit/2700092e>`__ skiboot v6.5.3 release notes
+-  `d0043ee2 <https://github.com/open-power/skiboot/commit/d0043ee2>`__ skiboot v6.5.4 release notes
+-  `4ccfb4b3 <https://github.com/open-power/skiboot/commit/4ccfb4b3>`__ skiboot v6.0.22 release notes
+-  `3a4daeca <https://github.com/open-power/skiboot/commit/3a4daeca>`__ Revert “FSP: Disable PSI link whenever FSP tells OPAL about
+   impending R/R”
+-  `33323055 <https://github.com/open-power/skiboot/commit/33323055>`__ skiboot v6.0.23 release notes
+-  `d6eb510d <https://github.com/open-power/skiboot/commit/d6eb510d>`__ fsp: Ignore platform dump notification on P9
+-  `34664746 <https://github.com/open-power/skiboot/commit/34664746>`__ MPIPL: Add support to save crash CPU details on FSP system
+-  `9547b3da <https://github.com/open-power/skiboot/commit/9547b3da>`__ ZZ: Fix System Attention Indicator location code
+
+acsawdey (1):
+
+-  `a08549a9 <https://github.com/open-power/skiboot/commit/a08549a9>`__ external/mambo: rename env var PMEM_MODES to PMEM_MODE
+
+joy_chu (1):
+
+-  `9570730f <https://github.com/open-power/skiboot/commit/9570730f>`__ Add: add mihawk platform file
+
+Package: vesnin-xml
+-------------------
+
+`Repository <https://github.com/open-power/vesnin-xml>`__
+
+.. _patches-17:
+
+Patches
+~~~~~~~
+
+.. _commits-17:
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: witherspoon-xml
+------------------------
+
+`Repository <https://github.com/open-power/witherspoon-xml>`__
+
+.. _patches-18:
+
+Patches
+~~~~~~~
+
+.. _commits-18:
+
+Commits
+~~~~~~~
+
+Uma Yadlapati (1):
+
+-  `c622cb5 <https://github.com/open-power/witherspoon-xml/commit/c622cb5>`__ Add IPMI Key Clear sensor (#84)
+
+nmuruli (1):
+
+-  `0f9b366 <https://github.com/open-power/witherspoon-xml/commit/0f9b366>`__ Set IS_MPIPL_SUPPORTED to TRUE by default (#88)
+
+Package: zaius-xml
+------------------
+
+`Repository <https://github.com/open-power/zaius-xml>`__
+
+.. _patches-19:
+
+Patches
+~~~~~~~
+
+.. _commits-19:
+
+Commits
+~~~~~~~
+
+No changes.
diff --git a/doc/release-notes/v2.5.rst b/doc/release-notes/v2.5.rst
new file mode 100644
index 0000000..f6e5efa
--- /dev/null
+++ b/doc/release-notes/v2.5.rst
@@ -0,0 +1,2737 @@
+Release Notes for OpenPower Firmware v2.5
+=========================================
+
+op-build v2.5 was released on Friday, May 22nd, 2020. It became the current stable release of op-build, following on from v2.4,
+first released on July 28th, 2019.
+
+In addition to a number of bugfixes and re-factors, plus the 3 new platforms listed below, this release also brings new features
+since v2.4, to highlight a few:
+
+-  Memory Preserving Initial Program Load (MPIPL): a Power feature where the contents of memory are preserved while the system
+   reboots after a failure.
+-  Support for a new Power9 processor variant: Axone, aka P9P, with NPU3 hardware.
+-  OpenCAPI reset support: allow FPGA-based OpenCAPI devices to be re-flashed with a new device image, then reset to activate the
+   new image.
+
+Known issues
+------------
+
+-  Some Romulus and Witherspoon systems are intermittently failing to reboot after a Redfish "GracefulRestart" operation. The system
+   will stop indefinitely with the console message "OPAL: Shutdown request type 0x0...". A cold IPL (system power cycle) may be
+   required to recover from that scenario.
+
+New platforms
+-------------
+
+-  mihawk
+-  blackbird
+-  swift
+
+Updated Packages
+----------------
+
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| Package   | Old Version               | New Version               | Platforms                                                               |
++===========+===========================+===========================+=========================================================================+
+| elfutils  | 0.174                     | 0.176                     | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+|           |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| glibc     | 2.29-11-ge28ad44          | 2.29-30-g2d3fefd          | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+|           |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| hcode     | hw071319a.940             | hw052020a.opmst           | zaius, witherspoon, p9dsu, nicole, romulus                              |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| hostboot  | 8abecc2                   | 9865ef9                   | zaius, witherspoon, p9dsu, nicole, romulus                              |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| hostboot- | hw062819a.940             | hw013120a.opmst           | zaius, habanero, witherspoon, p9dsu, nicole, barreleye, romulus,        |
+| binaries  |                           |                           | firestone, p8dtu, palmetto, vesnin, garrison                            |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| hostboot- | 27dda29                   | 3267aff                   | habanero, barreleye, firestone, p8dtu, palmetto, vesnin, garrison       |
+| p8        |                           |                           |                                                                         |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| ima-catal | 3d30c7a                   | 89e00ee                   | zaius, habanero, witherspoon, p9dsu, nicole, barreleye, romulus,        |
+| og        |                           |                           | firestone, p8dtu, palmetto, vesnin, garrison                            |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| kexec-lit | 87d044a                   | 6b0130b                   | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+| e         |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| libflash  | v6.4                      | v6.6                      | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+|           |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| linux     | 5.2.1                     | 5.4.33                    | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+|           |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| linux-fir | 1baa348                   | 20190717                  | firenze, zaius, habanero, witherspoon, p9dsu, barreleye, romulus, opal, |
+| mware     |                           |                           | firestone, pseries, p8dtu, palmetto, zz, vesnin, garrison               |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| linux-hea | 5.2.1                     | 5.4.33                    | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+| ders      |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| machine-x | 26b2092                   | 9a6da5f                   | nicole                                                                  |
+| ml        |                           |                           |                                                                         |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| machine-x | eac9377                   | 5b3fbca                   | romulus                                                                 |
+| ml        |                           |                           |                                                                         |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| machine-x | a6f4df3                   | 0f9b366                   | witherspoon                                                             |
+| ml        |                           |                           |                                                                         |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| occ       | e5a2afd                   | ab4dc96                   | zaius, witherspoon, p9dsu, nicole, romulus                              |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| occ-p8    | 28b9f6e                   | 841e28a                   | firenze, habanero, barreleye, firestone, pseries, p8dtu, palmetto,      |
+|           |                           |                           | vesnin, garrison                                                        |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| openpower | 0346930                   | 175f00d                   | zaius, habanero, witherspoon, p9dsu, nicole, barreleye, romulus,        |
+| -pnor     |                           |                           | firestone, p8dtu, palmetto, vesnin, garrison                            |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| petitboot | v1.10.4                   | v1.12                     | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+|           |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| sbe       | b96edc8                   | c58e8fd                   | zaius, witherspoon, p9dsu, nicole, romulus                              |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+| skiboot   | v6.4                      | v6.6                      | firenze, zaius, habanero, witherspoon, p9dsu, nicole, barreleye,        |
+|           |                           |                           | romulus, opal, firestone, pseries, p8dtu, palmetto, zz, vesnin,         |
+|           |                           |                           | garrison                                                                |
++-----------+---------------------------+---------------------------+-------------------------------------------------------------------------+
+
+New Packages
+------------
+
++-----------+-----------+-------------+
+| Package   | Version   | Platforms   |
++===========+===========+=============+
++-----------+-----------+-------------+
+
+Removed Packages
+----------------
+
++------------+------------+-------------------------------------------------------------------------------------------------------------------+
+| Package    | Version    | Platforms                                                                                                         |
++============+============+===================================================================================================================+
+| iprutils   | 2.4.15.1   | zaius,habanero,witherspoon,p9dsu,nicole,barreleye,romulus,opal,firestone,pseries,p8dtu,palmetto,vesnin,garrison   |
++------------+------------+-------------------------------------------------------------------------------------------------------------------+
+| libsysfs   | 2.1.0      | zaius,habanero,witherspoon,p9dsu,nicole,barreleye,romulus,opal,firestone,pseries,p8dtu,palmetto,vesnin,garrison   |
++------------+------------+-------------------------------------------------------------------------------------------------------------------+
+
+Package: barreleye-xml
+----------------------
+
+`Repository <https://github.com/open-power/barreleye-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: firestone-xml
+----------------------
+
+`Repository <https://github.com/open-power/firestone-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: garrison-xml
+---------------------
+
+`Repository <https://github.com/open-power/garrison-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: habanero-xml
+---------------------
+
+`Repository <https://github.com/open-power/habanero-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: hcode
+--------------
+
+`Repository <https://github.com/open-power/hcode>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Amit Tendolkar (2):
+
+-  `7b72e51e <https://github.com/open-power/hcode/commit/7b72e51e>`__ HCode Error Logs - Final structure change for PGPE-OCC API
+-  `be8d21b4 <https://github.com/open-power/hcode/commit/be8d21b4>`__ OCC assisted PGPE, SGPE Error Logging
+
+Chris Steffen (1):
+
+-  `a3c009c8 <https://github.com/open-power/hcode/commit/a3c009c8>`__ Abus PPE TSX Fix
+
+Gregory S Still (1):
+
+-  `396561e6 <https://github.com/open-power/hcode/commit/396561e6>`__ Revert "Hcode: hcode changes for STOP exit in SMF enabled HV
+   mode"
+
+Jenny Huynh (1):
+
+-  `d1862ef5 <https://github.com/open-power/hcode/commit/d1862ef5>`__ Make COREFIR(63) unit checkstop for Cumulus
+
+Luis Fernandez (1):
+
+-  `8df77fd2 <https://github.com/open-power/hcode/commit/8df77fd2>`__ HB Implement Static Analysis with cppcheck
+
+Prem Shanker Jha (8):
+
+-  `04f9cd2b <https://github.com/open-power/hcode/commit/04f9cd2b>`__ Img Build: Updated STOP API version to reflect SPR self save
+   availability.
+-  `b3180c3a <https://github.com/open-power/hcode/commit/b3180c3a>`__ STOP API: API to verify API and image compatibility.
+-  `beaaeb86 <https://github.com/open-power/hcode/commit/beaaeb86>`__ UV Support : Augmented STOP API and self restore for enabling
+   ultravisor.
+-  `737919b4 <https://github.com/open-power/hcode/commit/737919b4>`__ Revert "UV Support : Augmented STOP API and self restore for
+   enabling UV"
+-  `b7658f97 <https://github.com/open-power/hcode/commit/b7658f97>`__ Self Restore: Changes for SMF and SPR self save.
+-  `065c07cb <https://github.com/open-power/hcode/commit/065c07cb>`__ Self Save: Fixing self save of core SPR.
+-  `9eca2072 <https://github.com/open-power/hcode/commit/9eca2072>`__ Hcode: hcode changes for STOP exit in SMF enabled HV mode
+-  `214ef8b2 <https://github.com/open-power/hcode/commit/214ef8b2>`__ HWP: Fixed HV-UV and UV transition during STOP entry in case
+   of LE.
+
+Rahul Batra (4):
+
+-  `9a22b25d <https://github.com/open-power/hcode/commit/9a22b25d>`__ PGPE: Optrace fixes
+-  `1096b337 <https://github.com/open-power/hcode/commit/1096b337>`__ PM: Fix DB0 Hang
+-  `13b47242 <https://github.com/open-power/hcode/commit/13b47242>`__ PGPE: Fix bad volt updt upon nack
+-  `e8d3ed8d <https://github.com/open-power/hcode/commit/e8d3ed8d>`__ PGPE: Multiple Droop Handling Fix
+
+Yue Du (4):
+
+-  `a3362cd2 <https://github.com/open-power/hcode/commit/a3362cd2>`__ CME: Reduce Image Size
+-  `bd92fe00 <https://github.com/open-power/hcode/commit/bd92fe00>`__ CME: Perform SMF Self Save After RAM Psscr.PLS in STOP Entry
+-  `694afd66 <https://github.com/open-power/hcode/commit/694afd66>`__ Self Save: Added support for SPR self save in CME hcode(func
+   ver)
+-  `b1c57628 <https://github.com/open-power/hcode/commit/b1c57628>`__ Axone: Disable Stop L3 Purge Abort to avoid disabling L3 hash
+
+hostboot (154):
+
+-  `e753ab63 <https://github.com/open-power/hcode/commit/e753ab63>`__ Release tag information updated for hw071719a.940
+-  `b7076783 <https://github.com/open-power/hcode/commit/b7076783>`__ Release tag information updated for hw071919a.940
+-  `faebbb83 <https://github.com/open-power/hcode/commit/faebbb83>`__ Release tag information updated for hw072219a.940
+-  `87e44f2b <https://github.com/open-power/hcode/commit/87e44f2b>`__ Release tag information updated for hw072419a.940
+-  `2b1e4726 <https://github.com/open-power/hcode/commit/2b1e4726>`__ Release tag information updated for hw072719a.940
+-  `8111338f <https://github.com/open-power/hcode/commit/8111338f>`__ Release tag information updated for hw073019a.940
+-  `3478a0b5 <https://github.com/open-power/hcode/commit/3478a0b5>`__ Release tag information updated for hw073119a.940
+-  `93d4ce16 <https://github.com/open-power/hcode/commit/93d4ce16>`__ Release tag information updated for hw080119a.940
+-  `cfaad693 <https://github.com/open-power/hcode/commit/cfaad693>`__ Release tag information updated for hw080219a.940
+-  `a4178079 <https://github.com/open-power/hcode/commit/a4178079>`__ Release tag information updated for hw081019a.940
+-  `6383eed4 <https://github.com/open-power/hcode/commit/6383eed4>`__ Release tag information updated for hw081319a.940
+-  `e34887db <https://github.com/open-power/hcode/commit/e34887db>`__ Release tag information updated for hw081419a.940
+-  `c7e1ca8c <https://github.com/open-power/hcode/commit/c7e1ca8c>`__ Release tag information updated for hw081619a.940
+-  `5dbebecf <https://github.com/open-power/hcode/commit/5dbebecf>`__ Release tag information updated for hw082819a.950
+-  `56f778b6 <https://github.com/open-power/hcode/commit/56f778b6>`__ Release tag information updated for hw082819b.950
+-  `3cf46f78 <https://github.com/open-power/hcode/commit/3cf46f78>`__ Release tag information updated for hw083019a.950
+-  `c01997e6 <https://github.com/open-power/hcode/commit/c01997e6>`__ Release tag information updated for hw090119a.950
+-  `5c34aed8 <https://github.com/open-power/hcode/commit/5c34aed8>`__ Release tag information updated for hw090319a.950
+-  `f5a4f0ca <https://github.com/open-power/hcode/commit/f5a4f0ca>`__ Release tag information updated for hw090419a.opmst
+-  `b2b481c6 <https://github.com/open-power/hcode/commit/b2b481c6>`__ Release tag information updated for hw090619a.opmst
+-  `70a95c69 <https://github.com/open-power/hcode/commit/70a95c69>`__ Release tag information updated for hw091019a.opmst
+-  `e016bbb5 <https://github.com/open-power/hcode/commit/e016bbb5>`__ Release tag information updated for hw091119a.opmst
+-  `bd6572db <https://github.com/open-power/hcode/commit/bd6572db>`__ Release tag information updated for hw091319a.opmst
+-  `a9791bdb <https://github.com/open-power/hcode/commit/a9791bdb>`__ Release tag information updated for hw091719a.opmst
+-  `0229050e <https://github.com/open-power/hcode/commit/0229050e>`__ Release tag information updated for hw091919a.opmst
+-  `3f12b2d6 <https://github.com/open-power/hcode/commit/3f12b2d6>`__ Release tag information updated for hw092019a.opmst
+-  `b7ef293f <https://github.com/open-power/hcode/commit/b7ef293f>`__ Release tag information updated for hw092119a.opmst
+-  `c136490e <https://github.com/open-power/hcode/commit/c136490e>`__ Release tag information updated for hw092519a.opmst
+-  `f0fd894e <https://github.com/open-power/hcode/commit/f0fd894e>`__ Release tag information updated for hw092619a.opmst
+-  `ffd6bf1a <https://github.com/open-power/hcode/commit/ffd6bf1a>`__ Release tag information updated for hw092719a.opmst
+-  `d0caf465 <https://github.com/open-power/hcode/commit/d0caf465>`__ Release tag information updated for hw092819a.opmst
+-  `6e5cf597 <https://github.com/open-power/hcode/commit/6e5cf597>`__ Release tag information updated for hw100119a.opmst
+-  `4e4150a8 <https://github.com/open-power/hcode/commit/4e4150a8>`__ Release tag information updated for hw100219a.opmst
+-  `b89376bb <https://github.com/open-power/hcode/commit/b89376bb>`__ Release tag information updated for hw100319a.opmst
+-  `8f9fe01d <https://github.com/open-power/hcode/commit/8f9fe01d>`__ Release tag information updated for hw100419a.opmst
+-  `eda2b054 <https://github.com/open-power/hcode/commit/eda2b054>`__ Release tag information updated for hw100519a.opmst
+-  `b199e0c9 <https://github.com/open-power/hcode/commit/b199e0c9>`__ Release tag information updated for hw100819a.opmst
+-  `cf7d20a8 <https://github.com/open-power/hcode/commit/cf7d20a8>`__ Release tag information updated for hw100919a.opmst
+-  `278684d5 <https://github.com/open-power/hcode/commit/278684d5>`__ Release tag information updated for hw101219a.opmst
+-  `2211d6ea <https://github.com/open-power/hcode/commit/2211d6ea>`__ Release tag information updated for hw101519a.opmst
+-  `ea8c716f <https://github.com/open-power/hcode/commit/ea8c716f>`__ Release tag information updated for hw101619a.opmst
+-  `925882fd <https://github.com/open-power/hcode/commit/925882fd>`__ Release tag information updated for hw101719a.opmst
+-  `a2f7b4ce <https://github.com/open-power/hcode/commit/a2f7b4ce>`__ Release tag information updated for hw101819a.opmst
+-  `b4200fb8 <https://github.com/open-power/hcode/commit/b4200fb8>`__ Release tag information updated for hw102319a.opmst
+-  `afddb39b <https://github.com/open-power/hcode/commit/afddb39b>`__ Release tag information updated for hw102419a.opmst
+-  `c240bed5 <https://github.com/open-power/hcode/commit/c240bed5>`__ Release tag information updated for hw102519a.opmst
+-  `2fd4b164 <https://github.com/open-power/hcode/commit/2fd4b164>`__ Release tag information updated for hw102619a.opmst
+-  `c1e42a5d <https://github.com/open-power/hcode/commit/c1e42a5d>`__ Release tag information updated for hw102919a.opmst
+-  `af8209da <https://github.com/open-power/hcode/commit/af8209da>`__ Release tag information updated for hw103019a.opmst
+-  `f5cfc834 <https://github.com/open-power/hcode/commit/f5cfc834>`__ Release tag information updated for hw110119a.opmst
+-  `be19b686 <https://github.com/open-power/hcode/commit/be19b686>`__ Release tag information updated for hw110219a.opmst
+-  `b7f2b8f2 <https://github.com/open-power/hcode/commit/b7f2b8f2>`__ Release tag information updated for hw110519a.opmst
+-  `fa49d180 <https://github.com/open-power/hcode/commit/fa49d180>`__ Release tag information updated for hw110719a.opmst
+-  `cf37b0ab <https://github.com/open-power/hcode/commit/cf37b0ab>`__ Release tag information updated for hw110819a.opmst
+-  `486d807e <https://github.com/open-power/hcode/commit/486d807e>`__ Release tag information updated for hw110919b.opmst
+-  `653be77b <https://github.com/open-power/hcode/commit/653be77b>`__ Release tag information updated for hw111319a.opmst
+-  `5fbc0759 <https://github.com/open-power/hcode/commit/5fbc0759>`__ Release tag information updated for hw111819a.opmst
+-  `23e6cff8 <https://github.com/open-power/hcode/commit/23e6cff8>`__ Release tag information updated for hw111919a.opmst
+-  `84d2649d <https://github.com/open-power/hcode/commit/84d2649d>`__ Release tag information updated for hw112019a.opmst
+-  `f22c2cdf <https://github.com/open-power/hcode/commit/f22c2cdf>`__ Release tag information updated for hw112219a.opmst
+-  `877d7b06 <https://github.com/open-power/hcode/commit/877d7b06>`__ Release tag & head commit information updated for
+   hw112619a.opmst
+-  `740156c3 <https://github.com/open-power/hcode/commit/740156c3>`__ Release tag & head commit information updated for
+   hw120419a.opmst
+-  `24b70f41 <https://github.com/open-power/hcode/commit/24b70f41>`__ Release tag & head commit information updated for
+   hw120919a.opmst
+-  `fb423b83 <https://github.com/open-power/hcode/commit/fb423b83>`__ Release tag & head commit information updated for
+   hw121019a.opmst
+-  `9658287f <https://github.com/open-power/hcode/commit/9658287f>`__ Release tag & head commit information updated for
+   hw121219a.opmst
+-  `7dc3ec6e <https://github.com/open-power/hcode/commit/7dc3ec6e>`__ Release tag & head commit information updated for
+   hw121919a.opmst
+-  `abb3817e <https://github.com/open-power/hcode/commit/abb3817e>`__ Release tag & head commit information updated for
+   hw122019a.opmst
+-  `0c8a19f1 <https://github.com/open-power/hcode/commit/0c8a19f1>`__ Release tag & head commit information updated for
+   hw123020a.opmst
+-  `b8defe1b <https://github.com/open-power/hcode/commit/b8defe1b>`__ Release tag & head commit information updated for
+   hw010220a.opmst
+-  `8628f1a4 <https://github.com/open-power/hcode/commit/8628f1a4>`__ Release tag & head commit information updated for
+   hw010620a.opmst
+-  `4d14a3df <https://github.com/open-power/hcode/commit/4d14a3df>`__ Release tag & head commit information updated for
+   hw010720a.opmst
+-  `0b5d50ff <https://github.com/open-power/hcode/commit/0b5d50ff>`__ Release tag & head commit information updated for
+   hw010820a.opmst
+-  `fae5994b <https://github.com/open-power/hcode/commit/fae5994b>`__ Release tag & head commit information updated for
+   hw010920a.opmst
+-  `ea3e3e75 <https://github.com/open-power/hcode/commit/ea3e3e75>`__ Release tag & head commit information updated for
+   hw011020a.opmst
+-  `3e2164c0 <https://github.com/open-power/hcode/commit/3e2164c0>`__ Release tag & head commit information updated for
+   hw011120a.opmst
+-  `e57fe736 <https://github.com/open-power/hcode/commit/e57fe736>`__ Release tag & head commit information updated for
+   hw011320a.opmst
+-  `8f6fdad9 <https://github.com/open-power/hcode/commit/8f6fdad9>`__ Release tag & head commit information updated for
+   hw011420a.opmst
+-  `99cffa02 <https://github.com/open-power/hcode/commit/99cffa02>`__ Release tag & head commit information updated for
+   hw011520a.opmst
+-  `cc7e95de <https://github.com/open-power/hcode/commit/cc7e95de>`__ Hcode: hcode changes for STOP exit in SMF enabled HV mode
+-  `af1e535c <https://github.com/open-power/hcode/commit/af1e535c>`__ Release tag & head commit information updated for
+   hw011620a.opmst
+-  `5b1e9a29 <https://github.com/open-power/hcode/commit/5b1e9a29>`__ Release tag & head commit information updated for
+   hw012120a.opmst
+-  `0e6b5b4f <https://github.com/open-power/hcode/commit/0e6b5b4f>`__ Release tag & head commit information updated for
+   hw012320a.opmst
+-  `2779192c <https://github.com/open-power/hcode/commit/2779192c>`__ Release tag & head commit information updated for
+   hw012420a.opmst
+-  `105a2313 <https://github.com/open-power/hcode/commit/105a2313>`__ Release tag & head commit information updated for
+   hw012720a.opmst
+-  `ef7c3d86 <https://github.com/open-power/hcode/commit/ef7c3d86>`__ Release tag & head commit information updated for
+   hw012820a.opmst
+-  `e7971b5b <https://github.com/open-power/hcode/commit/e7971b5b>`__ Release tag & head commit information updated for
+   hw012920a.opmst
+-  `4a5305fc <https://github.com/open-power/hcode/commit/4a5305fc>`__ Release tag & head commit information updated for
+   hw013020a.opmst
+-  `dba5f033 <https://github.com/open-power/hcode/commit/dba5f033>`__ Revert "Hcode: hcode changes for STOP exit in SMF enabled HV
+   mode"
+-  `c03f6bd5 <https://github.com/open-power/hcode/commit/c03f6bd5>`__ Release tag & head commit information updated for
+   hw013120a.opmst
+-  `d6a5e753 <https://github.com/open-power/hcode/commit/d6a5e753>`__ Release tag & head commit information updated for
+   hw020420a.opmst
+-  `c1708e3c <https://github.com/open-power/hcode/commit/c1708e3c>`__ Release tag & head commit information updated for
+   hw020520a.opmst
+-  `ff142255 <https://github.com/open-power/hcode/commit/ff142255>`__ Release tag & head commit information updated for
+   hw021120a.opmst
+-  `64c963de <https://github.com/open-power/hcode/commit/64c963de>`__ Release tag & head commit information updated for
+   hw021120b.opmst
+-  `727a2859 <https://github.com/open-power/hcode/commit/727a2859>`__ Release tag & head commit information updated for
+   hw021320a.opmst
+-  `6b19c24e <https://github.com/open-power/hcode/commit/6b19c24e>`__ Release tag & head commit information updated for
+   hw021420a.opmst
+-  `d3a9bfad <https://github.com/open-power/hcode/commit/d3a9bfad>`__ Release tag & head commit information updated for
+   hw021720a.opmst
+-  `2bbe1ddd <https://github.com/open-power/hcode/commit/2bbe1ddd>`__ Release tag & head commit information updated for
+   hw021820a.opmst
+-  `90a62283 <https://github.com/open-power/hcode/commit/90a62283>`__ Release tag & head commit information updated for
+   hw021920a.opmst
+-  `c02c9362 <https://github.com/open-power/hcode/commit/c02c9362>`__ Release tag & head commit information updated for
+   hw022020a.opmst
+-  `e2b9f7ba <https://github.com/open-power/hcode/commit/e2b9f7ba>`__ Release tag & head commit information updated for
+   hw022420a.opmst
+-  `2cf1d512 <https://github.com/open-power/hcode/commit/2cf1d512>`__ Release tag & head commit information updated for
+   hw022420b.opmst
+-  `ad88dac2 <https://github.com/open-power/hcode/commit/ad88dac2>`__ Release tag & head commit information updated for
+   hw022620a.opmst
+-  `7586c895 <https://github.com/open-power/hcode/commit/7586c895>`__ Release tag & head commit information updated for
+   hw022620b.opmst
+-  `2c1f3f88 <https://github.com/open-power/hcode/commit/2c1f3f88>`__ Release tag & head commit information updated for
+   hw022820a.opmst
+-  `3ea6aa70 <https://github.com/open-power/hcode/commit/3ea6aa70>`__ Release tag & head commit information updated for
+   hw030220a.opmst
+-  `5633c6eb <https://github.com/open-power/hcode/commit/5633c6eb>`__ Release tag & head commit information updated for
+   hw030320a.opmst
+-  `1a1280a8 <https://github.com/open-power/hcode/commit/1a1280a8>`__ Release tag & head commit information updated for
+   hw030420a.opmst
+-  `356145d8 <https://github.com/open-power/hcode/commit/356145d8>`__ Release tag & head commit information updated for
+   hw030520a.opmst
+-  `f4d730d9 <https://github.com/open-power/hcode/commit/f4d730d9>`__ Release tag & head commit information updated for
+   hw030620a.opmst
+-  `460e29ed <https://github.com/open-power/hcode/commit/460e29ed>`__ Release tag & head commit information updated for
+   hw030920a.opmst
+-  `ac97ba7a <https://github.com/open-power/hcode/commit/ac97ba7a>`__ Release tag & head commit information updated for
+   hw031020a.opmst
+-  `7bdcd32c <https://github.com/open-power/hcode/commit/7bdcd32c>`__ Release tag & head commit information updated for
+   hw031120a.opmst
+-  `63e6d024 <https://github.com/open-power/hcode/commit/63e6d024>`__ Release tag & head commit information updated for
+   hw031220a.opmst
+-  `e6e0c962 <https://github.com/open-power/hcode/commit/e6e0c962>`__ Release tag & head commit information updated for
+   hw031320a.opmst
+-  `6adfbb52 <https://github.com/open-power/hcode/commit/6adfbb52>`__ Release tag & head commit information updated for
+   hw031620a.opmst
+-  `d27dc42b <https://github.com/open-power/hcode/commit/d27dc42b>`__ Release tag & head commit information updated for
+   hw032020a.opmst
+-  `f96da34e <https://github.com/open-power/hcode/commit/f96da34e>`__ Release tag & head commit information updated for
+   hw032020b.opmst
+-  `56bc2678 <https://github.com/open-power/hcode/commit/56bc2678>`__ Release tag & head commit information updated for
+   hw032320a.opmst
+-  `69fb7bd3 <https://github.com/open-power/hcode/commit/69fb7bd3>`__ Release tag & head commit information updated for
+   hw032520a.opmst
+-  `1a795c98 <https://github.com/open-power/hcode/commit/1a795c98>`__ Release tag & head commit information updated for
+   hw032620a.opmst
+-  `e52088b0 <https://github.com/open-power/hcode/commit/e52088b0>`__ Release tag & head commit information updated for
+   hw032720a.opmst
+-  `d3d7eccf <https://github.com/open-power/hcode/commit/d3d7eccf>`__ Release tag & head commit information updated for
+   hw033020a.opmst
+-  `b4b0c9b9 <https://github.com/open-power/hcode/commit/b4b0c9b9>`__ Release tag & head commit information updated for
+   hw033120a.opmst
+-  `186d7570 <https://github.com/open-power/hcode/commit/186d7570>`__ Release tag & head commit information updated for
+   hw040120a.opmst
+-  `c5fb9e98 <https://github.com/open-power/hcode/commit/c5fb9e98>`__ Release tag & head commit information updated for
+   hw040220a.opmst
+-  `ef11f4b5 <https://github.com/open-power/hcode/commit/ef11f4b5>`__ Release tag & head commit information updated for
+   hw040320a.opmst
+-  `db8a373e <https://github.com/open-power/hcode/commit/db8a373e>`__ Release tag & head commit information updated for
+   hw040820a.opmst
+-  `5655a99d <https://github.com/open-power/hcode/commit/5655a99d>`__ Release tag & head commit information updated for
+   hw040920a.opmst
+-  `bb72cdc4 <https://github.com/open-power/hcode/commit/bb72cdc4>`__ Release tag & head commit information updated for
+   hw041020a.opmst
+-  `28c3f110 <https://github.com/open-power/hcode/commit/28c3f110>`__ Release tag & head commit information updated for
+   hw041420a.opmst
+-  `fec3f5ce <https://github.com/open-power/hcode/commit/fec3f5ce>`__ Release tag & head commit information updated for
+   hw041520a.opmst
+-  `bae922f5 <https://github.com/open-power/hcode/commit/bae922f5>`__ Release tag & head commit information updated for
+   hw041620a.opmst
+-  `105d09ad <https://github.com/open-power/hcode/commit/105d09ad>`__ Release tag & head commit information updated for
+   hw041720a.opmst
+-  `cd456911 <https://github.com/open-power/hcode/commit/cd456911>`__ Release tag & head commit information updated for
+   hw042020a.opmst
+-  `b43c5809 <https://github.com/open-power/hcode/commit/b43c5809>`__ Release tag & head commit information updated for
+   hw042220a.opmst
+-  `16ee9a3a <https://github.com/open-power/hcode/commit/16ee9a3a>`__ Release tag & head commit information updated for
+   hw042320a.opmst
+-  `c8ce6e1a <https://github.com/open-power/hcode/commit/c8ce6e1a>`__ Release tag & head commit information updated for
+   hw042420a.opmst
+-  `b742f96b <https://github.com/open-power/hcode/commit/b742f96b>`__ Release tag & head commit information updated for
+   hw042720a.opmst
+-  `e5f8c726 <https://github.com/open-power/hcode/commit/e5f8c726>`__ Release tag & head commit information updated for
+   hw042820a.opmst
+-  `37555bc4 <https://github.com/open-power/hcode/commit/37555bc4>`__ Release tag & head commit information updated for
+   hw042920a.opmst
+-  `70745bc2 <https://github.com/open-power/hcode/commit/70745bc2>`__ Release tag & head commit information updated for
+   hw043020a.opmst
+-  `a21b542d <https://github.com/open-power/hcode/commit/a21b542d>`__ Release tag & head commit information updated for
+   hw050120a.opmst
+-  `8d6e99b5 <https://github.com/open-power/hcode/commit/8d6e99b5>`__ Release tag & head commit information updated for
+   hw050420a.opmst
+-  `952dfde4 <https://github.com/open-power/hcode/commit/952dfde4>`__ Release tag & head commit information updated for
+   hw050520a.opmst
+-  `e7f8b795 <https://github.com/open-power/hcode/commit/e7f8b795>`__ Release tag & head commit information updated for
+   hw050620a.opmst
+-  `7cd08b67 <https://github.com/open-power/hcode/commit/7cd08b67>`__ Release tag & head commit information updated for
+   hw050720a.opmst
+-  `048533ba <https://github.com/open-power/hcode/commit/048533ba>`__ Release tag & head commit information updated for
+   hw050820a.opmst
+-  `abf8e7e7 <https://github.com/open-power/hcode/commit/abf8e7e7>`__ Release tag & head commit information updated for
+   hw051120a.opmst
+-  `aeff6ed3 <https://github.com/open-power/hcode/commit/aeff6ed3>`__ Release tag & head commit information updated for
+   hw051220a.opmst
+-  `c9b55da0 <https://github.com/open-power/hcode/commit/c9b55da0>`__ Release tag & head commit information updated for
+   hw051320a.opmst
+-  `0cb49134 <https://github.com/open-power/hcode/commit/0cb49134>`__ Release tag & head commit information updated for
+   hw051520a.opmst
+-  `54c16b84 <https://github.com/open-power/hcode/commit/54c16b84>`__ Release tag & head commit information updated for
+   hw051820a.opmst
+-  `56375f9d <https://github.com/open-power/hcode/commit/56375f9d>`__ Release tag & head commit information updated for
+   hw051920a.opmst
+-  `ebc58b0e <https://github.com/open-power/hcode/commit/ebc58b0e>`__ Release tag & head commit information updated for
+   hw052020a.opmst
+
+Package: hostboot
+-----------------
+
+`Repository <https://github.com/open-power/hostboot>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Adam Hale (14):
+
+-  `505d05255 <https://github.com/open-power/hostboot/commit/505d05255>`__ Move to long term CLSCOM workaround
+-  `a690cdb01 <https://github.com/open-power/hostboot/commit/a690cdb01>`__ Axone setup changes to disable bumpy toothpaste
+   workaround
+-  `aeaa72448 <https://github.com/open-power/hostboot/commit/aeaa72448>`__ Axone Gemini MDI issue workaround
+-  `c796d2cf8 <https://github.com/open-power/hostboot/commit/c796d2cf8>`__ Disable MC Channel Timeout because Gemini too slow
+-  `074a2dd38 <https://github.com/open-power/hostboot/commit/074a2dd38>`__ Axone int updates
+-  `23d883c6d <https://github.com/open-power/hostboot/commit/23d883c6d>`__ HW508066 - interleave granularity not setup for group of
+   3/6 in Axone
+-  `8b1553db4 <https://github.com/open-power/hostboot/commit/8b1553db4>`__ HW508063: Fix Mirrored BAR setup for SMF and Holes,set
+   map\_mode when flipped
+-  `3655c1760 <https://github.com/open-power/hostboot/commit/3655c1760>`__ Disable fast act for power savings - no performance
+   benefit
+-  `74609673f <https://github.com/open-power/hostboot/commit/74609673f>`__ enable commandlists on non-gemini systems
+-  `f83a8c5d6 <https://github.com/open-power/hostboot/commit/f83a8c5d6>`__ Set TL Credit limit to 18 for dcp0 credit return
+   improvement
+-  `31dd0024d <https://github.com/open-power/hostboot/commit/31dd0024d>`__ Correct chiplet target for mc\_omi\_fir\_reg xml
+-  `875d8fcca <https://github.com/open-power/hostboot/commit/875d8fcca>`__ Remove OMIDL FIR setup from procedures, is done in
+   initfiles
+-  `b481ff043 <https://github.com/open-power/hostboot/commit/b481ff043>`__ Init OMIC FIRs as masked
+-  `8969e0121 <https://github.com/open-power/hostboot/commit/8969e0121>`__ Don't unmask MCWAT parity errors in Axone
+
+Alvin Wang (2):
+
+-  `870098a4e <https://github.com/open-power/hostboot/commit/870098a4e>`__ Move MCBIST lib to generic folder
+-  `d236a4d9f <https://github.com/open-power/hostboot/commit/d236a4d9f>`__ Move kind library to generic
+
+Amit Tendolkar (2):
+
+-  `18aa5d9e3 <https://github.com/open-power/hostboot/commit/18aa5d9e3>`__ HCode Error Logs - Final structure change for PGPE-OCC
+   API
+-  `f40b75296 <https://github.com/open-power/hostboot/commit/f40b75296>`__ OCC assisted PGPE, SGPE Error Logging
+
+Andre A. Marin (18):
+
+-  `8e08836ea <https://github.com/open-power/hostboot/commit/8e08836ea>`__ Add DDR4 RCD attributes from the EXP resp structure
+-  `17867d02c <https://github.com/open-power/hostboot/commit/17867d02c>`__ Update TRFC\_DLR to uint16 for 16Gb support
+-  `a76d69766 <https://github.com/open-power/hostboot/commit/a76d69766>`__ Clean up PPE character format and target
+-  `bc4196fe7 <https://github.com/open-power/hostboot/commit/bc4196fe7>`__ Add unit tests for mss field\_t and macro def
+-  `0d474d644 <https://github.com/open-power/hostboot/commit/0d474d644>`__ Add bounds check API to generic\_check library
+-  `80ecda0c5 <https://github.com/open-power/hostboot/commit/80ecda0c5>`__ Add DDR4 RCD attributes from the EXP resp structure
+-  `3b661be89 <https://github.com/open-power/hostboot/commit/3b661be89>`__ Add supported\_rcd attribute from SPD + tests
+-  `f1c57ddcd <https://github.com/open-power/hostboot/commit/f1c57ddcd>`__ Update index\_within\_bounds() API
+-  `c5c86d25e <https://github.com/open-power/hostboot/commit/c5c86d25e>`__ Update get\_dimm\_target() api to get\_target()
+-  `f92ebb1bd <https://github.com/open-power/hostboot/commit/f92ebb1bd>`__ Update get\_ocmb\_target() api to get\_target()
+-  `81fe4816a <https://github.com/open-power/hostboot/commit/81fe4816a>`__ Update attr\_engine to handle more cases
+-  `9ba2723f1 <https://github.com/open-power/hostboot/commit/9ba2723f1>`__ Add empty explorer\_rc\_resp\_fields file for HB
+   mirroring
+-  `6110ede07 <https://github.com/open-power/hostboot/commit/6110ede07>`__ Add explorer rc response to eff\_config
+-  `f30db0976 <https://github.com/open-power/hostboot/commit/f30db0976>`__ Update API for std::begin and std::end
+-  `dcb88fdc5 <https://github.com/open-power/hostboot/commit/dcb88fdc5>`__ Add explorer rc response to eff\_config
+-  `846f8544d <https://github.com/open-power/hostboot/commit/846f8544d>`__ Remove unused p9a HWPs
+-  `e5e01d76f <https://github.com/open-power/hostboot/commit/e5e01d76f>`__ Remove .mk references to unused p9a object files
+-  `9865ef91c <https://github.com/open-power/hostboot/commit/9865ef91c>`__ Remove unused p9a files
+
+Andre Marin (15):
+
+-  `831f9e0d8 <https://github.com/open-power/hostboot/commit/831f9e0d8>`__ Fix HB error with -Os compile flag due to eff\_config
+-  `ab9139914 <https://github.com/open-power/hostboot/commit/ab9139914>`__ Move pre\_eff\_config specific code to chip specific
+   folders
+-  `0e26522ec <https://github.com/open-power/hostboot/commit/0e26522ec>`__ Add nimbus and cumulus empty files for find
+   specialization
+-  `06ed7403d <https://github.com/open-power/hostboot/commit/06ed7403d>`__ Move find\_magic from generic to Nimbus subdir path
+-  `9fb424b8a <https://github.com/open-power/hostboot/commit/9fb424b8a>`__ Change return size of the DDR4 DDIMM SPD
+-  `1061da027 <https://github.com/open-power/hostboot/commit/1061da027>`__ Add missing attributes needed to be set for generic
+   mss\_kind
+-  `491ac02e8 <https://github.com/open-power/hostboot/commit/491ac02e8>`__ Split nimbus and cumulus find API away from generic
+-  `86f11d17e <https://github.com/open-power/hostboot/commit/86f11d17e>`__ Add mss throttle files L1
+-  `f3b51d33a <https://github.com/open-power/hostboot/commit/f3b51d33a>`__ Move find API to share among memory controllers
+-  `85dce0de2 <https://github.com/open-power/hostboot/commit/85dce0de2>`__ Disable mem clk stop when in STR for DD2.\* only
+-  `a87142ef6 <https://github.com/open-power/hostboot/commit/a87142ef6>`__ Remove logic to disable memory clocks in STR if in
+   PD\_AND\_STR\_CLK\_STOP mode
+-  `cdc14bcd3 <https://github.com/open-power/hostboot/commit/cdc14bcd3>`__ Split nimbus and cumulus find API away from generic
+-  `f8776311e <https://github.com/open-power/hostboot/commit/f8776311e>`__ Add call to exp\_mss\_thermal\_init to step 14.2
+-  `daeac77bf <https://github.com/open-power/hostboot/commit/daeac77bf>`__ Add RC A2, B3, and C3 for 16Gb RDIMMs
+-  `b403e6730 <https://github.com/open-power/hostboot/commit/b403e6730>`__ Clean up for p10 porting dependency errors
+
+Artem Senichev (3):
+
+-  `ad8653d6a <https://github.com/open-power/hostboot/commit/ad8653d6a>`__ errl: Fix data reading from unaligned pointers
+-  `c79620afd <https://github.com/open-power/hostboot/commit/c79620afd>`__ errl: Free memory allocated for parsers
+-  `b47fb5983 <https://github.com/open-power/hostboot/commit/b47fb5983>`__ Replace descriptions with JEDEC register names
+
+Ben Gass (8):
+
+-  `111b6f0e6 <https://github.com/open-power/hostboot/commit/111b6f0e6>`__ p9\_nv\_ref\_clk\_enable, NV refclk bits moved to
+   ROOT\_CTRL7 for Axone.
+-  `fad02a31a <https://github.com/open-power/hostboot/commit/fad02a31a>`__ Translate logical mca regisers in mcs chiplet as mca
+   target type
+-  `6c4acfedf <https://github.com/open-power/hostboot/commit/6c4acfedf>`__ Move NPU\_ENABLE to its own initfile and call from
+   p9\_npu\_scominit for p9a.
+-  `38845b646 <https://github.com/open-power/hostboot/commit/38845b646>`__ Call p9\_fbc\_ioo\_dl\_npu\_scom from p9\_npu\_scominit
+-  `d534ac32b <https://github.com/open-power/hostboot/commit/d534ac32b>`__ Update explorer scom header files with newer figtree
+   data.
+-  `98bf4ecbd <https://github.com/open-power/hostboot/commit/98bf4ecbd>`__ Update OMI DS template support
+-  `51aae2461 <https://github.com/open-power/hostboot/commit/51aae2461>`__ Adding obj\_handle values for attentions to
+   explorer.scom.initfile
+-  `4b0d4cb36 <https://github.com/open-power/hostboot/commit/4b0d4cb36>`__ Translate OMIC DL register correctly
+
+Bill Hoffa (12):
+
+-  `6abe77368 <https://github.com/open-power/hostboot/commit/6abe77368>`__ Parse MEM\_PORT target type out of Machine Readable
+   Workbook (MRW)
+-  `07b05592e <https://github.com/open-power/hostboot/commit/07b05592e>`__ Add HUID value to DDIMM parsing
+-  `7cfa513f0 <https://github.com/open-power/hostboot/commit/7cfa513f0>`__ Process MRW MC Targets Correctly
+-  `05007faa4 <https://github.com/open-power/hostboot/commit/05007faa4>`__ Ignore OMIC connections for OCMB\_CHIP MRW processing
+-  `5825828fa <https://github.com/open-power/hostboot/commit/5825828fa>`__ Fix MMIO Addressing and Attributes on Non-Master Proc
+-  `e05083bbd <https://github.com/open-power/hostboot/commit/e05083bbd>`__ Skip Alternate PNOR Validation on alt-master proc if lpc
+   init fails
+-  `6c12d1ea9 <https://github.com/open-power/hostboot/commit/6c12d1ea9>`__ Update Sim level to 08\_23\_19\_f5e686\_simics.tar.gz
+-  `e22e362f3 <https://github.com/open-power/hostboot/commit/e22e362f3>`__ Axone 2-Proc Standalone Sim Enablement
+-  `75aa7d0bd <https://github.com/open-power/hostboot/commit/75aa7d0bd>`__ Remove Unused clearPoreBars function in Istep 21.3
+-  `c283187cd <https://github.com/open-power/hostboot/commit/c283187cd>`__ Modify INTRP Initialization Order to route LSI interrupts
+   over PSHIHB
+-  `7da5f5914 <https://github.com/open-power/hostboot/commit/7da5f5914>`__ Enable Serial Testcases
+-  `c13c81ff9 <https://github.com/open-power/hostboot/commit/c13c81ff9>`__ Fix HB Simulation Startup Script for using vexec
+
+Bradley Pepper (1):
+
+-  `504aa7ff8 <https://github.com/open-power/hostboot/commit/504aa7ff8>`__ Adds plug rule for dependent DIMM slots on Swift
+
+Brian Silver (4):
+
+-  `127c22d27 <https://github.com/open-power/hostboot/commit/127c22d27>`__ Add dump\_regs for MC
+-  `bb6571fca <https://github.com/open-power/hostboot/commit/bb6571fca>`__ Add mcbist L2 function
+-  `67a37edc8 <https://github.com/open-power/hostboot/commit/67a37edc8>`__ Change include paths in memory/lib, tests
+-  `a123070b9 <https://github.com/open-power/hostboot/commit/a123070b9>`__ Add support for dynamic MC PERF2 register setup
+
+Caleb Palmer (77):
+
+-  `6751459c3 <https://github.com/open-power/hostboot/commit/6751459c3>`__ PRD: Axone MemEccAnalysis Updates
+-  `b731bda96 <https://github.com/open-power/hostboot/commit/b731bda96>`__ PRD: Axone Restore DRAM Repairs support
+-  `4128797da <https://github.com/open-power/hostboot/commit/4128797da>`__ PRD: Axone sim support and test cases
+-  `e65958555 <https://github.com/open-power/hostboot/commit/e65958555>`__ PRD: Add OCMB support for ROW\_REPAIR code
+-  `ddf90e53a <https://github.com/open-power/hostboot/commit/ddf90e53a>`__ PRD: Cumulus Add PLL Slave Error Regs
+-  `37af28e05 <https://github.com/open-power/hostboot/commit/37af28e05>`__ PRD: NVDIMM avoid gard for general mem errors only for
+   IPL
+-  `9de71650f <https://github.com/open-power/hostboot/commit/9de71650f>`__ PRD: Axone OMIC to OMI connection and log parser updates
+-  `4ced77592 <https://github.com/open-power/hostboot/commit/4ced77592>`__ PRD: NVDIMM RDR no gard only for all repairs used case
+-  `a51a38812 <https://github.com/open-power/hostboot/commit/a51a38812>`__ PRD: Add Axone background scrubbing framework
+-  `b1090a522 <https://github.com/open-power/hostboot/commit/b1090a522>`__ PRD: Axone more MEM\_PORT cleanup and misc updates
+-  `8aa5e5fb9 <https://github.com/open-power/hostboot/commit/8aa5e5fb9>`__ PRD: NVDIMM signature and Warning Threshold update
+-  `248c0df21 <https://github.com/open-power/hostboot/commit/248c0df21>`__ PRD: NVDIMM don't check threshold unless no errors found
+-  `84e076b71 <https://github.com/open-power/hostboot/commit/84e076b71>`__ PRD: Axone MemoryMru Updates
+-  `285dc2bbe <https://github.com/open-power/hostboot/commit/285dc2bbe>`__ PRD: Uncomment OMI bus callout and cleanup getSlaveRanks
+-  `ea5da88b0 <https://github.com/open-power/hostboot/commit/ea5da88b0>`__ MDIA: Update mdiatestmba.H test case
+-  `cbd250000 <https://github.com/open-power/hostboot/commit/cbd250000>`__ PRD: Don't dealloc NVDIMMs set to NO\_GARD in a
+   predictive log
+-  `6034efa84 <https://github.com/open-power/hostboot/commit/6034efa84>`__ PRD: Skip callouts without trgts when clearing NVDIMM
+   gard
+-  `78c527c5e <https://github.com/open-power/hostboot/commit/78c527c5e>`__ PRD: NVDIMM signatures use MCA HUID instead of DIMM
+-  `f7aeced78 <https://github.com/open-power/hostboot/commit/f7aeced78>`__ PRD: NVDIMM Fix negative temperature check
+-  `8d0f324f7 <https://github.com/open-power/hostboot/commit/8d0f324f7>`__ PRD: Do not clear VPD at RDR when avoiding NVDIMM gard
+-  `8e9808de5 <https://github.com/open-power/hostboot/commit/8e9808de5>`__ PRD: Fix reading of NVDIMM ES\_TEMP value
+-  `f5de75d9d <https://github.com/open-power/hostboot/commit/f5de75d9d>`__ PRD: NVDIMM Additional FFDC for error analysis
+-  `b08fe621d <https://github.com/open-power/hostboot/commit/b08fe621d>`__ PRD: Update NVDIMM warning threshold adjustment
+-  `bfe56382f <https://github.com/open-power/hostboot/commit/bfe56382f>`__ PRD: NVDIMM keep log hidden if no error found during
+   analysis
+-  `d9057b40a <https://github.com/open-power/hostboot/commit/d9057b40a>`__ PRD: Fix UNIT\_CS analysis in OCMB chiplet FIR
+-  `d0f0ff1e5 <https://github.com/open-power/hostboot/commit/d0f0ff1e5>`__ PRD: Lane repair OMI bus callout changes
+-  `b93f63ad3 <https://github.com/open-power/hostboot/commit/b93f63ad3>`__ PRD: NVDIMM workaround for ES TEMP glitches
+-  `b99004fb7 <https://github.com/open-power/hostboot/commit/b99004fb7>`__ PRD: Initial Axone Channel Fail support
+-  `70a4b6bf1 <https://github.com/open-power/hostboot/commit/70a4b6bf1>`__ PRD: Add threshold for stopping on UEs/CEs during BgScrub
+-  `3920d160e <https://github.com/open-power/hostboot/commit/3920d160e>`__ PRD: Fix returning port position in dynamic mem dealloc
+-  `9d750b3d9 <https://github.com/open-power/hostboot/commit/9d750b3d9>`__ PRD: Add additional FFDC to runtime NVDIMM analysis
+-  `2dbc30966 <https://github.com/open-power/hostboot/commit/2dbc30966>`__ PRD: Axone UE/CE threshold for background scrub
+-  `195dd6a15 <https://github.com/open-power/hostboot/commit/195dd6a15>`__ PRD: Axone VCM Updates
+-  `e017df4c9 <https://github.com/open-power/hostboot/commit/e017df4c9>`__ PRD: Axone Two Phase Scrub (TPS) support
+-  `e3407c1b4 <https://github.com/open-power/hostboot/commit/e3407c1b4>`__ PRD: OCMB handling for checkstop analysis path
+-  `d8c686118 <https://github.com/open-power/hostboot/commit/d8c686118>`__ MDIA: Uncomment HWP calls
+-  `fcbb09411 <https://github.com/open-power/hostboot/commit/fcbb09411>`__ Uncomment the remainder of hwp\_wrappers.H
+-  `0247cc5fb <https://github.com/open-power/hostboot/commit/0247cc5fb>`__ Update ATTR\_MEM\_VPD\_DQ\_MAPs default to a 1-to-1
+   mapping
+-  `e3870cb85 <https://github.com/open-power/hostboot/commit/e3870cb85>`__ Add DIMM\_BAD\_DQ\_DATA field for DDR4 DDIMM SPD and bad
+   dq tests
+-  `574346780 <https://github.com/open-power/hostboot/commit/574346780>`__ PRD: Update CE/UE flood threshold to reset on new ranks
+-  `bcdae9c49 <https://github.com/open-power/hostboot/commit/bcdae9c49>`__ PRD: Axone Dynamic Mem Dealloc Addr Translate Port Addr
+-  `d65563f09 <https://github.com/open-power/hostboot/commit/d65563f09>`__ PRD: Axone Dynamic Mem Dealloc addr translate insert Grp
+   ID
+-  `d1b590057 <https://github.com/open-power/hostboot/commit/d1b590057>`__ PRD: Uncomment Axone HWP code
+-  `70ef78700 <https://github.com/open-power/hostboot/commit/70ef78700>`__ PRD: NVDIMM only update status bits for predictive logs
+-  `1f4ac83bb <https://github.com/open-power/hostboot/commit/1f4ac83bb>`__ PRD: Add check for OCMBs to MemDealloc::dimmList
+-  `cbb2bd756 <https://github.com/open-power/hostboot/commit/cbb2bd756>`__ PRD: Fix checkEccFirs template problem
+-  `da3c3ba33 <https://github.com/open-power/hostboot/commit/da3c3ba33>`__ PRD: Add workaround for OMIDLFIR channel fails
+-  `c10eba828 <https://github.com/open-power/hostboot/commit/c10eba828>`__ PRD: Change MCC to OCMB chip connection lookup
+-  `a3fec9cb1 <https://github.com/open-power/hostboot/commit/a3fec9cb1>`__ MDIA: Reenable PRD memdiags instead of cronus version
+-  `7e9fe96af <https://github.com/open-power/hostboot/commit/7e9fe96af>`__ PRD: Workarounds to avoid HIO during checkstops
+-  `1b10af06e <https://github.com/open-power/hostboot/commit/1b10af06e>`__ Fix getting all OCMBs for mss\_scrub
+-  `51440d90c <https://github.com/open-power/hostboot/commit/51440d90c>`__ PRD: NVDIMM callouts for register access errors
+-  `a91c5531f <https://github.com/open-power/hostboot/commit/a91c5531f>`__ PRD: Add default callout for chip connection lookup fails
+-  `f07d459fb <https://github.com/open-power/hostboot/commit/f07d459fb>`__ PRD: Disable OCMB UCS check and clear subchnl specific
+   attn
+-  `b6badfcb9 <https://github.com/open-power/hostboot/commit/b6badfcb9>`__ MDIA: Update timeout FFDC gathering for OCMBs
+-  `004dbbae7 <https://github.com/open-power/hostboot/commit/004dbbae7>`__ PRD: Channel Fail fix OCMB UCS query
+-  `e8491f368 <https://github.com/open-power/hostboot/commit/e8491f368>`__ PRD: Dyn mem dealloc fix getting ocmb channel pos
+-  `d89b3e7bb <https://github.com/open-power/hostboot/commit/d89b3e7bb>`__ MDIA: Enable restore dram repairs for Axone
+-  `638312ea6 <https://github.com/open-power/hostboot/commit/638312ea6>`__ MDIA: Update mdiatestmba test cases
+-  `cec911056 <https://github.com/open-power/hostboot/commit/cec911056>`__ MDIA: Add MCC registers to timeout FFDC
+-  `cff27861a <https://github.com/open-power/hostboot/commit/cff27861a>`__ MDIA: Disable restoreDramRepairs until we get updated HWP
+   call
+-  `e64493c22 <https://github.com/open-power/hostboot/commit/e64493c22>`__ Make mss::ccs::execute static inline
+-  `cf23c9a46 <https://github.com/open-power/hostboot/commit/cf23c9a46>`__ PRD: Add dependencies for restore\_repair in
+   hwp\_wrappers
+-  `9ed3a8c72 <https://github.com/open-power/hostboot/commit/9ed3a8c72>`__ MDIA: For OCMBs avoid getting parent chip
+-  `7bf1bbfec <https://github.com/open-power/hostboot/commit/7bf1bbfec>`__ PRD: Ignore mainline IUE if on at same time as mainline
+   UE
+-  `cc929c6fd <https://github.com/open-power/hostboot/commit/cc929c6fd>`__ PRD: Update OCMB\_LFIR[38] to defaultMaskedError
+-  `03df92ad6 <https://github.com/open-power/hostboot/commit/03df92ad6>`__ PRD: Import extra signatures into OCMB rule file
+-  `296ac823f <https://github.com/open-power/hostboot/commit/296ac823f>`__ PRD: Add assert checks for possible nullptr targets
+-  `1040e48ee <https://github.com/open-power/hostboot/commit/1040e48ee>`__ PRD: Don't check for UE as side effect to now masked
+   error
+-  `3a0980566 <https://github.com/open-power/hostboot/commit/3a0980566>`__ PRD: Reenable restoreDramRepairs with updated HWP
+-  `f0daff609 <https://github.com/open-power/hostboot/commit/f0daff609>`__ PRD: Update spare info in mem dq bitmap
+-  `3e8d0ecec <https://github.com/open-power/hostboot/commit/3e8d0ecec>`__ PRD: Fix MPE error path asserts
+-  `f43234df9 <https://github.com/open-power/hostboot/commit/f43234df9>`__ PRD: Use wrapper for nimbus restore repairs call
+-  `db5cabf13 <https://github.com/open-power/hostboot/commit/db5cabf13>`__ MDIA: Swift disable restore dram repairs for the meantime
+-  `17f150207 <https://github.com/open-power/hostboot/commit/17f150207>`__ PRD: Fix MemoryMru dimm callout and FFDC
+-  `7e11c476d <https://github.com/open-power/hostboot/commit/7e11c476d>`__ PRD: Add more dependencies for hwp\_wrappers.H
+-  `83aadcace <https://github.com/open-power/hostboot/commit/83aadcace>`__ PRD: Fix OMIC action reg 32 per day thresholds
+
+Chen Du (3):
+
+-  `e783d1e86 <https://github.com/open-power/hostboot/commit/e783d1e86>`__ Dynamically generate ocmb cmd/rsp seq id
+-  `85992ee55 <https://github.com/open-power/hostboot/commit/85992ee55>`__ Split nvdimm vendor logs
+-  `913aaa284 <https://github.com/open-power/hostboot/commit/913aaa284>`__ Fix MRW HUID for PMIC, OCMB, MEMPORT
+
+Chris Cain (1):
+
+-  `ceef10b02 <https://github.com/open-power/hostboot/commit/ceef10b02>`__ HTMGT: Update to support new PGPE elog structure
+
+Chris Steffen (1):
+
+-  `2619526af <https://github.com/open-power/hostboot/commit/2619526af>`__ P9A Tx Fifo Init + Init Settings Update
+
+Christian Geddes (60):
+
+-  `e7f8781ee <https://github.com/open-power/hostboot/commit/e7f8781ee>`__ Force sbe update loop if a change in OMI freq is detected
+-  `73acf956a <https://github.com/open-power/hostboot/commit/73acf956a>`__ Support reading from EECACHE during runtime
+-  `c865c731a <https://github.com/open-power/hostboot/commit/c865c731a>`__ Register EEPROM\_CACHE device route for NODE targets for
+   PVPD support
+-  `81c225bca <https://github.com/open-power/hostboot/commit/81c225bca>`__ Enable runtime test for Axone
+-  `be772a1e3 <https://github.com/open-power/hostboot/commit/be772a1e3>`__ Break out of loop if we fail to load reserved mem section
+-  `b3c0accfe <https://github.com/open-power/hostboot/commit/b3c0accfe>`__ Remove MVPD,MEMD and CENHWIMG section from Axone pnor
+   layout
+-  `f9d0c39c1 <https://github.com/open-power/hostboot/commit/f9d0c39c1>`__ Skip phase 2 of IDEC check for ocmb targets for gemini
+-  `7e05c2e69 <https://github.com/open-power/hostboot/commit/7e05c2e69>`__ Always update EECACHE header when we find a new eeprom
+   entry
+-  `ed0430e90 <https://github.com/open-power/hostboot/commit/ed0430e90>`__ OR mux select with the "enable" bit 0b1000 when making
+   selection
+-  `119219fbd <https://github.com/open-power/hostboot/commit/119219fbd>`__ Skip mss\_scrub with axone system for until we get it
+   working
+-  `311f9e017 <https://github.com/open-power/hostboot/commit/311f9e017>`__ Add temp workaround to force Axone to use Nimbus's hcode
+   lid
+-  `650345ffb <https://github.com/open-power/hostboot/commit/650345ffb>`__ Switch which OMI init hwp we call for GEMINI ocmb targets
+-  `9bdc8a41d <https://github.com/open-power/hostboot/commit/9bdc8a41d>`__ Temp workaround to skip filling in TPM info for RT on
+   axone systems
+-  `b424be0fc <https://github.com/open-power/hostboot/commit/b424be0fc>`__ Set Gemini EC level to be 0x10 if 0x00 is found in SPD
+   revision field
+-  `aade92abb <https://github.com/open-power/hostboot/commit/aade92abb>`__ Add workaround to ignore MC channel hangs for Swift
+   bringup
+-  `a7892148b <https://github.com/open-power/hostboot/commit/a7892148b>`__ Only compare a proc's omi freq if it has functional OCMB
+   children
+-  `c98af339b <https://github.com/open-power/hostboot/commit/c98af339b>`__ Do not unload modules loaded for unit tests
+-  `0f996208d <https://github.com/open-power/hostboot/commit/0f996208d>`__ Use REL\_POS of OMI and not OCMB for calculating hdat
+   DIMM ID's
+-  `ca543f732 <https://github.com/open-power/hostboot/commit/ca543f732>`__ Add OSYS record MM/SS keyword checks for PVPD
+-  `b1ec6c18b <https://github.com/open-power/hostboot/commit/b1ec6c18b>`__ Update ocmb i2c driver to send address in read command
+   sequence
+-  `a950157bf <https://github.com/open-power/hostboot/commit/a950157bf>`__ Update sim scripts to use $proc\_chip\_type to lookup
+   chip for Axone
+-  `4e839856d <https://github.com/open-power/hostboot/commit/4e839856d>`__ Lookup ID/EC register on Gemini OCBMs for comparison to
+   SPD
+-  `3bbc07ee0 <https://github.com/open-power/hostboot/commit/3bbc07ee0>`__ Introduce exp\_getidec HWP
+-  `00fa8005d <https://github.com/open-power/hostboot/commit/00fa8005d>`__ Compile new ioo\_dl\_npu\_scominit HWP so its ready to
+   use
+-  `6ba5510b7 <https://github.com/open-power/hostboot/commit/6ba5510b7>`__ Add "Not Wired" option for OPTICS\_CONFIG\_MODE attrs
+-  `59a241514 <https://github.com/open-power/hostboot/commit/59a241514>`__ Update DIMM mux\_select to match their OCMB counterparts
+-  `bafe5de9d <https://github.com/open-power/hostboot/commit/bafe5de9d>`__ Account for Explorer's DMB\_REVISION format in its SPD
+-  `e85d6dd64 <https://github.com/open-power/hostboot/commit/e85d6dd64>`__ Re-enable mss\_scrub in istep16 for axone systems
+-  `8ab48e774 <https://github.com/open-power/hostboot/commit/8ab48e774>`__ Apply MC\_HANG timeout workaround to all processors
+-  `147018379 <https://github.com/open-power/hostboot/commit/147018379>`__ Skip OCMB targets while decidng what targets to process
+   for IpmiFruInv
+-  `69f3bd253 <https://github.com/open-power/hostboot/commit/69f3bd253>`__ Update axone pnor layout to move eecache to the begining
+-  `b7c4af200 <https://github.com/open-power/hostboot/commit/b7c4af200>`__ Add wrapper to exp\_getidec HWP so we can call it in
+   platform code
+-  `1b3bc0e6a <https://github.com/open-power/hostboot/commit/1b3bc0e6a>`__ Disable OMI deconfig tests
+-  `0f3e041cb <https://github.com/open-power/hostboot/commit/0f3e041cb>`__ Add new DDR4 DDIMM keyword ENTIRE\_SPD\_WITHOUT\_EFD
+-  `e1de8adbd <https://github.com/open-power/hostboot/commit/e1de8adbd>`__ Increase hostboot standalone timeout to be 75 minutes
+-  `bce435643 <https://github.com/open-power/hostboot/commit/bce435643>`__ Add call to fapi wrapper of exp\_getidec into hwasPlat
+   code
+-  `51c6d68c1 <https://github.com/open-power/hostboot/commit/51c6d68c1>`__ Update dimmspd used by explorers in axone simics
+-  `1629aca37 <https://github.com/open-power/hostboot/commit/1629aca37>`__ Increase timeout for OCMB inband communication doorbell
+-  `5b6b984fa <https://github.com/open-power/hostboot/commit/5b6b984fa>`__ Reorganize omi training steps accounting for new omi
+   training hwps
+-  `8b524caae <https://github.com/open-power/hostboot/commit/8b524caae>`__ Set endianess attributes in hb\_customized\_attrs instead
+   of in code
+-  `2dc7d1457 <https://github.com/open-power/hostboot/commit/2dc7d1457>`__ Update Part Number field side for DDR4 DDIMM spd layout
+-  `a058d0e23 <https://github.com/open-power/hostboot/commit/a058d0e23>`__ Call cronus version of memdiags for explorer until prd
+   version works
+-  `aa122e3e9 <https://github.com/open-power/hostboot/commit/aa122e3e9>`__ Don't consider processor's OMI freq if it is 0 when freq
+   restrictions
+-  `9c4be0da9 <https://github.com/open-power/hostboot/commit/9c4be0da9>`__ Only call memdiags on Explorer ocmb chips
+-  `632582f10 <https://github.com/open-power/hostboot/commit/632582f10>`__ Allow dynmic i2c device addresses and set up PMIC targets
+   to do this
+-  `22b39d874 <https://github.com/open-power/hostboot/commit/22b39d874>`__ Adjust deadman timeout request time to be 10.5 seconds
+-  `d1260d0c7 <https://github.com/open-power/hostboot/commit/d1260d0c7>`__ Fix ipmifruinv calls for dimms in swift systems
+-  `c016e9860 <https://github.com/open-power/hostboot/commit/c016e9860>`__ Avoid commiting errors inside fapi2\_i2c device driver
+-  `c3689a691 <https://github.com/open-power/hostboot/commit/c3689a691>`__ Fixes to PMIC presence detection
+-  `6d6b8ced5 <https://github.com/open-power/hostboot/commit/6d6b8ced5>`__ Allow HWPs that send BOOT\_CONFIG command to ocbm to run
+   in simics
+-  `7cb71794b <https://github.com/open-power/hostboot/commit/7cb71794b>`__ Correct ptr math and force CI i/o in kernal for machchk
+   escalation
+-  `b80205824 <https://github.com/open-power/hostboot/commit/b80205824>`__ Filter out i2c slaves that are not associated with a
+   given master
+-  `946a75dff <https://github.com/open-power/hostboot/commit/946a75dff>`__ Add calls to p9a\_disable\_ocmb\_i2c HWP in istep 8.12
+-  `ea01d258c <https://github.com/open-power/hostboot/commit/ea01d258c>`__ Introduce eecache\_editor.pl tool
+-  `2a1b24baf <https://github.com/open-power/hostboot/commit/2a1b24baf>`__ Correct target hiearchy in axone system xml
+-  `d712b65d7 <https://github.com/open-power/hostboot/commit/d712b65d7>`__ Remove workaround setting EFUSE3 power-on value
+-  `2a806047e <https://github.com/open-power/hostboot/commit/2a806047e>`__ Remove workaround added to increment MCS timeout for
+   gemini's
+-  `582071097 <https://github.com/open-power/hostboot/commit/582071097>`__ Add hwp retry loop as workaround until we resolve timeout
+   issue
+-  `f32aff51f <https://github.com/open-power/hostboot/commit/f32aff51f>`__ Make RT\_TARG id generation code common between IPL time
+   and runtime
+-  `7866a7cc7 <https://github.com/open-power/hostboot/commit/7866a7cc7>`__ Add API to get OCMB's mmio information, used to build
+   HDAT
+
+Claus Michael Olsen (1):
+
+-  `aea300c8e <https://github.com/open-power/hostboot/commit/aea300c8e>`__ Fix to SW473350: p9\_xip\_customize Vpd core fill bug
+
+Corey Swenson (20):
+
+-  `f088a0dc2 <https://github.com/open-power/hostboot/commit/f088a0dc2>`__ Miscellaneous NVDIMM cleanup
+-  `af4454c30 <https://github.com/open-power/hostboot/commit/af4454c30>`__ NVDIMM unlock error DELAYED\_DECONFIG
+-  `f691dc23a <https://github.com/open-power/hostboot/commit/f691dc23a>`__ HBRT command from SBE to trigger NVDIMM operations
+-  `0856a71d6 <https://github.com/open-power/hostboot/commit/0856a71d6>`__ Fix NVDIMM update error log comments
+-  `2ad648b98 <https://github.com/open-power/hostboot/commit/2ad648b98>`__ NVDIMM: Load warning thresholds, after FW\_UPDATE, on
+   every IPL
+-  `d8db346a1 <https://github.com/open-power/hostboot/commit/d8db346a1>`__ Add Encryption Enabled bit to NV\_STATUS\_FLAG
+-  `26c32cba6 <https://github.com/open-power/hostboot/commit/26c32cba6>`__ NVDIMM: Additional FFDC for NVDIMM/BPM callouts
+-  `ce0d29c96 <https://github.com/open-power/hostboot/commit/ce0d29c96>`__ Add vendor log data to FFDC for all NVDIMM HW errors
+-  `1434b8952 <https://github.com/open-power/hostboot/commit/1434b8952>`__ NVDIMM: FW\_UPDATE: New FFDC for SECURITY\_ERROR
+-  `adc61f1bd <https://github.com/open-power/hostboot/commit/adc61f1bd>`__ Attempt to unlock encryption in NVDIMM Arm function
+-  `7fb809d19 <https://github.com/open-power/hostboot/commit/7fb809d19>`__ Re-enable NV\_STATUS notification for Opal
+-  `f41f71705 <https://github.com/open-power/hostboot/commit/f41f71705>`__ Fix linker Object init
+-  `d8decc681 <https://github.com/open-power/hostboot/commit/d8decc681>`__ Add support for NULL char in vendor log
+-  `7e66117da <https://github.com/open-power/hostboot/commit/7e66117da>`__ Add NVDIMM opertions to rt\_cmds
+-  `d432c4503 <https://github.com/open-power/hostboot/commit/d432c4503>`__ Fix auto-arming NVDIMMs for ESS systems
+-  `5eaa67a66 <https://github.com/open-power/hostboot/commit/5eaa67a66>`__ Always send NV\_STATUS to Opal when opal-prd starts
+-  `c3d65931f <https://github.com/open-power/hostboot/commit/c3d65931f>`__ Fix for missing HBRT error log after error injected
+-  `634b78532 <https://github.com/open-power/hostboot/commit/634b78532>`__ NVDIMM : Catch save error during MPIPL
+-  `a96914fab <https://github.com/open-power/hostboot/commit/a96914fab>`__ Add support for NVDIMM secure erase verify
+-  `e69d7d9ff <https://github.com/open-power/hostboot/commit/e69d7d9ff>`__ ARM/DISARM NVDIMMs by proc
+
+Dan Crowell (60):
+
+-  `d0e2fddc7 <https://github.com/open-power/hostboot/commit/d0e2fddc7>`__ Add option to factory reset nvdimms
+-  `f2281d448 <https://github.com/open-power/hostboot/commit/f2281d448>`__ Enable URMOR hack for Axone
+-  `2dc572888 <https://github.com/open-power/hostboot/commit/2dc572888>`__ Add type to adapt mrw version of i2c mux to hb mux type
+-  `0d622822e <https://github.com/open-power/hostboot/commit/0d622822e>`__ Enable URMOR hack for Axone in shutdown path
+-  `7a758c4ef <https://github.com/open-power/hostboot/commit/7a758c4ef>`__ Handle processor swap between slots to 1-socket system
+-  `6c712843a <https://github.com/open-power/hostboot/commit/6c712843a>`__ Force NO\_SWAP for Explorer MMIO word swap for now
+-  `0606bb795 <https://github.com/open-power/hostboot/commit/0606bb795>`__ Honor DDIMM EFD metadata to choose OMI frequencies
+-  `b4b84d189 <https://github.com/open-power/hostboot/commit/b4b84d189>`__ Fix BPM script to put temp files into obj tree
+-  `fae196d66 <https://github.com/open-power/hostboot/commit/fae196d66>`__ Add Axone comment to grouping attribute
+-  `c0426a12d <https://github.com/open-power/hostboot/commit/c0426a12d>`__ Remove a file to remirror it
+-  `6d14af625 <https://github.com/open-power/hostboot/commit/6d14af625>`__ Add subsystem translations for NVDIMM part callouts
+-  `4b8fb565e <https://github.com/open-power/hostboot/commit/4b8fb565e>`__ Fix OMIC MRW processing
+-  `cd820b662 <https://github.com/open-power/hostboot/commit/cd820b662>`__ Final solution for Axone HCODE lid id
+-  `2ceefa096 <https://github.com/open-power/hostboot/commit/2ceefa096>`__ Do not allow PNOR partition adjustments when not in test
+   mode
+-  `5f27f36ed <https://github.com/open-power/hostboot/commit/5f27f36ed>`__ Enable SMF tests for Axone
+-  `56b1dbc3c <https://github.com/open-power/hostboot/commit/56b1dbc3c>`__ Skip hardware delays when running in Simics
+-  `8ad37b962 <https://github.com/open-power/hostboot/commit/8ad37b962>`__ Add support for DMI-MEMBUF bus failures to fapi
+-  `a3a392385 <https://github.com/open-power/hostboot/commit/a3a392385>`__ Add OMI bus support to callouts
+-  `ed40af7bc <https://github.com/open-power/hostboot/commit/ed40af7bc>`__ Enable rolling counter and verification of req id for
+   Explorer
+-  `e9c4e6ad6 <https://github.com/open-power/hostboot/commit/e9c4e6ad6>`__ Remove ibm prefix from reserved memory spaces
+-  `70b54e6ae <https://github.com/open-power/hostboot/commit/70b54e6ae>`__ Automatically set VPD cache flags based on EEPROM cache
+   setting
+-  `a0207ea10 <https://github.com/open-power/hostboot/commit/a0207ea10>`__ Add attribute to explicitly force OCMB Firmware update
+   behavior
+-  `576b16849 <https://github.com/open-power/hostboot/commit/576b16849>`__ Add plug-rule callout to memory vpd lookup failure
+-  `a7739158a <https://github.com/open-power/hostboot/commit/a7739158a>`__ Support scoms to MEM\_PORT targets
+-  `38949a9bb <https://github.com/open-power/hostboot/commit/38949a9bb>`__ Do not crash if we have no functional nodes
+-  `4924154e6 <https://github.com/open-power/hostboot/commit/4924154e6>`__ Create FW interfaces to execute memory diagnostics
+-  `9c7a264f8 <https://github.com/open-power/hostboot/commit/9c7a264f8>`__ Fix fapi spd testcases
+-  `d519d2911 <https://github.com/open-power/hostboot/commit/d519d2911>`__ Fix timestamp parser for OpenBMC ESELs
+-  `95bb7028e <https://github.com/open-power/hostboot/commit/95bb7028e>`__ Move HBRT reserved memory off of NVDIMMs
+-  `1f46cc39f <https://github.com/open-power/hostboot/commit/1f46cc39f>`__ Increase size of default printk buffer in error logs
+-  `06b4ead53 <https://github.com/open-power/hostboot/commit/06b4ead53>`__ Mark bootloader RCs for FSP export
+-  `dfba68af8 <https://github.com/open-power/hostboot/commit/dfba68af8>`__ Update simics level to
+   f0c3530f4fefad5236391e61ae29b1a2582636ca
+-  `4235f2f22 <https://github.com/open-power/hostboot/commit/4235f2f22>`__ Add missing trace point to BlTrace.pm tool
+-  `aad465f4b <https://github.com/open-power/hostboot/commit/aad465f4b>`__ For ATTR\_MSS\_OCMB\_HALF\_DIMM\_MODE to full dimm mode
+-  `c46f1ee5b <https://github.com/open-power/hostboot/commit/c46f1ee5b>`__ Automatically include config.h
+-  `75c0908b9 <https://github.com/open-power/hostboot/commit/75c0908b9>`__ Switch DECONFIG over to DELAYED\_DECONFIG
+-  `4638dc513 <https://github.com/open-power/hostboot/commit/4638dc513>`__ Add current istep into TI SRC
+-  `ddad6a525 <https://github.com/open-power/hostboot/commit/ddad6a525>`__ Call p9a\_throttle\_sync inside mss\_scominit
+-  `4198ffbc2 <https://github.com/open-power/hostboot/commit/4198ffbc2>`__ Force a Hostboot dump on any TI in Simics
+-  `91f6cf741 <https://github.com/open-power/hostboot/commit/91f6cf741>`__ Enhancements to default console output
+-  `6ceeb473d <https://github.com/open-power/hostboot/commit/6ceeb473d>`__ Move p9a\_omi\_setup\_bars from 12.4 to 12.3
+-  `03db83368 <https://github.com/open-power/hostboot/commit/03db83368>`__ Handle automatic interleaving between OMI sub-channels
+-  `c6aaded09 <https://github.com/open-power/hostboot/commit/c6aaded09>`__ Support for ATTR\_TMP and GUARD in standalone simics
+-  `fd4e73a22 <https://github.com/open-power/hostboot/commit/fd4e73a22>`__ Add obj tree to EXTRAINCDIR for istep10
+-  `14a51c828 <https://github.com/open-power/hostboot/commit/14a51c828>`__ Add more rc values to vmmpagetest
+-  `1cb00f7e0 <https://github.com/open-power/hostboot/commit/1cb00f7e0>`__ Add fir subdir to Axone mss HWP compile path
+-  `3b5bb9f2e <https://github.com/open-power/hostboot/commit/3b5bb9f2e>`__ Adjust idec algorithm for Explorer B.0 format
+-  `1a19ea2ae <https://github.com/open-power/hostboot/commit/1a19ea2ae>`__ Change p9a\_mss\_freq from MEM\_PORT to PROC\_CHIP
+   targets (HB)
+-  `4a69880fa <https://github.com/open-power/hostboot/commit/4a69880fa>`__ Better handling of end-of-year mirrored commits
+-  `dced790c1 <https://github.com/open-power/hostboot/commit/dced790c1>`__ ZZ Gen4 WOFDATA
+-  `541200528 <https://github.com/open-power/hostboot/commit/541200528>`__ Do not truncate error log at runtime when using
+   firmware\_request
+-  `4e31bed66 <https://github.com/open-power/hostboot/commit/4e31bed66>`__ Convert DECONFIG to DELAYED\_DECONFIG on FSP systems
+-  `c815997b7 <https://github.com/open-power/hostboot/commit/c815997b7>`__ Pass complete mmio address into runtime ocmb scom
+   interface
+-  `0b49c1912 <https://github.com/open-power/hostboot/commit/0b49c1912>`__ Add translation for SuperWOF lid id
+-  `9f4f5c89e <https://github.com/open-power/hostboot/commit/9f4f5c89e>`__ Allow very long attribute names
+-  `f6f86c539 <https://github.com/open-power/hostboot/commit/f6f86c539>`__ Removing files to force a remirror...
+-  `39d3e89fe <https://github.com/open-power/hostboot/commit/39d3e89fe>`__ Fix attribute overrides for OCMB chips
+-  `f968e9f34 <https://github.com/open-power/hostboot/commit/f968e9f34>`__ Add severity to error log commit trace
+-  `edf989527 <https://github.com/open-power/hostboot/commit/edf989527>`__ Add support for ASIC targets to attribute dumper
+-  `373872ccf <https://github.com/open-power/hostboot/commit/373872ccf>`__ Fix typo in entity path for OCMB
+
+Dan Larson (1):
+
+-  `514dce81c <https://github.com/open-power/hostboot/commit/514dce81c>`__ HCBI-239 Enable static analysis
+
+Daniel M Crowell (3):
+
+-  `4a6e20386 <https://github.com/open-power/hostboot/commit/4a6e20386>`__ Revert "Compile Hostboot with -Os"
+-  `35cc764a1 <https://github.com/open-power/hostboot/commit/35cc764a1>`__ Revert "Remove ibm prefix from reserved memory spaces"
+-  `6332cbac6 <https://github.com/open-power/hostboot/commit/6332cbac6>`__ Revert "Add DDR4 RCD attributes from the EXP resp
+   structure"
+
+Dean Sanner (10):
+
+-  `a22884e07 <https://github.com/open-power/hostboot/commit/a22884e07>`__ Correctly form LX record/keyword for OpenPOWER
+-  `449d1fabb <https://github.com/open-power/hostboot/commit/449d1fabb>`__ Fix bug in attribute sync
+-  `cd1e5c91e <https://github.com/open-power/hostboot/commit/cd1e5c91e>`__ Compile Hostboot with -Os
+-  `c4e7bcba0 <https://github.com/open-power/hostboot/commit/c4e7bcba0>`__ Compile Hostboot with -Os
+-  `7c03d51c2 <https://github.com/open-power/hostboot/commit/7c03d51c2>`__ Always position HOMER in HV space for istep 16
+-  `b28407123 <https://github.com/open-power/hostboot/commit/b28407123>`__ Add missing target types for OCMB
+-  `81abe97b7 <https://github.com/open-power/hostboot/commit/81abe97b7>`__ Support direct load of POWERVM from BOOTKERNEL partition
+-  `d99b1eddc <https://github.com/open-power/hostboot/commit/d99b1eddc>`__ Add SBE Arch dump area for both OPAL & PHYP
+-  `334617066 <https://github.com/open-power/hostboot/commit/334617066>`__ Replace spr/gpr numbers with names for arch dump
+-  `c16b08724 <https://github.com/open-power/hostboot/commit/c16b08724>`__ Update HDAT flags to indicate memory dump
+
+Devon Baughen (3):
+
+-  `df80bf43c <https://github.com/open-power/hostboot/commit/df80bf43c>`__ add function to turn on adaptation in bootconfig
+-  `29ca2d7cf <https://github.com/open-power/hostboot/commit/29ca2d7cf>`__ extend bootconfig0 polling to account for longer sequence
+-  `ebe4ee887 <https://github.com/open-power/hostboot/commit/ebe4ee887>`__ update omi hang workaround to loop through all lanes
+
+Emmanuel Sacristan (1):
+
+-  `eb3d4239b <https://github.com/open-power/hostboot/commit/eb3d4239b>`__ adding iss 768 init for p9 behaviour in nmmu
+
+Giridhari Krishnan (1):
+
+-  `d507b6f85 <https://github.com/open-power/hostboot/commit/d507b6f85>`__ Merging of Serverwiz and hostboot repo Targets.pm
+
+Glenn Miles (2):
+
+-  `9f92316f3 <https://github.com/open-power/hostboot/commit/9f92316f3>`__ Do nothing with error logs after shutdown event is
+   received.
+-  `68ba813f2 <https://github.com/open-power/hostboot/commit/68ba813f2>`__ Fix invalid use of vector iterator
+
+Ilya Smirnov (13):
+
+-  `3ab493b69 <https://github.com/open-power/hostboot/commit/3ab493b69>`__ Account For TPM Not Required in Node Comm
+-  `33dcae3a2 <https://github.com/open-power/hostboot/commit/33dcae3a2>`__ Set SMF\_CONFIG Attribute in MBOX Scratch Reg
+-  `4ea0824d8 <https://github.com/open-power/hostboot/commit/4ea0824d8>`__ Update SBE In Istep7.5 In SMF Mode
+-  `3db6c1479 <https://github.com/open-power/hostboot/commit/3db6c1479>`__ Cache VERSION Partition
+-  `b9cb9f771 <https://github.com/open-power/hostboot/commit/b9cb9f771>`__ Update SYS's ATTR\_XSCOM\_BASE\_ADDRESS in SMF Paths
+-  `fc0e2ceee <https://github.com/open-power/hostboot/commit/fc0e2ceee>`__ HDAT: Add SMF Memory Region
+-  `c049efe44 <https://github.com/open-power/hostboot/commit/c049efe44>`__ Update startup.simics To Disable SBE Updates
+-  `d2bcdefb2 <https://github.com/open-power/hostboot/commit/d2bcdefb2>`__ Add Printk Traces to ThreadPool Unit Tests
+-  `0e5621232 <https://github.com/open-power/hostboot/commit/0e5621232>`__ Fix ThreadPool Memory Corruption
+-  `1cee7cd49 <https://github.com/open-power/hostboot/commit/1cee7cd49>`__ Fix UVBWLIST SBE Chip Op
+-  `58930a38e <https://github.com/open-power/hostboot/commit/58930a38e>`__ HB TI Area Parser
+-  `54e0ec81e <https://github.com/open-power/hostboot/commit/54e0ec81e>`__ SMF: Distribute 0 Mem By Default
+-  `d4e691347 <https://github.com/open-power/hostboot/commit/d4e691347>`__ Emit an Error Log When TPM\_UNUSABLE Is Set
+
+Jacob Harvey (6):
+
+-  `9fc60d7a2 <https://github.com/open-power/hostboot/commit/9fc60d7a2>`__ Fixed doxygen errors and typos
+-  `53b580bab <https://github.com/open-power/hostboot/commit/53b580bab>`__ Implementing thermal\_init
+-  `f26b88c04 <https://github.com/open-power/hostboot/commit/f26b88c04>`__ Power Thermal init
+-  `85b7c42f1 <https://github.com/open-power/hostboot/commit/85b7c42f1>`__ Disable memory throttle change\_after\_sync
+-  `7bb1c0030 <https://github.com/open-power/hostboot/commit/7bb1c0030>`__ Change power controll settings for PD/STR
+-  `e7de009de <https://github.com/open-power/hostboot/commit/e7de009de>`__ L3 draminit and mss\_lib
+
+Jayashankar Padath (3):
+
+-  `103d85c96 <https://github.com/open-power/hostboot/commit/103d85c96>`__ HDAT: Support for Swift/Axone memory sub system
+-  `50c349b5a <https://github.com/open-power/hostboot/commit/50c349b5a>`__ HDAT: Add MMIO information of OCMB in to Ms Area
+-  `8e9344fa0 <https://github.com/open-power/hostboot/commit/8e9344fa0>`__ HDAT: Update on MMIO range address
+
+Jenny Huynh (2):
+
+-  `1c64cf3cb <https://github.com/open-power/hostboot/commit/1c64cf3cb>`__ Wilted Apple: Disable SMT2 prefetch for NDD2.2+, CDD1.1+,
+   ADD1.0+
+-  `39854a32f <https://github.com/open-power/hostboot/commit/39854a32f>`__ Add slbv, slbe extraction to p9\_ram\_core procedure
+
+Jet Li (1):
+
+-  `4e071c333 <https://github.com/open-power/hostboot/commit/4e071c333>`__ Create submodule in hostboot repo for mctp
+
+Joachim Fenkes (2):
+
+-  `60d3cb8b4 <https://github.com/open-power/hostboot/commit/60d3cb8b4>`__ Streamline the way PIB/NET are initialized between SBE
+   and Cronus
+-  `6be2a4214 <https://github.com/open-power/hostboot/commit/6be2a4214>`__ FAPI2: Add FAPI2\_RC\_PLAT\_MISCOMPARE
+
+Joe McGill (2):
+
+-  `bd473add8 <https://github.com/open-power/hostboot/commit/bd473add8>`__ p9\_fbc\_ioo\_tdm\_recovery -- post spare lane FIR after
+   final FIR clearing, unmask
+-  `1fb1c42e4 <https://github.com/open-power/hostboot/commit/1fb1c42e4>`__ p9\_proc\_gettracearray -- updates for Axone
+
+Kahn Evans (1):
+
+-  `66af054d9 <https://github.com/open-power/hostboot/commit/66af054d9>`__ Fix for missing putCMD symbols
+
+Klaus Heinrich Kiwi (1):
+
+-  `caaf22c3e <https://github.com/open-power/hostboot/commit/caaf22c3e>`__ Debug Scripts: Remove deprecated defined(@array)
+
+Louis Stermole (47):
+
+-  `dd6aa0faa <https://github.com/open-power/hostboot/commit/dd6aa0faa>`__ Lengthen polling duration for Explorer outbound doorbell
+-  `a911c8a49 <https://github.com/open-power/hostboot/commit/a911c8a49>`__ Fix polling timeouts for exp\_omi\_train and
+   exp\_check\_for\_ready
+-  `eed860207 <https://github.com/open-power/hostboot/commit/eed860207>`__ Add attribute to control word swapping over OMI MMIO
+-  `77397c404 <https://github.com/open-power/hostboot/commit/77397c404>`__ Change description and default for
+   ATTR\_MSS\_OCMB\_EXP\_BOOT\_CONFIG\_DFE\_DISABLE
+-  `51aebe563 <https://github.com/open-power/hostboot/commit/51aebe563>`__ Change p9a\_mss\_eff\_config to use rank-specific RTT
+   values from SPD
+-  `3e7974342 <https://github.com/open-power/hostboot/commit/3e7974342>`__ Updates to Explorer FW upload tools
+-  `4cbe15e36 <https://github.com/open-power/hostboot/commit/4cbe15e36>`__ Rename p9a\_mss\_memdiag to exp\_mss\_memdiag
+-  `9d7ab6bb2 <https://github.com/open-power/hostboot/commit/9d7ab6bb2>`__ Skip running
+   EXP\_FW\_TEMP\_SENSOR\_CONFIG\_INTERVAL\_READ in exp\_mss\_thermal\_init
+-  `ff05444dd <https://github.com/open-power/hostboot/commit/ff05444dd>`__ Remove unmask of MCBISTFIRQ[12]
+-  `994392964 <https://github.com/open-power/hostboot/commit/994392964>`__ Remove unused procedure p9a\_mss\_eff\_config\_thermal
+-  `3502d6036 <https://github.com/open-power/hostboot/commit/3502d6036>`__ Add deconfigure of memory port if mss\_freq can't find
+   consensus freq
+-  `2f808f21c <https://github.com/open-power/hostboot/commit/2f808f21c>`__ Skip setting up emergency throttle settings for Explorer
+   in Cronus mode
+-  `ef6600cc1 <https://github.com/open-power/hostboot/commit/ef6600cc1>`__ Add empty file for exp\_port\_traits
+-  `7b91b9596 <https://github.com/open-power/hostboot/commit/7b91b9596>`__ Add attribute to specify polling timeout for
+   exp\_check\_for\_ready
+-  `a801fcf53 <https://github.com/open-power/hostboot/commit/a801fcf53>`__ Fix exp\_draminit to print response structure and error
+   code when training fails
+-  `a69715d78 <https://github.com/open-power/hostboot/commit/a69715d78>`__ Add p9a\_mss\_utils\_to\_throttle
+-  `6b29b3829 <https://github.com/open-power/hostboot/commit/6b29b3829>`__ Change p9a\_mss\_freq to work on PROC\_CHIP target
+-  `f51ad1f24 <https://github.com/open-power/hostboot/commit/f51ad1f24>`__ Add blank file for exp\_port.C
+-  `a9b71d90c <https://github.com/open-power/hostboot/commit/a9b71d90c>`__ Don't assert from ddimm\_get\_efd for unsupported freq if
+   ffdc\_enabled not set
+-  `c49249c72 <https://github.com/open-power/hostboot/commit/c49249c72>`__ Add Explorer specific MCBIST settings before scrub and
+   maint
+-  `19e0f82a3 <https://github.com/open-power/hostboot/commit/19e0f82a3>`__ Add blank file exp\_fir.C for HB mirror
+-  `46174931e <https://github.com/open-power/hostboot/commit/46174931e>`__ Add blank files for P9A plug rules
+-  `c4fd28507 <https://github.com/open-power/hostboot/commit/c4fd28507>`__ Add Axone FIR unmasking after p9\_chiplet\_scominit
+-  `288f7babe <https://github.com/open-power/hostboot/commit/288f7babe>`__ Add unmask\_after\_exp\_omi\_setup and FIR checks
+-  `3a26734f8 <https://github.com/open-power/hostboot/commit/3a26734f8>`__ Add ATTR\_MEM\_IGNORE\_PLUG\_RULES to skip Axone plug
+   rules
+-  `f40c41f81 <https://github.com/open-power/hostboot/commit/f40c41f81>`__ Increase exp\_draminit polling timeout for MDS
+-  `9c2a95eab <https://github.com/open-power/hostboot/commit/9c2a95eab>`__ Add some FIR unmask updates for p9a and explorer
+-  `fde4c9f63 <https://github.com/open-power/hostboot/commit/fde4c9f63>`__ Add periodic mem cal to end of exp\_draminit\_mc
+-  `513da3116 <https://github.com/open-power/hostboot/commit/513da3116>`__ Set reorder mode after read-only subtest in exp\_memdiag
+-  `e9687ad70 <https://github.com/open-power/hostboot/commit/e9687ad70>`__ Add unmasks for REG1 and REG2 versions of OMI\_FIR for
+   Axone
+-  `6ed0290da <https://github.com/open-power/hostboot/commit/6ed0290da>`__ Change "ALL EFDs have been exhausted" trace from error to
+   info
+-  `eed98f14e <https://github.com/open-power/hostboot/commit/eed98f14e>`__ Fix DL\_OMI\_FIR unmasks after p9\_chiplet\_scominit to
+   be DL specific
+-  `445272ea4 <https://github.com/open-power/hostboot/commit/445272ea4>`__ Fix Swift plug rule for DDIMM channel dependency
+-  `044ece9cc <https://github.com/open-power/hostboot/commit/044ece9cc>`__ Add PRD helper functions for restore\_repairs on Nimbus
+   and Explorer
+-  `129a80acf <https://github.com/open-power/hostboot/commit/129a80acf>`__ Fix MC\_OMI\_FIR\_REG\_DL0\_FLIT\_CE unmask in
+   p9a\_omi\_init
+-  `d97ea2280 <https://github.com/open-power/hostboot/commit/d97ea2280>`__ Add initial masking to Explorer MC\_OMI\_FIR in
+   exp\_omi\_setup
+-  `e27c350a6 <https://github.com/open-power/hostboot/commit/e27c350a6>`__ Add include for find.H in gen\_mss\_port.H
+-  `e383f5b6e <https://github.com/open-power/hostboot/commit/e383f5b6e>`__ Remove unmask for EXP LOCAL\_FIR DDR\_PHY\_IRQ0 after
+   exp\_scominit
+-  `f5d254cd8 <https://github.com/open-power/hostboot/commit/f5d254cd8>`__ Fix Explorer checkstop FIR action settings
+-  `7198f1765 <https://github.com/open-power/hostboot/commit/7198f1765>`__ Add empty files for Explorer MR workarounds
+-  `c7738e193 <https://github.com/open-power/hostboot/commit/c7738e193>`__ Fix MC\_TYPE used in restore\_dram\_repairs common code
+-  `9945d6bdc <https://github.com/open-power/hostboot/commit/9945d6bdc>`__ Update two explorer FIR settings per SW490643
+-  `37cdcf39c <https://github.com/open-power/hostboot/commit/37cdcf39c>`__ Suppress FAPI\_ERR messages from DDIMM EFD probing
+-  `3edaad3c0 <https://github.com/open-power/hostboot/commit/3edaad3c0>`__ Add override of LPASR setting depending on MRW refresh
+   rate
+-  `f5653b160 <https://github.com/open-power/hostboot/commit/f5653b160>`__ Set MSDG\_RDIMM type in user\_input\_msdg for DDIMM with
+   RCD
+-  `37795a2b2 <https://github.com/open-power/hostboot/commit/37795a2b2>`__ Add unmask of Explorer Global FIR bit0
+-  `fbb698a84 <https://github.com/open-power/hostboot/commit/fbb698a84>`__ Add support for EXP\_FW\_TWI\_FFE\_SETTINGS command
+
+Luis Fernandez (6):
+
+-  `6faf10f43 <https://github.com/open-power/hostboot/commit/6faf10f43>`__ HB Implement Static Analysis with cppcheck
+-  `5474e9200 <https://github.com/open-power/hostboot/commit/5474e9200>`__ Fixes from HB for GCC 8 Compiler
+-  `163b6d077 <https://github.com/open-power/hostboot/commit/163b6d077>`__ (Fix for:) Alert when a partition's space utilization
+   exceeds a threshold
+-  `08501bc65 <https://github.com/open-power/hostboot/commit/08501bc65>`__ Patch For: Implement Static Analysis with cppcheck
+-  `5dd26a01e <https://github.com/open-power/hostboot/commit/5dd26a01e>`__ New Optional Argument to PnorUtils.pm’s loadPnorLayout
+-  `1f76bfa23 <https://github.com/open-power/hostboot/commit/1f76bfa23>`__ Add call to p9\_throttle\_sync inside
+   cumulus\_call\_mss\_scominit
+
+MATTHEW I. HICKMAN (9):
+
+-  `01ac1b8dc <https://github.com/open-power/hostboot/commit/01ac1b8dc>`__ Added security bit and fir handling, gard and trace fixes
+-  `1cd7d1c78 <https://github.com/open-power/hostboot/commit/1cd7d1c78>`__ Fix for offset traces due to merge bug
+-  `b0cd81c61 <https://github.com/open-power/hostboot/commit/b0cd81c61>`__ Fixed several small bugs found via code review
+-  `913c6fde1 <https://github.com/open-power/hostboot/commit/913c6fde1>`__ Fixed several Arm error handling bugs
+-  `b23632654 <https://github.com/open-power/hostboot/commit/b23632654>`__ Fixed pre-req check during NVDimm Arm
+-  `36a6a52a5 <https://github.com/open-power/hostboot/commit/36a6a52a5>`__ Added additional erase error handling
+-  `746ec708f <https://github.com/open-power/hostboot/commit/746ec708f>`__ Fixed the restore status flag bug
+-  `5db287b6e <https://github.com/open-power/hostboot/commit/5db287b6e>`__ Fixed NOT\_ENOUGH\_ENERGY\_FOR\_CSAVE check
+-  `7b8722652 <https://github.com/open-power/hostboot/commit/7b8722652>`__ Fixed error handling issues in arm path
+
+Mark Pizzutillo (60):
+
+-  `3a513ca00 <https://github.com/open-power/hostboot/commit/3a513ca00>`__ Split omi setup & train for new DL\_TRAIN cmd
+-  `5ccea20bd <https://github.com/open-power/hostboot/commit/5ccea20bd>`__ Add omi\_workarounds blank files for PRBS OMI training
+   workarounds
+-  `5fffa914a <https://github.com/open-power/hostboot/commit/5fffa914a>`__ Add blank files for exp\_inband move to memory/lib/
+-  `cf4b39c85 <https://github.com/open-power/hostboot/commit/cf4b39c85>`__ Add PRBS training sequence to exp\_omi\_setup
+-  `52ccb29ce <https://github.com/open-power/hostboot/commit/52ccb29ce>`__ Fix FAPI\_INF segfault in exp\_omi\_setup
+-  `bca5cf6af <https://github.com/open-power/hostboot/commit/bca5cf6af>`__ Create workaround for gemini MENTERP register bug
+-  `79c45f4da <https://github.com/open-power/hostboot/commit/79c45f4da>`__ Move exp\_inband to lib directory
+-  `00d4530ee <https://github.com/open-power/hostboot/commit/00d4530ee>`__ Add rank API support in axone\_mss\_freq
+-  `4b5c78b95 <https://github.com/open-power/hostboot/commit/4b5c78b95>`__ Add support for MCHP dmb revision ids in ddimm\_get\_efd
+-  `24762ab00 <https://github.com/open-power/hostboot/commit/24762ab00>`__ Fix issue in pmic\_enable where VR\_ENABLE did not kick
+   off
+-  `3c930cf14 <https://github.com/open-power/hostboot/commit/3c930cf14>`__ Add workaround for gemini OMI config settings
+-  `d43de0d64 <https://github.com/open-power/hostboot/commit/d43de0d64>`__ Add pmic\_status\_tool
+-  `75ac15f71 <https://github.com/open-power/hostboot/commit/75ac15f71>`__ Fix bug causing get\_mmio index overflow for swift
+-  `ae8c69b80 <https://github.com/open-power/hostboot/commit/ae8c69b80>`__ Zero out command argument field to fix exp\_draminit
+   issues
+-  `7a27f4603 <https://github.com/open-power/hostboot/commit/7a27f4603>`__ Add ekb dual drop support for p9a
+-  `3cdd4fbe9 <https://github.com/open-power/hostboot/commit/3cdd4fbe9>`__ Add pmic\_i2c\_addr\_get function for platform code use
+-  `b2be220bb <https://github.com/open-power/hostboot/commit/b2be220bb>`__ Add blank files for p9a\_omi\_setup procedure
+-  `d80f7fc83 <https://github.com/open-power/hostboot/commit/d80f7fc83>`__ Fix dmb\_revision size in ddimm\_get\_efd
+-  `04d5973be <https://github.com/open-power/hostboot/commit/04d5973be>`__ Add blank files for exp\_omi\_train\_check procedure
+-  `48abe5e8a <https://github.com/open-power/hostboot/commit/48abe5e8a>`__ Add support for new pmic sequencing SPD fields
+-  `c349ba997 <https://github.com/open-power/hostboot/commit/c349ba997>`__ Check PMIC error and enable statuses after pmic\_enable
+-  `104c2dc59 <https://github.com/open-power/hostboot/commit/104c2dc59>`__ Disable & clear PMIC status codes in beginning of
+   pmic\_enable
+-  `822fea83d <https://github.com/open-power/hostboot/commit/822fea83d>`__ Add MDS attribute & draminit support
+-  `8f549e754 <https://github.com/open-power/hostboot/commit/8f549e754>`__ Add code and workarounds for \*\_omi\_setup and
+   \*\_omi\_train for Swift
+-  `9546b72bc <https://github.com/open-power/hostboot/commit/9546b72bc>`__ Increase default PRBS\_TIME for FW
+-  `1745eed20 <https://github.com/open-power/hostboot/commit/1745eed20>`__ Make explorer endian attributes platInit
+-  `d639a5a45 <https://github.com/open-power/hostboot/commit/d639a5a45>`__ Add printout of ECID in exp\_getecid
+-  `4921bf245 <https://github.com/open-power/hostboot/commit/4921bf245>`__ Update exp\_draminit results display for new response
+   structs
+-  `4b9dc024e <https://github.com/open-power/hostboot/commit/4b9dc024e>`__ Add assert for RSP extended data buffer size in
+   exp\_draminit
+-  `0b50210ae <https://github.com/open-power/hostboot/commit/0b50210ae>`__ Reverse mcbist address buffer fields
+-  `3f280b8d2 <https://github.com/open-power/hostboot/commit/3f280b8d2>`__ Fix odt RD/WR fields
+-  `eddd46a88 <https://github.com/open-power/hostboot/commit/eddd46a88>`__ Add MCBIST infinite tests
+-  `30077cd8b <https://github.com/open-power/hostboot/commit/30077cd8b>`__ Add blank files for explorer plug rules libs
+-  `7e3eaedff <https://github.com/open-power/hostboot/commit/7e3eaedff>`__ Add check for compatible upstream templates before
+   enabling Explorer metadata
+-  `1ac7a33a9 <https://github.com/open-power/hostboot/commit/1ac7a33a9>`__ Fix EFD processor indexing error
+-  `291768968 <https://github.com/open-power/hostboot/commit/291768968>`__ Remove vin\_bulk check before status clears in
+   pmic\_enable
+-  `ecac8199d <https://github.com/open-power/hostboot/commit/ecac8199d>`__ Add asserts for invalid states of enterprise & half dimm
+   mode
+-  `0921b80a5 <https://github.com/open-power/hostboot/commit/0921b80a5>`__ Add new DDIMM spd version 0\_3 and update UTs
+-  `149d7cc96 <https://github.com/open-power/hostboot/commit/149d7cc96>`__ Fix pmic\_status\_tool exiting before checking both PMICs
+-  `d3c8aa5e5 <https://github.com/open-power/hostboot/commit/d3c8aa5e5>`__ Update \*\_train\_check procedure errors to print status
+   info
+-  `00950f87a <https://github.com/open-power/hostboot/commit/00950f87a>`__ Fix DFIMRL\_DDRCLK\_trained draminit result display
+   printout log level
+-  `779761d1c <https://github.com/open-power/hostboot/commit/779761d1c>`__ Add read only subtest at the end of exp\_mss\_memdiags
+-  `dc407ba49 <https://github.com/open-power/hostboot/commit/dc407ba49>`__ Add blank file for hwpf i2cslave attributes
+-  `798af67f2 <https://github.com/open-power/hostboot/commit/798af67f2>`__ Add attribute for SPD\_REVISION (byte 1)
+-  `be69d0cb3 <https://github.com/open-power/hostboot/commit/be69d0cb3>`__ Add TARGET\_TYPE\_GENERICI2CSLAVE and relevant attributes
+-  `6579e15ca <https://github.com/open-power/hostboot/commit/6579e15ca>`__ Refactor PMIC attributes to be at OCMB level
+-  `921a602d7 <https://github.com/open-power/hostboot/commit/921a602d7>`__ Add deconfigure for OCMB\_TARGET if no doorbell
+-  `ac2efc87f <https://github.com/open-power/hostboot/commit/ac2efc87f>`__ Add SPD, ATTR, and code support for thermal sensor fields
+-  `f5813785b <https://github.com/open-power/hostboot/commit/f5813785b>`__ Move p9a\_omi\_init from nimbus to axone directory
+-  `87f140959 <https://github.com/open-power/hostboot/commit/87f140959>`__ Fix incorrect polling rate in exp\_mss\_thermal\_init
+-  `42f6285e7 <https://github.com/open-power/hostboot/commit/42f6285e7>`__ Update pmic\_bias\_tool percentage bias to be relative to
+   nominal
+-  `ba560090b <https://github.com/open-power/hostboot/commit/ba560090b>`__ Update RAS DQ Inject tool with new MCHP squence
+-  `18ef7916f <https://github.com/open-power/hostboot/commit/18ef7916f>`__ pmic\_enable: Add additional clear for error status bits
+   in R04-R07
+-  `50da7a4fa <https://github.com/open-power/hostboot/commit/50da7a4fa>`__ Update explorer CCS to handle A vs B side ranks
+-  `5e3449aed <https://github.com/open-power/hostboot/commit/5e3449aed>`__ Update explorer CCS ODTs to support mirroring A-B
+-  `f25313313 <https://github.com/open-power/hostboot/commit/f25313313>`__ Add FFDC and trace for DL0\_ERROR\_HOLD in
+   \*\_omi\_train\_checks
+-  `09ee51cf9 <https://github.com/open-power/hostboot/commit/09ee51cf9>`__ Add check for matching PMIC vendor and IDT revisions
+-  `e45676f10 <https://github.com/open-power/hostboot/commit/e45676f10>`__ Add OMI training hang workaround
+-  `3fe610a3d <https://github.com/open-power/hostboot/commit/3fe610a3d>`__ Add attribute for MODULE\_MFG\_ID
+-  `4bb52ebda <https://github.com/open-power/hostboot/commit/4bb52ebda>`__ Fix modal\_symbol\_count port
+
+Matt Derksen (35):
+
+-  `2e406cadf <https://github.com/open-power/hostboot/commit/2e406cadf>`__ Remove CONFIG\_AXONE\_BRING\_UP from xscomtest
+-  `b3043ae16 <https://github.com/open-power/hostboot/commit/b3043ae16>`__ Enable testpreverifiedlidmgr for Axone
+-  `3a146159c <https://github.com/open-power/hostboot/commit/3a146159c>`__ Enable secure boot in Axone simics
+-  `256d3e0a8 <https://github.com/open-power/hostboot/commit/256d3e0a8>`__ Enable prdf\_hb\_common\_test for Axone
+-  `199b35573 <https://github.com/open-power/hostboot/commit/199b35573>`__ Call new p9a\_throttle\_sync procedure
+-  `fc5fa5842 <https://github.com/open-power/hostboot/commit/fc5fa5842>`__ Runtime scom support for OCMBs
+-  `51b7478d2 <https://github.com/open-power/hostboot/commit/51b7478d2>`__ Fix calling eepromddtest.H
+-  `794efce0c <https://github.com/open-power/hostboot/commit/794efce0c>`__ Fix retry failure in nvdimmWriteData()
+-  `052182c0d <https://github.com/open-power/hostboot/commit/052182c0d>`__ Test runtime scom support in Axone
+-  `b0f0228ff <https://github.com/open-power/hostboot/commit/b0f0228ff>`__ Remove verbose option from handle\_duplicates call
+-  `c4df5e918 <https://github.com/open-power/hostboot/commit/c4df5e918>`__ Update SPD\_DDR4 size to be 640 bytes
+-  `582ed66b3 <https://github.com/open-power/hostboot/commit/582ed66b3>`__ Implement std::begin() and std::end() for base types
+-  `8664b9adb <https://github.com/open-power/hostboot/commit/8664b9adb>`__ Add exp\_mss\_eff\_config\_thermal call to istep7 for
+   Axone
+-  `feef0389e <https://github.com/open-power/hostboot/commit/feef0389e>`__ Dummy commit to prime hwsv for new Explorer FFDC
+   collection
+-  `56574b602 <https://github.com/open-power/hostboot/commit/56574b602>`__ Support EXP\_FW\_LOG command to get Explorer FW logs
+-  `8e6285e72 <https://github.com/open-power/hostboot/commit/8e6285e72>`__ Support EXP\_FW\_LOG command to get Explorer Firmware
+   logs
+-  `09016a8a7 <https://github.com/open-power/hostboot/commit/09016a8a7>`__ Hostboot platform support for Explorer inband commands
+   via i2c
+-  `f5796a5fa <https://github.com/open-power/hostboot/commit/f5796a5fa>`__ Add NVDIMM node controller readme text
+-  `63989a514 <https://github.com/open-power/hostboot/commit/63989a514>`__ Create error for unsuspected target in
+   configureHbrtHypIds
+-  `b221671e5 <https://github.com/open-power/hostboot/commit/b221671e5>`__ NVDIMM Erase error handle not working in IPL Arm handling
+-  `68ab1e874 <https://github.com/open-power/hostboot/commit/68ab1e874>`__ Prevent pre-3.0 level NVDIMMs from being in systems
+-  `e01fc4be9 <https://github.com/open-power/hostboot/commit/e01fc4be9>`__ NVDIMM update - Clear FW Ops Status verification
+-  `027b53647 <https://github.com/open-power/hostboot/commit/027b53647>`__ NVDIMM FW update region write retry
+-  `12f57c203 <https://github.com/open-power/hostboot/commit/12f57c203>`__ Slot check after firmware update
+-  `a50115980 <https://github.com/open-power/hostboot/commit/a50115980>`__ Remove excessive NVDIMM tracing from normal path
+-  `e22bb40fb <https://github.com/open-power/hostboot/commit/e22bb40fb>`__ Fix reporting eecache if no record specified
+-  `45cb27519 <https://github.com/open-power/hostboot/commit/45cb27519>`__ NVDIMM: Mask mbacalfir at the beginning of restore step
+   during mpipl
+-  `829e56fb1 <https://github.com/open-power/hostboot/commit/829e56fb1>`__ NVDIMM: Use block write for nvdimm update
+-  `a42605426 <https://github.com/open-power/hostboot/commit/a42605426>`__ NVDIMM: correct the RC for BLOCK write failure
+-  `d45a9393d <https://github.com/open-power/hostboot/commit/d45a9393d>`__ NVDIMM: poll for updated SET\_EVENT\_NOTIFICATION\_STATUS
+   in nvdimmArm
+-  `fffe69ad3 <https://github.com/open-power/hostboot/commit/fffe69ad3>`__ Remove nvdimmAddVendorLog calls from checksum errors
+-  `820a09943 <https://github.com/open-power/hostboot/commit/820a09943>`__ NVDIMM update: retry all region failures
+-  `10a83636b <https://github.com/open-power/hostboot/commit/10a83636b>`__ Improvements to testing NVDIMM update path
+-  `e53402c0f <https://github.com/open-power/hostboot/commit/e53402c0f>`__ Explorer update hash fix
+-  `27e689c2f <https://github.com/open-power/hostboot/commit/27e689c2f>`__ Enable the inband Explorer update
+
+Matt K. Light (1):
+
+-  `da8e96ea0 <https://github.com/open-power/hostboot/commit/da8e96ea0>`__ remove relative path to p9\_lpc\_utils.H from
+   p9\_collect\_lpc\_regs.C
+
+Matthew Hickman (16):
+
+-  `fd400b157 <https://github.com/open-power/hostboot/commit/fd400b157>`__ Added p9a memdiags implementation
+-  `4d3e1f11e <https://github.com/open-power/hostboot/commit/4d3e1f11e>`__ Added PRD Wrapper file for hwp invoke commands
+-  `afeaf784d <https://github.com/open-power/hostboot/commit/afeaf784d>`__ Fixed the ccs port merge conflicts and added lab code
+-  `d57798877 <https://github.com/open-power/hostboot/commit/d57798877>`__ Added error checking and handling to nvdimm ipl
+-  `d88e41a26 <https://github.com/open-power/hostboot/commit/d88e41a26>`__ Added fir unmasking after exp\_scrub
+-  `9965b521f <https://github.com/open-power/hostboot/commit/9965b521f>`__ Added unmasking to exp\_memdiags
+-  `abf673285 <https://github.com/open-power/hostboot/commit/abf673285>`__ Added blank files for mrs and row repair
+-  `0106eaa7d <https://github.com/open-power/hostboot/commit/0106eaa7d>`__ Added port of MRS engine to generic
+-  `6db3d460e <https://github.com/open-power/hostboot/commit/6db3d460e>`__ Added MRS attributes and MRS data handling for Explorer
+-  `5adf9d688 <https://github.com/open-power/hostboot/commit/5adf9d688>`__ Added blank files for mrs and row repair
+-  `470b8f500 <https://github.com/open-power/hostboot/commit/470b8f500>`__ Added port of MRS engine to generic
+-  `bbeb38c59 <https://github.com/open-power/hostboot/commit/bbeb38c59>`__ Added MRS attributes and MRS data handling for Explorer
+-  `cc7fb146a <https://github.com/open-power/hostboot/commit/cc7fb146a>`__ Added MRS attributes and MRS data handling for Explorer
+-  `52e1fe62c <https://github.com/open-power/hostboot/commit/52e1fe62c>`__ Fixed ipl mk file to include unmasking code
+-  `5ef6613fd <https://github.com/open-power/hostboot/commit/5ef6613fd>`__ Fixed firmware calls to background scrub
+-  `5ff4aa338 <https://github.com/open-power/hostboot/commit/5ff4aa338>`__ Added steer code for explorer
+
+Matthew Raybuck (24):
+
+-  `44fe892dc <https://github.com/open-power/hostboot/commit/44fe892dc>`__ Add BPM utility scripts to support additional firmware
+   update requirements
+-  `72f32c4cb <https://github.com/open-power/hostboot/commit/72f32c4cb>`__ Update buildBpmFlashImages.pl to support configuration
+   data binary generation
+-  `f18f9f2d1 <https://github.com/open-power/hostboot/commit/f18f9f2d1>`__ Add BPM firmware update procedure
+-  `beeb7f5f9 <https://github.com/open-power/hostboot/commit/beeb7f5f9>`__ re-enable CRC generation for BPM firmware binary
+-  `0f0b7c641 <https://github.com/open-power/hostboot/commit/0f0b7c641>`__ Fix BPM flash image script to properly calculate line
+   length
+-  `c03117c7b <https://github.com/open-power/hostboot/commit/c03117c7b>`__ Add BPM config update procedure
+-  `5617bb84a <https://github.com/open-power/hostboot/commit/5617bb84a>`__ Add update verification and recovery procedures
+-  `3dc237792 <https://github.com/open-power/hostboot/commit/3dc237792>`__ Add error logs to BPM update procedure
+-  `3c440fe6d <https://github.com/open-power/hostboot/commit/3c440fe6d>`__ Add multiple error handling to BPM update procedure
+-  `56a3ce983 <https://github.com/open-power/hostboot/commit/56a3ce983>`__ Add code to run BPM update procedure from
+   nvdimm\_update.C
+-  `e28bd663f <https://github.com/open-power/hostboot/commit/e28bd663f>`__ Correct BPM update flow to match SMARTs flow
+-  `a2118008d <https://github.com/open-power/hostboot/commit/a2118008d>`__ Add attribute to force/skip BPM updates
+-  `0ea4fac25 <https://github.com/open-power/hostboot/commit/0ea4fac25>`__ Enable BPM Updates
+-  `deb984133 <https://github.com/open-power/hostboot/commit/deb984133>`__ Fix lingering error log issues for BPM updates
+-  `f609640a7 <https://github.com/open-power/hostboot/commit/f609640a7>`__ Add more FFDC to BPM Update Error logs
+-  `f88b6bc4a <https://github.com/open-power/hostboot/commit/f88b6bc4a>`__ BPM Updates: Extend the reset device wait to 15 seconds
+   from 10
+-  `25e1157f5 <https://github.com/open-power/hostboot/commit/25e1157f5>`__ Fix misleading trace output for BPM attribute overrides
+-  `d329c59bc <https://github.com/open-power/hostboot/commit/d329c59bc>`__ BPM Updates: Move NVDIMM controller reset and final fw
+   check to end of update
+-  `60fbee21b <https://github.com/open-power/hostboot/commit/60fbee21b>`__ Fix bad arguments to additional FFDC capture in BPM
+   Update code
+-  `fec74df97 <https://github.com/open-power/hostboot/commit/fec74df97>`__ Add a ReadMe to explain high level BPM Update Process
+-  `a2b260834 <https://github.com/open-power/hostboot/commit/a2b260834>`__ BPM Update Tweaks
+-  `ae388288d <https://github.com/open-power/hostboot/commit/ae388288d>`__ Add check to see if BPM is connected before attempting
+   Updates
+-  `7ddeb4d31 <https://github.com/open-power/hostboot/commit/7ddeb4d31>`__ Add 100ms wait to disable write protection for BPM
+-  `acdff8a39 <https://github.com/open-power/hostboot/commit/acdff8a39>`__ BPM: Bpm::issueCommand() fixes
+
+Maxim Polyakov (1):
+
+-  `e8665007c <https://github.com/open-power/hostboot/commit/e8665007c>`__ ipmidcmi: Get DCMI capabilities info to check PM support
+
+Megan (3):
+
+-  `845fb4492 <https://github.com/open-power/hostboot/commit/845fb4492>`__ Allow defining a partition with automatic starting offset
+-  `ade048149 <https://github.com/open-power/hostboot/commit/ade048149>`__ Alert when a partition's space utilization exceeds a
+   threshold
+-  `1d4530dac <https://github.com/open-power/hostboot/commit/1d4530dac>`__ Implement Static Analysis with cppcheck
+
+Michael Baiocchi (1):
+
+-  `ed42128c7 <https://github.com/open-power/hostboot/commit/ed42128c7>`__ Revert "Terminate the IPL for Physical Presence Detection
+   Erros in Mnfg Mode"
+
+Michael Pardeik (3):
+
+-  `333d66b55 <https://github.com/open-power/hostboot/commit/333d66b55>`__ pmic status tool updates
+-  `fe09e7b9d <https://github.com/open-power/hostboot/commit/fe09e7b9d>`__ exp\_mss\_eff\_config\_thermal fixes
+-  `d0a45a3eb <https://github.com/open-power/hostboot/commit/d0a45a3eb>`__ pmic\_status\_tool updates
+
+Mike Baiocchi (18):
+
+-  `bcd6d6f29 <https://github.com/open-power/hostboot/commit/bcd6d6f29>`__ Secureboot: Enable verifying OPAL Payload before starting
+   instructions
+-  `de0e45306 <https://github.com/open-power/hostboot/commit/de0e45306>`__ Remove Forced Update of UCD Devices
+-  `1dbb91e5e <https://github.com/open-power/hostboot/commit/1dbb91e5e>`__ Add new Key Clear Request Attribute
+-  `eace166aa <https://github.com/open-power/hostboot/commit/eace166aa>`__ Support GPIO Physical Presence Detect Devices
+-  `35964668f <https://github.com/open-power/hostboot/commit/35964668f>`__ Add Physical Presence Check and Window Open Features
+-  `845513c74 <https://github.com/open-power/hostboot/commit/845513c74>`__ Move KEY\_CLEAR\_REQUEST attribute from node level to
+   system level
+-  `26554a3e5 <https://github.com/open-power/hostboot/commit/26554a3e5>`__ Move definition of TRACE\_ERR\_FMT and TRACE\_ERR\_ARGS
+-  `20b285f63 <https://github.com/open-power/hostboot/commit/20b285f63>`__ Add README.md files to the secureboot component
+-  `131e6e15f <https://github.com/open-power/hostboot/commit/131e6e15f>`__ Base support for Key Clear Requests (not enabled at this
+   time)
+-  `01b7ddff2 <https://github.com/open-power/hostboot/commit/01b7ddff2>`__ Enable Key Clear Requests for FSP Systems
+-  `a8368a4f4 <https://github.com/open-power/hostboot/commit/a8368a4f4>`__ Create CONFIG\_NO\_FAPI\_TRACE to ignore all FAPI traces
+-  `14846f049 <https://github.com/open-power/hostboot/commit/14846f049>`__ Key Clear Request Sensor Support
+-  `74d68472d <https://github.com/open-power/hostboot/commit/74d68472d>`__ Terminate the IPL for Physical Presence Detection Erros
+   in Mnfg Mode
+-  `d4e588d22 <https://github.com/open-power/hostboot/commit/d4e588d22>`__ Skip UCD Updates on fips950
+-  `23374658f <https://github.com/open-power/hostboot/commit/23374658f>`__ Properly Commit Physical Presence Detection Error Logs
+-  `5bda93cf2 <https://github.com/open-power/hostboot/commit/5bda93cf2>`__ Update the data extended into TPM's PCR\_6
+-  `598923e18 <https://github.com/open-power/hostboot/commit/598923e18>`__ Fix persistency of ATTR\_KEY\_CLEAR\_REQUEST
+-  `a1e3c27ff <https://github.com/open-power/hostboot/commit/a1e3c27ff>`__ Add config.h to fsp.tar
+
+Milton Miller (1):
+
+-  `f7dab51ab <https://github.com/open-power/hostboot/commit/f7dab51ab>`__ p9\_tod\_setup: always set edge doubling
+
+Murulidhar Nataraju (5):
+
+-  `4e5e486a1 <https://github.com/open-power/hostboot/commit/4e5e486a1>`__ Enable copying of architected registers for OPAL
+-  `39a6f147b <https://github.com/open-power/hostboot/commit/39a6f147b>`__ Update MPIPL Supported Bit
+-  `3dbe6a196 <https://github.com/open-power/hostboot/commit/3dbe6a196>`__ MPIPL: For PHYP based system replace spr/gpr numbers with
+   names
+-  `2ba85f05b <https://github.com/open-power/hostboot/commit/2ba85f05b>`__ MPIPL:Fix the condition for copyArchitectedRegs()
+-  `d348d7c2d <https://github.com/open-power/hostboot/commit/d348d7c2d>`__ MPIPL: ZZ-L, Update copyArchitectedRegs() for non-HW dump
+   flow
+
+Nico Fajardo (10):
+
+-  `1c830e13d <https://github.com/open-power/hostboot/commit/1c830e13d>`__ Add FAPI\_ASSERT for unsupported SPD rank in RTT fetch
+-  `5616a5a99 <https://github.com/open-power/hostboot/commit/5616a5a99>`__ Adding blank exp\_fir\* files and unmask unit test
+-  `43f41edb7 <https://github.com/open-power/hostboot/commit/43f41edb7>`__ Adding blank p9a fir folder and files
+-  `5318cf7e4 <https://github.com/open-power/hostboot/commit/5318cf7e4>`__ Porting repair\_state class and related functions
+-  `596206610 <https://github.com/open-power/hostboot/commit/596206610>`__ Unmask after draminit and draminit\_mc; cmd complete
+-  `7a7bd8440 <https://github.com/open-power/hostboot/commit/7a7bd8440>`__ host\_mc\_traits blank file commit for
+   after\_p9a\_omi\_init
+-  `8e19c8c4e <https://github.com/open-power/hostboot/commit/8e19c8c4e>`__ Adding after\_p9a\_omi\_init.C and p9a-specific fir
+   traits
+-  `9b510640b <https://github.com/open-power/hostboot/commit/9b510640b>`__ Adding after exp\_omi\_init unmask procedures and unit
+   test
+-  `4991558f9 <https://github.com/open-power/hostboot/commit/4991558f9>`__ Adding unmasks after exp\_scominit and unit test
+-  `9b6bd57a1 <https://github.com/open-power/hostboot/commit/9b6bd57a1>`__ exp draminit & draminit\_mc phase 3 update for PRD
+   logging
+
+Prasad Bg Ranganath (2):
+
+-  `f79d885bb <https://github.com/open-power/hostboot/commit/f79d885bb>`__ OCC firinit: Bug fix in reset path
+-  `239b11b36 <https://github.com/open-power/hostboot/commit/239b11b36>`__ PM:Fix bug in quad poweroff procedure
+
+Prem Shanker Jha (4):
+
+-  `1adf7486a <https://github.com/open-power/hostboot/commit/1adf7486a>`__ PM: Modified FFDC to avoid corruption of RC in error
+   path.
+-  `a4f8acbeb <https://github.com/open-power/hostboot/commit/a4f8acbeb>`__ Img Build: Updated STOP API version to reflect SPR self
+   save availability.
+-  `6ab72d5c3 <https://github.com/open-power/hostboot/commit/6ab72d5c3>`__ STOP API: API to verify API and image compatibility.
+-  `af3984c4f <https://github.com/open-power/hostboot/commit/af3984c4f>`__ HWP: Fixed HV-UV and UV transition during STOP entry in
+   case of LE.
+
+Rahul Batra (1):
+
+-  `12fdf6499 <https://github.com/open-power/hostboot/commit/12fdf6499>`__ PM: Fix DB0 Hang
+
+Roland Veloz (13):
+
+-  `44c6d599b <https://github.com/open-power/hostboot/commit/44c6d599b>`__ Replaced invalid trace buffer with a valid one
+-  `eafe3e3d5 <https://github.com/open-power/hostboot/commit/eafe3e3d5>`__ Added support for checking on the health status of an
+   NVDIMM
+-  `86e12de69 <https://github.com/open-power/hostboot/commit/86e12de69>`__ Fix to not send a NVDIMM protection state change to OPAL
+-  `7e5007180 <https://github.com/open-power/hostboot/commit/7e5007180>`__ NVDIMM: Fix issue where a deviceRead of a register is
+   returning bad data
+-  `08db2d6a3 <https://github.com/open-power/hostboot/commit/08db2d6a3>`__ Increased the BMC timeout from 5 seconds to 30 seconds
+-  `7dce74704 <https://github.com/open-power/hostboot/commit/7dce74704>`__ Adding a routine to do the double to string conversion
+-  `96be9fd64 <https://github.com/open-power/hostboot/commit/96be9fd64>`__ In regards to health check errors, removed the software
+   callout
+-  `453670491 <https://github.com/open-power/hostboot/commit/453670491>`__ Updated the HBRT reserved trace buffer code to compensate
+   for relocation
+-  `153dcaa15 <https://github.com/open-power/hostboot/commit/153dcaa15>`__ Implement an HBRT interface to log a gard event from
+   PHYP/OPAL
+-  `c3d8cfd06 <https://github.com/open-power/hostboot/commit/c3d8cfd06>`__ Added code to support doing an NVM health check
+-  `fa1e0b136 <https://github.com/open-power/hostboot/commit/fa1e0b136>`__ Changed the callout in the call NVM Health Status to be
+   an NVDIMM
+-  `532e4d358 <https://github.com/open-power/hostboot/commit/532e4d358>`__ ffdcExpander bash utility tool, written for December,
+   2019 Hackathon
+-  `1559c893b <https://github.com/open-power/hostboot/commit/1559c893b>`__ The HOMER address is colliding with an NVDIMM address and
+   should not
+
+Ryan Black (3):
+
+-  `77ab77a26 <https://github.com/open-power/hostboot/commit/77ab77a26>`__ Mask NPU2FIR bits 15/16 & let consumer of SUE report/act
+   on error
+-  `6b24abd70 <https://github.com/open-power/hostboot/commit/6b24abd70>`__ unit xstop npu firs/sys xstop ocapi firs -> recoverable
+   with fence
+-  `f70454687 <https://github.com/open-power/hostboot/commit/f70454687>`__ set OTL Err Rpt Mask Reg 0 bit 21, OTL TX ECC UE on CQ
+   buffer read data.
+
+Ryan King (1):
+
+-  `cbc5dfe81 <https://github.com/open-power/hostboot/commit/cbc5dfe81>`__ Print out the fields of user\_input\_msdg for debug
+
+Sheng-Hao Huang (1):
+
+-  `0571992d6 <https://github.com/open-power/hostboot/commit/0571992d6>`__ for defect number HW476620
+
+Sneha Kadam (1):
+
+-  `3eaf02929 <https://github.com/open-power/hostboot/commit/3eaf02929>`__ Renamed MCBIST subtest to clarify the test
+
+Stephen Glancy (41):
+
+-  `de35db8a7 <https://github.com/open-power/hostboot/commit/de35db8a7>`__ Fixes MCBIST ecc/spare data pattern bug
+-  `0978a1a32 <https://github.com/open-power/hostboot/commit/0978a1a32>`__ Adds lab MCBIST compare masking functionality
+-  `1552e3875 <https://github.com/open-power/hostboot/commit/1552e3875>`__ Adds MCBIST beat/byte signature data patterns
+-  `4a69b7534 <https://github.com/open-power/hostboot/commit/4a69b7534>`__ Adds LRDIMM shadow register workaround
+-  `5e8d01aad <https://github.com/open-power/hostboot/commit/5e8d01aad>`__ Adds blank files for ecc traps and fwms addresses
+-  `15b0afe89 <https://github.com/open-power/hostboot/commit/15b0afe89>`__ Moves ecc::trap\_address and fwms::address to new files
+-  `0d1f65bf2 <https://github.com/open-power/hostboot/commit/0d1f65bf2>`__ Adds explorer MCBIST address/data traps processing
+-  `cfad3552a <https://github.com/open-power/hostboot/commit/cfad3552a>`__ Fixes maintenance pattern load bug
+-  `3048b4b16 <https://github.com/open-power/hostboot/commit/3048b4b16>`__ Updates RDTAG for NVDIMM at 2400
+-  `67fcaa2aa <https://github.com/open-power/hostboot/commit/67fcaa2aa>`__ Adds explorer primary\_ranks function for sf\_init
+-  `7b8bfcc23 <https://github.com/open-power/hostboot/commit/7b8bfcc23>`__ Adds NVDIMM RD DQ delay workaround
+-  `4f1f71a47 <https://github.com/open-power/hostboot/commit/4f1f71a47>`__ Adds power control access functions for NVDIMM
+-  `2a3012ab7 <https://github.com/open-power/hostboot/commit/2a3012ab7>`__ Updates exp access delay regs to set delays
+-  `5d5d91e2f <https://github.com/open-power/hostboot/commit/5d5d91e2f>`__ Adds explorer shmoo traits
+-  `a95709f74 <https://github.com/open-power/hostboot/commit/a95709f74>`__ Adds explorer exerciser MCBIST for shmoo
+-  `7148b00bf <https://github.com/open-power/hostboot/commit/7148b00bf>`__ Fixes explorer accessor bugs
+-  `ca56ad521 <https://github.com/open-power/hostboot/commit/ca56ad521>`__ Adds eff config blank workaround files
+-  `50b0357dd <https://github.com/open-power/hostboot/commit/50b0357dd>`__ Adds NVDIMM RCW drive strength workaround
+-  `78426ddee <https://github.com/open-power/hostboot/commit/78426ddee>`__ Disables broadcast mode in memdiags::continue\_cmd
+-  `f96eba016 <https://github.com/open-power/hostboot/commit/f96eba016>`__ Adds explorer RD VREF to access delay regs
+-  `d277b5e5d <https://github.com/open-power/hostboot/commit/d277b5e5d>`__ Adds explorer CAC shmoo
+-  `5b24dd1c6 <https://github.com/open-power/hostboot/commit/5b24dd1c6>`__ Updates MCBIST print statements
+-  `9431cc09d <https://github.com/open-power/hostboot/commit/9431cc09d>`__ Fixes MCBIST lab random addressing bug
+-  `aae5b3e33 <https://github.com/open-power/hostboot/commit/aae5b3e33>`__ Fixes explorer FIR check to preserve bad RC
+-  `7ed4ddefa <https://github.com/open-power/hostboot/commit/7ed4ddefa>`__ Fixes MCBIST lab DIMM select configuration
+-  `c5263088b <https://github.com/open-power/hostboot/commit/c5263088b>`__ Updates MMIO to use FAPI\_DBG
+-  `97fc5523b <https://github.com/open-power/hostboot/commit/97fc5523b>`__ Adds MCBIST functional verification tests
+-  `f6336baa2 <https://github.com/open-power/hostboot/commit/f6336baa2>`__ Updates centaur initfiles for 16Gb
+-  `28614a19e <https://github.com/open-power/hostboot/commit/28614a19e>`__ Adds Centaur MCBIST 16Gb support
+-  `5f5573b5b <https://github.com/open-power/hostboot/commit/5f5573b5b>`__ Adds utility to read explorer delay tap size
+-  `2ff0e4392 <https://github.com/open-power/hostboot/commit/2ff0e4392>`__ Adds 16Gb support to centaur maintenance engine
+-  `151a9b61a <https://github.com/open-power/hostboot/commit/151a9b61a>`__ Add blankfiles for explorer MRS specialization
+-  `085223bff <https://github.com/open-power/hostboot/commit/085223bff>`__ Disables explorer low power mode for CCS
+-  `11793f86a <https://github.com/open-power/hostboot/commit/11793f86a>`__ Fixes galois out of bounds bug
+-  `a9774d7ae <https://github.com/open-power/hostboot/commit/a9774d7ae>`__ Updates WR VREF accessors to be generic
+-  `2f8905f6a <https://github.com/open-power/hostboot/commit/2f8905f6a>`__ Adds explorer 2666 CCS write workaround
+-  `078b7aa02 <https://github.com/open-power/hostboot/commit/078b7aa02>`__ Migrates MRS RTT swap functionality to generic
+-  `5e5e73990 <https://github.com/open-power/hostboot/commit/5e5e73990>`__ Adds explorer Per DRAM Addressability
+-  `fd8e55022 <https://github.com/open-power/hostboot/commit/fd8e55022>`__ Adds unmask to runtime makefile
+-  `89c2449d6 <https://github.com/open-power/hostboot/commit/89c2449d6>`__ Updates persistant PMIC error bits prints
+-  `d3e376b54 <https://github.com/open-power/hostboot/commit/d3e376b54>`__ Updates MRS API issue b-side iff an RCD is present
+
+Steven Janssen (3):
+
+-  `1be056a58 <https://github.com/open-power/hostboot/commit/1be056a58>`__ Update pmic header files
+-  `43fbaa4a3 <https://github.com/open-power/hostboot/commit/43fbaa4a3>`__ Fix library dependancy
+-  `8ea9d8d3d <https://github.com/open-power/hostboot/commit/8ea9d8d3d>`__ update include path to resolve compiler warning in cronus
+
+Stewart Smith (2):
+
+-  `ba9db9d33 <https://github.com/open-power/hostboot/commit/ba9db9d33>`__ memd\_creation.pl: glob on \*.rvpd to allow README in
+   memd\_binaries
+-  `d52fed67b <https://github.com/open-power/hostboot/commit/d52fed67b>`__ bootloader: skip secureboot header if exists and not
+   secure booting
+
+Sumit Kumar (1):
+
+-  `f1074af21 <https://github.com/open-power/hostboot/commit/f1074af21>`__ Fapi\_Infra:Add new member to structure ErrorInfoCDG
+
+Sunil Kumar (2):
+
+-  `6b0389447 <https://github.com/open-power/hostboot/commit/6b0389447>`__ OCMB changes to suit PPE compilation.
+-  `6f6fc522f <https://github.com/open-power/hostboot/commit/6f6fc522f>`__ Enable i2c procedures for PPE compilation.
+
+Thi Tran (3):
+
+-  `bf2951c9b <https://github.com/open-power/hostboot/commit/bf2951c9b>`__ Fix HTM trace setup problem
+-  `b3047ddb1 <https://github.com/open-power/hostboot/commit/b3047ddb1>`__ Fix bug injected by
+   https://rchgit01.rchland.ibm.com/gerrit1/#/c/82196/
+-  `599bd468c <https://github.com/open-power/hostboot/commit/599bd468c>`__ Fix OCC sandbox base address overlapped with SMF in FLIP
+   mode.
+
+Tsung Yeung (12):
+
+-  `533e20087 <https://github.com/open-power/hostboot/commit/533e20087>`__ Stop mcbist during nvdimm restore to prevent broadcast
+   out of sync
+-  `8cc600d32 <https://github.com/open-power/hostboot/commit/8cc600d32>`__ Re-order NVDIMM MRS restore sequence to comply with Jedec
+   spec
+-  `d97b70655 <https://github.com/open-power/hostboot/commit/d97b70655>`__ Invalidate BAR during MPIPL NVDIMM restore
+-  `b94854d1f <https://github.com/open-power/hostboot/commit/b94854d1f>`__ Fix restore fail due to restore attempt on empty flash
+-  `80f6d1dc0 <https://github.com/open-power/hostboot/commit/80f6d1dc0>`__ Replaces nvdimmWrite() to reset controller with
+   nvdimmResetController()
+-  `c7a3665d1 <https://github.com/open-power/hostboot/commit/c7a3665d1>`__ Double the NVDIMM\_READY timeout to prevent erroneous
+   error
+-  `34f119b59 <https://github.com/open-power/hostboot/commit/34f119b59>`__ Add nvdimm arm retry logic in case of glitches
+-  `3f41702fb <https://github.com/open-power/hostboot/commit/3f41702fb>`__ Replaces NVDIMM flush sequence with CCS
+-  `be49aca6d <https://github.com/open-power/hostboot/commit/be49aca6d>`__ Improper element erase during loop causing post-restore
+   being skipped on nvdimm
+-  `7ef7ab2d8 <https://github.com/open-power/hostboot/commit/7ef7ab2d8>`__ Updates RD\_VREF CMD\_PRECEDE\_TIME for 16GB NVDIMM
+-  `75798874c <https://github.com/open-power/hostboot/commit/75798874c>`__ Set ES policy before setting nvdimm thresholds
+-  `f198534f2 <https://github.com/open-power/hostboot/commit/f198534f2>`__ Do not deconfig on nvdimm erase fail
+
+Vasant Hegde (2):
+
+-  `76571f381 <https://github.com/open-power/hostboot/commit/76571f381>`__ MPIPL: Copy all SBE data to hypervisor memory
+-  `ae8ef5dfe <https://github.com/open-power/hostboot/commit/ae8ef5dfe>`__ MPIPL: Make sure destination size does not cross 32GB
+
+Zach Clark (6):
+
+-  `5091387d6 <https://github.com/open-power/hostboot/commit/5091387d6>`__ Cache objdump output for build performance
+-  `af5c391af <https://github.com/open-power/hostboot/commit/af5c391af>`__ Fix GCOV build errors for AXONE configuration
+-  `62c252e5b <https://github.com/open-power/hostboot/commit/62c252e5b>`__ Fix race condition in BufferPage allocation function
+-  `19f75b84d <https://github.com/open-power/hostboot/commit/19f75b84d>`__ Make snprintf always terminate the output buffer
+-  `a50e4ddfe <https://github.com/open-power/hostboot/commit/a50e4ddfe>`__ Add register file dump to kernel backtrace printout for
+   crashed tasks
+-  `60210d3dd <https://github.com/open-power/hostboot/commit/60210d3dd>`__ Fix bug in crash handler register dump
+
+Zane Shelley (11):
+
+-  `9eaf71aa2 <https://github.com/open-power/hostboot/commit/9eaf71aa2>`__ PRD: disable mask/clear for SMP failures on FSP
+-  `2870f766e <https://github.com/open-power/hostboot/commit/2870f766e>`__ PRD: Temp fix to ignore lane repair attns in OpenCAPI
+   mode
+-  `b4074ba8d <https://github.com/open-power/hostboot/commit/b4074ba8d>`__ PRD: removed unused MopRegisterAccess code
+-  `69ad22663 <https://github.com/open-power/hostboot/commit/69ad22663>`__ PRD: removed redundant header iipbits.h
+-  `e32c176c5 <https://github.com/open-power/hostboot/commit/e32c176c5>`__ PRD: fix OBUS workaround for non-SMP mode
+-  `1db43a814 <https://github.com/open-power/hostboot/commit/1db43a814>`__ PRD: updates to IOOLFIR based on recent OpenCAPI FIR
+   review
+-  `d94c2cb45 <https://github.com/open-power/hostboot/commit/d94c2cb45>`__ PRD: add virtual destructor to ScomRegister class
+-  `f3f0a8ff4 <https://github.com/open-power/hostboot/commit/f3f0a8ff4>`__ PRD: fix Explorer FSI address workaround in FIRDATA code
+-  `a23e7f84b <https://github.com/open-power/hostboot/commit/a23e7f84b>`__ PRD: boolean logic error in Axone chnl fail code
+-  `1e1c8039a <https://github.com/open-power/hostboot/commit/1e1c8039a>`__ Fixed portabiliy issue in pre-commit hook
+-  `b684d89ee <https://github.com/open-power/hostboot/commit/b684d89ee>`__ Minor fixes to addCopyright and pre-commit hooks
+
+lixg (1):
+
+-  `ba790597a <https://github.com/open-power/hostboot/commit/ba790597a>`__ Verify manufacture date (MB) from PVPD before using
+
+manichow (1):
+
+-  `d1797443d <https://github.com/open-power/hostboot/commit/d1797443d>`__ Quiesce procedure for NPU serving openCapi links
+
+rblack (1):
+
+-  `8407dc2cc <https://github.com/open-power/hostboot/commit/8407dc2cc>`__ Speculative patch for NYU ATR timeouts update.
+
+Package: nicole-xml
+-------------------
+
+`Repository <https://github.com/open-power/nicole-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Artem Senichev (4):
+
+-  `ad9f0ab <https://github.com/open-power/nicole-xml/commit/ad9f0ab>`__ Set XBus frequency to default value (2000MHz)
+-  `c592dee <https://github.com/open-power/nicole-xml/commit/c592dee>`__ Add WOF table for POWER9 Sforza module
+-  `1ac78dd <https://github.com/open-power/nicole-xml/commit/1ac78dd>`__ Add WOF table for POWER9 Sforza module
+-  `9a6da5f <https://github.com/open-power/nicole-xml/commit/9a6da5f>`__ Add WOF table for POWER9 Sforza module (02AA882)
+
+Package: occ
+------------
+
+`Repository <https://github.com/open-power/occ>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Caleb Palmer (1):
+
+-  `bae814c <https://github.com/open-power/occ/commit/bae814c>`__ NPU target SCOM translation non-instance 0 fix
+
+Chris Cain (5):
+
+-  `b230076 <https://github.com/open-power/occ/commit/b230076>`__ Pick up latest pgpe elog structure
+-  `5c32e77 <https://github.com/open-power/occ/commit/5c32e77>`__ NVDIMM: Invalidate MCFGP facility at start of procedure
+-  `e4597ab <https://github.com/open-power/occ/commit/e4597ab>`__ Ignore IPMI\_SMS\_ATN during fir data collection and remove 8k
+   buffer
+-  `3ab2921 <https://github.com/open-power/occ/commit/3ab2921>`__ FIR data collection updates
+-  `1bf0c8c <https://github.com/open-power/occ/commit/1bf0c8c>`__ Minor updates to occtoolp9
+
+Douglas Gilbert (2):
+
+-  `0ac1770 <https://github.com/open-power/occ/commit/0ac1770>`__ P9a GPE support for up to 16 OCMBs
+-  `e11f3af <https://github.com/open-power/occ/commit/e11f3af>`__ OCMB sensor enabled fix
+
+Sumit Kumar (1):
+
+-  `8d4e7fa <https://github.com/open-power/occ/commit/8d4e7fa>`__ Corrected Alink scom address in PMU\_CONFIGS\_16
+
+William Bryan (1):
+
+-  `8a315b7 <https://github.com/open-power/occ/commit/8a315b7>`__ Remove unused sensors to free up needed SRAM space
+
+joy\_chu (1):
+
+-  `1e8731f <https://github.com/open-power/occ/commit/1e8731f>`__ Modify: modify amec power sensor calculation
+
+mbroyles (6):
+
+-  `e447be8 <https://github.com/open-power/occ/commit/e447be8>`__ Delete debug sensors to save SRAM
+-  `8bbfabe <https://github.com/open-power/occ/commit/8bbfabe>`__ New WOF sensor for final adjusted Ceff Ratio Vdd
+-  `d467852 <https://github.com/open-power/occ/commit/d467852>`__ Fix incorrect hw callout in Centaur DIMM OT errors
+-  `7888141 <https://github.com/open-power/occ/commit/7888141>`__ Support for 16 OCMBs
+-  `e3c65ee <https://github.com/open-power/occ/commit/e3c65ee>`__ Explorer internal sensor workaround
+-  `ab4dc96 <https://github.com/open-power/occ/commit/ab4dc96>`__ Fix Vdd ceff ratio calculation when active cores is less than sort
+   cores
+
+Package: op-build
+-----------------
+
+`Repository <https://github.com/open-power/op-build>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: p8dtu-xml
+------------------
+
+`Repository <https://github.com/open-power/p8dtu-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: p9dsu-xml
+------------------
+
+`Repository <https://github.com/open-power/p9dsu-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: palmetto-xml
+---------------------
+
+`Repository <https://github.com/open-power/palmetto-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: petitboot
+------------------
+
+`Repository <https://github.com/open-power/petitboot>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Jeremy Kerr (26):
+
+-  `514a9a1 <https://github.com/open-power/petitboot/commit/514a9a1>`__ pb-console: start shell as a login shell
+-  `6f23e17 <https://github.com/open-power/petitboot/commit/6f23e17>`__ pb-console: don't modify PATH unless it's empty
+-  `e558da1 <https://github.com/open-power/petitboot/commit/e558da1>`__ discover/grub2: 'search' set-variable defaults to root
+-  `61ede5e <https://github.com/open-power/petitboot/commit/61ede5e>`__ discover/grub2: Use getopt for ``search`` argument parsing
+-  `76e97c5 <https://github.com/open-power/petitboot/commit/76e97c5>`__ discover/grub2: test for (ignored) --no-floppy argument
+-  `1580c65 <https://github.com/open-power/petitboot/commit/1580c65>`__ discover/grub2: Add support for UUID and label for 'search'
+   command
+-  `8cb74c4 <https://github.com/open-power/petitboot/commit/8cb74c4>`__ discover/grub2: expose a struct for grub2 file references
+-  `51f7117 <https://github.com/open-power/petitboot/commit/51f7117>`__ discover/grub2: Add parsing code for grub2 file specifiers
+-  `9fc2ac6 <https://github.com/open-power/petitboot/commit/9fc2ac6>`__ discover/grub2: add support for grub2-style path specifiers
+   in resources
+-  `b224457 <https://github.com/open-power/petitboot/commit/b224457>`__ discover/grub2: Allow (device)/path references in general
+   script usage
+-  `a9a9d57 <https://github.com/open-power/petitboot/commit/a9a9d57>`__ discover/grub2: Add a reference from script to parser
+-  `2c132eb <https://github.com/open-power/petitboot/commit/2c132eb>`__ discover/grub2: expose internal parse function
+-  `9711179 <https://github.com/open-power/petitboot/commit/9711179>`__ discover/grub2: make statements\_execute non-static
+-  `967cfa7 <https://github.com/open-power/petitboot/commit/967cfa7>`__ discover/grub2: implement 'source' command
+-  `1ef95c2 <https://github.com/open-power/petitboot/commit/1ef95c2>`__ test/parser: Add test for recent RHCOS grub2 config
+-  `057dce2 <https://github.com/open-power/petitboot/commit/057dce2>`__ test/parser: Add RHEL8 grub config test
+-  `6ee9cbc <https://github.com/open-power/petitboot/commit/6ee9cbc>`__ lib/pb-protocol: fix ordering of system info length
+   calculation
+-  `b2e5a7b <https://github.com/open-power/petitboot/commit/b2e5a7b>`__ lib/types: consolidate struct system\_info layout with
+   serialised version
+-  `aa2d71a <https://github.com/open-power/petitboot/commit/aa2d71a>`__ protocol,types: Add secure & trusted boot state to system
+   info
+-  `05d9b9b <https://github.com/open-power/petitboot/commit/05d9b9b>`__ discover/powerpc: detect secureboot enforcing mode
+-  `e9340b7 <https://github.com/open-power/petitboot/commit/e9340b7>`__ ui/ncurses: Add secure & trusted boot status
+-  `2f6259d <https://github.com/open-power/petitboot/commit/2f6259d>`__ discover/boot: add support for ``kexec -s`` for
+   kexec\_file\_load
+-  `059cc51 <https://github.com/open-power/petitboot/commit/059cc51>`__ discover/boot: unify verification failure messages
+-  `9383652 <https://github.com/open-power/petitboot/commit/9383652>`__ Remove unused 's' file
+-  `9cf513f <https://github.com/open-power/petitboot/commit/9cf513f>`__ docker: build petitboot outside of the source dir
+-  `0ed84c0 <https://github.com/open-power/petitboot/commit/0ed84c0>`__ test/parser: Add rhel8 test data to check\_DATA
+
+Maxim Polyakov (5):
+
+-  `43813e6 <https://github.com/open-power/petitboot/commit/43813e6>`__ discover/platform-powerpc: add missing mbox block selector
+-  `1088a8a <https://github.com/open-power/petitboot/commit/1088a8a>`__ discover/platform-powerpc: limit mailbox response size
+-  `5f8321e <https://github.com/open-power/petitboot/commit/5f8321e>`__ discover/platform-powerpc: return the actual mailbox size
+-  `eb027e7 <https://github.com/open-power/petitboot/commit/eb027e7>`__ discover/platform-powerpc: add mailbox message structure
+-  `3c818a2 <https://github.com/open-power/petitboot/commit/3c818a2>`__ discover/platform-powerpc: don't copy IANA from mbox to
+   buffer
+
+Maxiwell S. Garcia (4):
+
+-  `827a7af <https://github.com/open-power/petitboot/commit/827a7af>`__ configure: Add libelf as a requirement
+-  `0c07402 <https://github.com/open-power/petitboot/commit/0c07402>`__ discover: Add helper functions to read ELF notes
+-  `3513c7f <https://github.com/open-power/petitboot/commit/3513c7f>`__ ui/ncurses: Add preboot check option in the config screen
+-  `7b108df <https://github.com/open-power/petitboot/commit/7b108df>`__ discover: Check if the kernel image has Ultravisor support
+
+Package: pnor
+-------------
+
+`Repository <https://github.com/open-power/pnor>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: romulus-xml
+--------------------
+
+`Repository <https://github.com/open-power/romulus-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Nickolaus Gruendler (1):
+
+-  `5b3fbca <https://github.com/open-power/romulus-xml/commit/5b3fbca>`__ Update to ATTR\_MSS\_VPD\_MR\_DPHY\_RLO for 2400 speed
+
+Package: sbe
+------------
+
+`Repository <https://github.com/open-power/sbe>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Adam Hale (5):
+
+-  `70858c2e <https://github.com/open-power/sbe/commit/70858c2e>`__ temporary mc inits to enable wider team
+-  `51a69f51 <https://github.com/open-power/sbe/commit/51a69f51>`__ Move to long term CLSCOM workaround
+-  `38af071c <https://github.com/open-power/sbe/commit/38af071c>`__ Axone setup changes to disable bumpy toothpaste workaround
+-  `94f9bc2a <https://github.com/open-power/sbe/commit/94f9bc2a>`__ Axone Gemini MDI issue workaround
+-  `3225e80a <https://github.com/open-power/sbe/commit/3225e80a>`__ Axone int updates
+
+Alvin Wang (13):
+
+-  `518a1b2f <https://github.com/open-power/sbe/commit/518a1b2f>`__ Adds exp\_draminit\_mc
+-  `9f94a4f1 <https://github.com/open-power/sbe/commit/9f94a4f1>`__ Reinstates exp\_draminit\_mc with change\_addr\_mux\_sel fix
+-  `a19089ef <https://github.com/open-power/sbe/commit/a19089ef>`__ Move MCBIST lib to generic folder
+-  `37a8bf54 <https://github.com/open-power/sbe/commit/37a8bf54>`__ Move the mcbist lab library to generic folder
+-  `73c86947 <https://github.com/open-power/sbe/commit/73c86947>`__ Move power\_thermal lib to generic
+-  `2932b6fa <https://github.com/open-power/sbe/commit/2932b6fa>`__ Update setup\_fw\_boot\_config() to read out actual values from
+   attributes
+-  `180d29ec <https://github.com/open-power/sbe/commit/180d29ec>`__ Adds exp\_draminit\_mc
+-  `d48d771b <https://github.com/open-power/sbe/commit/d48d771b>`__ Reinstates exp\_draminit\_mc with change\_addr\_mux\_sel fix
+-  `eb69df41 <https://github.com/open-power/sbe/commit/eb69df41>`__ Move MCBIST lib to generic folder
+-  `54d02bc2 <https://github.com/open-power/sbe/commit/54d02bc2>`__ Move power\_thermal lib to generic
+-  `cee5767f <https://github.com/open-power/sbe/commit/cee5767f>`__ Move the mcbist lab library to generic folder
+-  `61979222 <https://github.com/open-power/sbe/commit/61979222>`__ Adds empty files for exp\_draminit\_mc and p9a\_omi\_train
+-  `0bb6050f <https://github.com/open-power/sbe/commit/0bb6050f>`__ Adds p9a\_omi\_train procedure(START)
+
+Andre A. Marin (10):
+
+-  `e1257e44 <https://github.com/open-power/sbe/commit/e1257e44>`__ Fix c\_str and pos DIMM specialization
+-  `20805cd4 <https://github.com/open-power/sbe/commit/20805cd4>`__ Add mem\_size and misc attrs, unit tests enable
+-  `a17eb3a5 <https://github.com/open-power/sbe/commit/a17eb3a5>`__ Fix c\_str and pos DIMM specialization
+-  `253e6fcf <https://github.com/open-power/sbe/commit/253e6fcf>`__ Add mem\_size and misc attrs, unit tests enable
+-  `d6698496 <https://github.com/open-power/sbe/commit/d6698496>`__ Clean up PPE character format and target
+-  `0a776030 <https://github.com/open-power/sbe/commit/0a776030>`__ Add unit tests for mss field\_t and macro def
+-  `2dd4b6bd <https://github.com/open-power/sbe/commit/2dd4b6bd>`__ Add bounds check API to generic\_check library
+-  `ebcc0c09 <https://github.com/open-power/sbe/commit/ebcc0c09>`__ Add supported\_rcd attribute from SPD + tests
+-  `81d3ad9c <https://github.com/open-power/sbe/commit/81d3ad9c>`__ Update index\_within\_bounds() API
+-  `ceefc24e <https://github.com/open-power/sbe/commit/ceefc24e>`__ Add explorer rc response to eff\_config
+
+Andre Marin (37):
+
+-  `730e7a76 <https://github.com/open-power/sbe/commit/730e7a76>`__ Add empty files for refactored SPD read API
+-  `71405bb5 <https://github.com/open-power/sbe/commit/71405bb5>`__ Add SPD reader and traits DDR4 def
+-  `6a0ab353 <https://github.com/open-power/sbe/commit/6a0ab353>`__ Add empty explorer "check\_for\_ready" procedure files
+-  `d3a9c6e7 <https://github.com/open-power/sbe/commit/d3a9c6e7>`__ Add empty memory explorer error XML
+-  `08f9043a <https://github.com/open-power/sbe/commit/08f9043a>`__ Add empty mss\_byte.H and mss\_generic\_check to ease HB
+   mirroring
+-  `35af1e35 <https://github.com/open-power/sbe/commit/35af1e35>`__ Remove Nimbus dependencies from the SPD decoder
+-  `50a5bf7b <https://github.com/open-power/sbe/commit/50a5bf7b>`__ Add emtpy exp\_i2c\_fields.H file for mirroring
+-  `e454167d <https://github.com/open-power/sbe/commit/e454167d>`__ Generalize byte reading from SPD reading, for exp i2c reuse
+-  `adc384e6 <https://github.com/open-power/sbe/commit/adc384e6>`__ Added I2C fields, EXP\_FW\_STATUS API
+-  `2d3e83ab <https://github.com/open-power/sbe/commit/2d3e83ab>`__ Implement exp\_check\_for\_ready
+-  `09a9a40d <https://github.com/open-power/sbe/commit/09a9a40d>`__ Initial mss\_field endian modification
+-  `e66830b6 <https://github.com/open-power/sbe/commit/e66830b6>`__ Add exp\_draminit and fix data\_structs constants
+-  `0f8b9522 <https://github.com/open-power/sbe/commit/0f8b9522>`__ Add L1 for p9a\_mss\_bulk\_pwr\_throttles and
+   p9a\_mss\_utils\_to\_throttle
+-  `4338c9db <https://github.com/open-power/sbe/commit/4338c9db>`__ Generalize set fields in pre\_data\_init
+-  `63dc7cda <https://github.com/open-power/sbe/commit/63dc7cda>`__ Add SPD DDIMM DDR4 module except for PMIC fields
+-  `2edbcc69 <https://github.com/open-power/sbe/commit/2edbcc69>`__ Add attribute engine algorithm for eff\_config and
+   pre\_eff\_config
+-  `052f732f <https://github.com/open-power/sbe/commit/052f732f>`__ Fix HB error with -Os compile flag due to eff\_config
+-  `3366f35e <https://github.com/open-power/sbe/commit/3366f35e>`__ Add missing attributes needed to be set for generic mss\_kind
+-  `bbbee5d9 <https://github.com/open-power/sbe/commit/bbbee5d9>`__ Add empty files for refactored SPD read API
+-  `c4942627 <https://github.com/open-power/sbe/commit/c4942627>`__ Add SPD reader and traits DDR4 def
+-  `4c69aba1 <https://github.com/open-power/sbe/commit/4c69aba1>`__ Add empty explorer "check\_for\_ready" procedure files
+-  `646a51c8 <https://github.com/open-power/sbe/commit/646a51c8>`__ Add empty memory explorer error XML
+-  `119f2896 <https://github.com/open-power/sbe/commit/119f2896>`__ Add empty mss\_byte.H and mss\_generic\_check to ease HB
+   mirroring
+-  `59a5245f <https://github.com/open-power/sbe/commit/59a5245f>`__ Remove Nimbus dependencies from the SPD decoder
+-  `c0f3e0a8 <https://github.com/open-power/sbe/commit/c0f3e0a8>`__ Add emtpy exp\_i2c\_fields.H file for mirroring
+-  `d74733f0 <https://github.com/open-power/sbe/commit/d74733f0>`__ Generalize byte reading from SPD reading, for exp i2c reuse
+-  `17441d0b <https://github.com/open-power/sbe/commit/17441d0b>`__ Added I2C fields, EXP\_FW\_STATUS API
+-  `f52536b5 <https://github.com/open-power/sbe/commit/f52536b5>`__ Implement exp\_check\_for\_ready
+-  `ad9f7963 <https://github.com/open-power/sbe/commit/ad9f7963>`__ Initial mss\_field endian modification
+-  `82fbc51a <https://github.com/open-power/sbe/commit/82fbc51a>`__ Add exp\_draminit and fix data\_structs constants
+-  `0248d119 <https://github.com/open-power/sbe/commit/0248d119>`__ Generalize set fields in pre\_data\_init
+-  `13e163d1 <https://github.com/open-power/sbe/commit/13e163d1>`__ Add SPD DDIMM DDR4 module except for PMIC fields
+-  `0f79843b <https://github.com/open-power/sbe/commit/0f79843b>`__ Add L1 for p9a\_mss\_bulk\_pwr\_throttles and
+   p9a\_mss\_utils\_to\_throttle
+-  `0a037363 <https://github.com/open-power/sbe/commit/0a037363>`__ Add attribute engine algorithm for eff\_config and
+   pre\_eff\_config
+-  `ab24d311 <https://github.com/open-power/sbe/commit/ab24d311>`__ Fix HB error with -Os compile flag due to eff\_config
+-  `d2f662b2 <https://github.com/open-power/sbe/commit/d2f662b2>`__ Add missing attributes needed to be set for generic mss\_kind
+-  `1e5e13ce <https://github.com/open-power/sbe/commit/1e5e13ce>`__ Clean up for p10 porting dependency errors
+
+Ben Gass (6):
+
+-  `0a616016 <https://github.com/open-power/sbe/commit/0a616016>`__ Adding p9a\_get/put\_mmio and explorer\_inband
+-  `3c6ffc5b <https://github.com/open-power/sbe/commit/3c6ffc5b>`__ Update cmd/rsp endian handling in exp\_inband
+-  `201278b9 <https://github.com/open-power/sbe/commit/201278b9>`__ Adding p9a\_get/put\_mmio and explorer\_inband
+-  `52715d66 <https://github.com/open-power/sbe/commit/52715d66>`__ Update cmd/rsp endian handling in exp\_inband
+-  `db05b035 <https://github.com/open-power/sbe/commit/db05b035>`__ Adding Axone register header files.
+-  `dfae3a84 <https://github.com/open-power/sbe/commit/dfae3a84>`__ Update p9\_mss\_eff\_grouping for Axone support
+
+Bradley Pepper (1):
+
+-  `547f0a27 <https://github.com/open-power/sbe/commit/547f0a27>`__ Adds plug rule for dependent DIMM slots on Swift
+
+Chris Steffen (1):
+
+-  `6d59ceee <https://github.com/open-power/sbe/commit/6d59ceee>`__ P9A Tx Fifo Init + Init Settings Update
+
+Christian Geddes (13):
+
+-  `5df3896a <https://github.com/open-power/sbe/commit/5df3896a>`__ Add exp\_i2c\_scom driver that will be consumed by HB/SBE
+   platforms
+-  `4da70777 <https://github.com/open-power/sbe/commit/4da70777>`__ Add forceBE option to endian\_utils.H
+-  `07684ec0 <https://github.com/open-power/sbe/commit/07684ec0>`__ Update i2c driver for OCMB chip
+-  `117e3fb9 <https://github.com/open-power/sbe/commit/117e3fb9>`__ Make some FAPI\_INF traces that are spamming FW logs into
+   FAPI\_DBG
+-  `226899a2 <https://github.com/open-power/sbe/commit/226899a2>`__ Add exp\_i2c\_scom driver that will be consumed by HB/SBE
+   platforms
+-  `f8a9eff2 <https://github.com/open-power/sbe/commit/f8a9eff2>`__ Add forceBE option to endian\_utils.H
+-  `c3b35f40 <https://github.com/open-power/sbe/commit/c3b35f40>`__ Update i2c driver for OCMB chip
+-  `bfe4eb7d <https://github.com/open-power/sbe/commit/bfe4eb7d>`__ Make some FAPI\_INF traces that are spamming FW logs into
+   FAPI\_DBG
+-  `aa9068ab <https://github.com/open-power/sbe/commit/aa9068ab>`__ Account for OMI technology in initial mcs setup for Axone
+-  `793283f0 <https://github.com/open-power/sbe/commit/793283f0>`__ Update ocmb i2c driver to send address in read command sequence
+-  `50895b93 <https://github.com/open-power/sbe/commit/50895b93>`__ Introduce exp\_getidec HWP
+-  `60330e0e <https://github.com/open-power/sbe/commit/60330e0e>`__ Add "Not Wired" option for OPTICS\_CONFIG\_MODE attrs
+-  `13627efc <https://github.com/open-power/sbe/commit/13627efc>`__ Add exp\_i2c\_scom driver that will be consumed by HB/SBE
+   platforms
+
+Dan Crowell (5):
+
+-  `0209c872 <https://github.com/open-power/sbe/commit/0209c872>`__ Update Explorer FW Command IDs
+-  `aa5c5ff1 <https://github.com/open-power/sbe/commit/aa5c5ff1>`__ Update Explorer FW Command IDs
+-  `3624a993 <https://github.com/open-power/sbe/commit/3624a993>`__ Add Axone comment to grouping attribute
+-  `2b61547b <https://github.com/open-power/sbe/commit/2b61547b>`__ Enable rolling counter and verification of req id for Explorer
+-  `512f9246 <https://github.com/open-power/sbe/commit/512f9246>`__ Adjust idec algorithm for Explorer B.0 format
+
+Dean Sanner (1):
+
+-  `c05bb41d <https://github.com/open-power/sbe/commit/c05bb41d>`__ Run LPC Init to clean up errors on MPIPL
+
+Devon Baughen (1):
+
+-  `c6c08ec5 <https://github.com/open-power/sbe/commit/c6c08ec5>`__ add function to turn on adaptation in bootconfig
+
+Emmanuel Sacristan (1):
+
+-  `debfec25 <https://github.com/open-power/sbe/commit/debfec25>`__ adding iss 768 init for p9 behaviour in nmmu
+
+Evan Lojewski (2):
+
+-  `e9924f12 <https://github.com/open-power/sbe/commit/e9924f12>`__ Update to allow DDR4-SORDIMM modules to be used [3].
+-  `caacd24f <https://github.com/open-power/sbe/commit/caacd24f>`__ Update to allow DDR4-SORDIMM modules to be used [3].
+
+Glenn Miles (3):
+
+-  `d3157de4 <https://github.com/open-power/sbe/commit/d3157de4>`__ Add procedures for updating explorer firmware image
+-  `a6a2279a <https://github.com/open-power/sbe/commit/a6a2279a>`__ Add procedures for updating explorer firmware image
+-  `d266398f <https://github.com/open-power/sbe/commit/d266398f>`__ Add HWP for entering Explorer TWI mode
+
+Greg Still (1):
+
+-  `78fb7838 <https://github.com/open-power/sbe/commit/78fb7838>`__ PM Suspend: add halting of OCC GPEs
+
+Jennifer A. Stofer (2):
+
+-  `1a12dc03 <https://github.com/open-power/sbe/commit/1a12dc03>`__ Revert "Adds exp\_draminit\_mc"
+-  `af190d18 <https://github.com/open-power/sbe/commit/af190d18>`__ Revert "Adds exp\_draminit\_mc"
+
+Jenny Huynh (2):
+
+-  `909eb261 <https://github.com/open-power/sbe/commit/909eb261>`__ Wilted Apple: Disable SMT2 prefetch for NDD2.2+, CDD1.1+,
+   ADD1.0+
+-  `ca5cbf31 <https://github.com/open-power/sbe/commit/ca5cbf31>`__ Add slbv, slbe extraction to p9\_ram\_core procedure
+
+Joachim Fenkes (1):
+
+-  `ace80025 <https://github.com/open-power/sbe/commit/ace80025>`__ Streamline the way PIB/NET are initialized between SBE and
+   Cronus
+
+Joe McGill (1):
+
+-  `bd520255 <https://github.com/open-power/sbe/commit/bd520255>`__ p9\_proc\_gettracearray -- updates for Axone
+
+Li Meng (2):
+
+-  `5890dd91 <https://github.com/open-power/sbe/commit/5890dd91>`__ Creates LRDIMM mrep/dwl calibration recorder class
+-  `c700a05f <https://github.com/open-power/sbe/commit/c700a05f>`__ Creates LRDIMM mrep/dwl calibration recorder class
+
+Louis Stermole (27):
+
+-  `5b8210bf <https://github.com/open-power/sbe/commit/5b8210bf>`__ Fix polling timeouts for exp\_omi\_train and
+   exp\_check\_for\_ready
+-  `1cb0d8de <https://github.com/open-power/sbe/commit/1cb0d8de>`__ Move MSS volt attr setters to generic folder
+-  `352d99be <https://github.com/open-power/sbe/commit/352d99be>`__ Add p9a\_mss\_volt procedure
+-  `b6f6fb58 <https://github.com/open-power/sbe/commit/b6f6fb58>`__ Add p9a version of eff\_memory\_size API
+-  `303dd8b9 <https://github.com/open-power/sbe/commit/303dd8b9>`__ Add retry of EXP\_FW\_STATUS when status is FW\_BUSY
+-  `7ef569b0 <https://github.com/open-power/sbe/commit/7ef569b0>`__ Add check for BOOT\_STAGE == runtime fw in
+   exp\_check\_for\_ready
+-  `5c3f1d99 <https://github.com/open-power/sbe/commit/5c3f1d99>`__ Fix polling timeouts for exp\_omi\_train and
+   exp\_check\_for\_ready
+-  `95d92195 <https://github.com/open-power/sbe/commit/95d92195>`__ Fix duplicate symbol errors from DEFAULT\_MC\_TYPE
+-  `cd9a1a6c <https://github.com/open-power/sbe/commit/cd9a1a6c>`__ Add p9a\_mss\_freq procedure
+-  `25f753d8 <https://github.com/open-power/sbe/commit/25f753d8>`__ Update exp\_omi\_train for testing
+-  `e9cd754f <https://github.com/open-power/sbe/commit/e9cd754f>`__ Add missing timing attrs to p9a\_eff\_config
+-  `aab9c442 <https://github.com/open-power/sbe/commit/aab9c442>`__ Move MSS volt attr setters to generic folder
+-  `c7096f6f <https://github.com/open-power/sbe/commit/c7096f6f>`__ Add p9a\_mss\_volt procedure
+-  `4ccbdb85 <https://github.com/open-power/sbe/commit/4ccbdb85>`__ Add p9a version of eff\_memory\_size API
+-  `82ad5ef7 <https://github.com/open-power/sbe/commit/82ad5ef7>`__ Fix duplicate symbol errors from DEFAULT\_MC\_TYPE
+-  `55554d3a <https://github.com/open-power/sbe/commit/55554d3a>`__ Add p9a\_mss\_freq procedure
+-  `851a68c4 <https://github.com/open-power/sbe/commit/851a68c4>`__ Add debug params to exp\_check\_for\_ready\_wrap
+-  `fee0ceed <https://github.com/open-power/sbe/commit/fee0ceed>`__ Update exp\_omi\_train for testing
+-  `713899e8 <https://github.com/open-power/sbe/commit/713899e8>`__ Add retry of EXP\_FW\_STATUS when status is FW\_BUSY
+-  `56c9d506 <https://github.com/open-power/sbe/commit/56c9d506>`__ Add check for BOOT\_STAGE == runtime fw in
+   exp\_check\_for\_ready
+-  `21be781f <https://github.com/open-power/sbe/commit/21be781f>`__ Add missing timing attrs to p9a\_eff\_config
+-  `03efd459 <https://github.com/open-power/sbe/commit/03efd459>`__ Fix polling timeouts for exp\_omi\_train and
+   exp\_check\_for\_ready
+-  `9a430ddf <https://github.com/open-power/sbe/commit/9a430ddf>`__ Updates to Explorer FW upload tools
+-  `8b06b5c1 <https://github.com/open-power/sbe/commit/8b06b5c1>`__ Add deconfigure of memory port if mss\_freq can't find consensus
+   freq
+-  `6cad7d02 <https://github.com/open-power/sbe/commit/6cad7d02>`__ Add Axone FIR unmasking after p9\_chiplet\_scominit
+-  `c318ab00 <https://github.com/open-power/sbe/commit/c318ab00>`__ Add unmask\_after\_exp\_omi\_setup and FIR checks
+-  `2f535c87 <https://github.com/open-power/sbe/commit/2f535c87>`__ Add unmasks for REG1 and REG2 versions of OMI\_FIR for Axone
+
+Luis Fernandez (1):
+
+-  `9acbf9f3 <https://github.com/open-power/sbe/commit/9acbf9f3>`__ HB Implement Static Analysis with cppcheck
+
+Mark Pizzutillo (24):
+
+-  `c130fb5d <https://github.com/open-power/sbe/commit/c130fb5d>`__ Added code for exp\_getecid and unit tests
+-  `1d80cb57 <https://github.com/open-power/sbe/commit/1d80cb57>`__ Fix exp\_getecid register accesses
+-  `9ca91c9e <https://github.com/open-power/sbe/commit/9ca91c9e>`__ Add API for axone p10 dimm rank
+-  `b06099df <https://github.com/open-power/sbe/commit/b06099df>`__ Add PMIC enable procedure code and UTs
+-  `745d8711 <https://github.com/open-power/sbe/commit/745d8711>`__ Fix exp\_draminit phy\_params
+-  `c257cb57 <https://github.com/open-power/sbe/commit/c257cb57>`__ Added code for exp\_getecid and unit tests
+-  `f68b0a02 <https://github.com/open-power/sbe/commit/f68b0a02>`__ Add API for axone p10 dimm rank
+-  `68e02713 <https://github.com/open-power/sbe/commit/68e02713>`__ Fix exp\_getecid register accesses
+-  `72a62b5a <https://github.com/open-power/sbe/commit/72a62b5a>`__ Add PMIC enable procedure code and UTs
+-  `39a198fb <https://github.com/open-power/sbe/commit/39a198fb>`__ Fix exp\_draminit phy\_params
+-  `34778bc0 <https://github.com/open-power/sbe/commit/34778bc0>`__ Add PRBS training sequence to exp\_omi\_setup
+-  `be05ce9e <https://github.com/open-power/sbe/commit/be05ce9e>`__ Create workaround for gemini MENTERP register bug
+-  `71852bfe <https://github.com/open-power/sbe/commit/71852bfe>`__ Add workaround for gemini OMI config settings
+-  `9346ae92 <https://github.com/open-power/sbe/commit/9346ae92>`__ Add code and workarounds for \*\_omi\_setup and \*\_omi\_train
+   for Swift
+-  `27423190 <https://github.com/open-power/sbe/commit/27423190>`__ Update exp\_draminit results display for new response structs
+-  `2938d54f <https://github.com/open-power/sbe/commit/2938d54f>`__ Add assert for RSP extended data buffer size in exp\_draminit
+-  `c2b97f24 <https://github.com/open-power/sbe/commit/c2b97f24>`__ Add MCBIST infinite tests
+-  `e1637c7d <https://github.com/open-power/sbe/commit/e1637c7d>`__ Add asserts for invalid states of enterprise & half dimm mode
+-  `5f7d221a <https://github.com/open-power/sbe/commit/5f7d221a>`__ Add new DDIMM spd version 0\_3 and update UTs
+-  `2132642e <https://github.com/open-power/sbe/commit/2132642e>`__ Add TARGET\_TYPE\_GENERICI2CSLAVE and relevant attributes
+-  `972885f1 <https://github.com/open-power/sbe/commit/972885f1>`__ Add attribute for SPD\_REVISION (byte 1)
+-  `b72e88b9 <https://github.com/open-power/sbe/commit/b72e88b9>`__ Refactor PMIC attributes to be at OCMB level
+-  `7247b205 <https://github.com/open-power/sbe/commit/7247b205>`__ Add SPD, ATTR, and code support for thermal sensor fields
+-  `2d51dbbb <https://github.com/open-power/sbe/commit/2d51dbbb>`__ Update RAS DQ Inject tool with new MCHP squence
+
+Marty E. Plummer (6):
+
+-  `629327db <https://github.com/open-power/sbe/commit/629327db>`__ updateBuildTag: convert proc.stdout.read() to str.
+-  `1ccc5eff <https://github.com/open-power/sbe/commit/1ccc5eff>`__ sbeCompression: add a python3 compatible fallback
+-  `04a2b51f <https://github.com/open-power/sbe/commit/04a2b51f>`__ sbeCompression: use floor division
+-  `e7dccb09 <https://github.com/open-power/sbe/commit/e7dccb09>`__ securityRegListGen: use io.open and read in text mode.
+-  `2615d39b <https://github.com/open-power/sbe/commit/2615d39b>`__ parsAndCutElf: convert line to str
+-  `e0e6c72e <https://github.com/open-power/sbe/commit/e0e6c72e>`__ treewide: use print function instead of statement
+
+Matt Derksen (1):
+
+-  `245b9cef <https://github.com/open-power/sbe/commit/245b9cef>`__ Support EXP\_FW\_LOG command to get Explorer FW logs
+
+Matthew Hickman (2):
+
+-  `c4bf31c0 <https://github.com/open-power/sbe/commit/c4bf31c0>`__ Ported ecc engine to generic
+-  `f811ed4a <https://github.com/open-power/sbe/commit/f811ed4a>`__ Ported ecc engine to generic
+
+Murulidhar Nataraju (3):
+
+-  `462aea8b <https://github.com/open-power/sbe/commit/462aea8b>`__ Update the Simics release path
+-  `98d8d616 <https://github.com/open-power/sbe/commit/98d8d616>`__ Update EnterMPIPL to collect architected dumps and
+-  `099e7402 <https://github.com/open-power/sbe/commit/099e7402>`__ MPIPL:SW485350
+
+Nico Fajardo (3):
+
+-  `2e2e7ec7 <https://github.com/open-power/sbe/commit/2e2e7ec7>`__ Add FAPI\_ASSERT for unsupported SPD rank in RTT fetch
+-  `f95319e0 <https://github.com/open-power/sbe/commit/f95319e0>`__ Adding after\_p9a\_omi\_init.C and p9a-specific fir traits
+-  `e6cfaaee <https://github.com/open-power/sbe/commit/e6cfaaee>`__ exp draminit & draminit\_mc phase 3 update for PRD logging
+
+Prasad Bg Ranganath (1):
+
+-  `c58e8fd0 <https://github.com/open-power/sbe/commit/c58e8fd0>`__ PM:Fix bug in quad poweroff procedure
+
+Prem Shanker Jha (1):
+
+-  `b05b7eb2 <https://github.com/open-power/sbe/commit/b05b7eb2>`__ PM: Modified FFDC to avoid corruption of RC in error path.
+
+Rahul Batra (1):
+
+-  `49f59681 <https://github.com/open-power/sbe/commit/49f59681>`__ PM: Fix DB0 Hang
+
+Raja Das (6):
+
+-  `8ee58f3e <https://github.com/open-power/sbe/commit/8ee58f3e>`__ Removed FlushNVDIMM from MPIPL Path
+-  `7d3fabc4 <https://github.com/open-power/sbe/commit/7d3fabc4>`__ Updated the pibmem length for Axone in sbe-debug.py
+-  `8fe7586c <https://github.com/open-power/sbe/commit/8fe7586c>`__ Updated backing build
+-  `1120e327 <https://github.com/open-power/sbe/commit/1120e327>`__ Updated backing build
+-  `1d411055 <https://github.com/open-power/sbe/commit/1d411055>`__ Optimized the Control Instruction Chip-op
+-  `230eeb0e <https://github.com/open-power/sbe/commit/230eeb0e>`__ Updated backing build in customrc
+
+Ryan Black (1):
+
+-  `166b70c6 <https://github.com/open-power/sbe/commit/166b70c6>`__ set OTL Err Rpt Mask Reg 0 bit 21, OTL TX ECC UE on CQ buffer
+   read data.
+
+Ryan King (2):
+
+-  `2ce7e143 <https://github.com/open-power/sbe/commit/2ce7e143>`__ Add sensor cache read as an explorer inband command
+-  `e9fa3aa1 <https://github.com/open-power/sbe/commit/e9fa3aa1>`__ Add sensor cache read as an explorer inband command
+
+Sharath Manjunath (4):
+
+-  `2e5302df <https://github.com/open-power/sbe/commit/2e5302df>`__ Update exp\_draminit to read values from attributes
+-  `91c77b9f <https://github.com/open-power/sbe/commit/91c77b9f>`__ Add exp\_thermal\_init for Explorer FW
+-  `d35148fa <https://github.com/open-power/sbe/commit/d35148fa>`__ Update exp\_draminit to read values from attributes
+-  `b44d7913 <https://github.com/open-power/sbe/commit/b44d7913>`__ Add exp\_thermal\_init for Explorer FW
+
+Sheng-Hao Huang (1):
+
+-  `26de8811 <https://github.com/open-power/sbe/commit/26de8811>`__ for defect number HW476620
+
+Sneha Kadam (1):
+
+-  `4181f3d4 <https://github.com/open-power/sbe/commit/4181f3d4>`__ Renamed MCBIST subtest to clarify the test
+
+Stephen Glancy (42):
+
+-  `2198e3d3 <https://github.com/open-power/sbe/commit/2198e3d3>`__ Adds Explorer OMI setup - step 12.8a
+-  `9c255556 <https://github.com/open-power/sbe/commit/9c255556>`__ Moves conversions to be in the generic code space
+-  `1b311f24 <https://github.com/open-power/sbe/commit/1b311f24>`__ Moves generic xml directories to be in generic/procedures
+-  `8ece46a5 <https://github.com/open-power/sbe/commit/8ece46a5>`__ Adds explorer OMI training code
+-  `7e7b430a <https://github.com/open-power/sbe/commit/7e7b430a>`__ Moves CAS latency algorithm to generic folder
+-  `d51e3d14 <https://github.com/open-power/sbe/commit/d51e3d14>`__ Moves sync code to generic folder
+-  `1f492888 <https://github.com/open-power/sbe/commit/1f492888>`__ Moves set bad bitmap into generic
+-  `41a5e258 <https://github.com/open-power/sbe/commit/41a5e258>`__ Moves blame a FIR API to generic
+-  `1fac7c34 <https://github.com/open-power/sbe/commit/1fac7c34>`__ Adds explorer post-draminit bad bits processing
+-  `5d6711c6 <https://github.com/open-power/sbe/commit/5d6711c6>`__ Updates the LRDIMM to use SPD SI values
+-  `234734a3 <https://github.com/open-power/sbe/commit/234734a3>`__ Adds explorer training response display functions
+-  `8a98c662 <https://github.com/open-power/sbe/commit/8a98c662>`__ Fixes MCBIST compile fails
+-  `a3d5f865 <https://github.com/open-power/sbe/commit/a3d5f865>`__ Adds DDIMM EFD decoder API
+-  `ba55b796 <https://github.com/open-power/sbe/commit/ba55b796>`__ Adds process training response to exp draminit
+-  `4ece76d0 <https://github.com/open-power/sbe/commit/4ece76d0>`__ Adds explorer CCS specialization
+-  `0425da34 <https://github.com/open-power/sbe/commit/0425da34>`__ Adds EFD decode updates for 07MAY19 spec updates
+-  `98807cd3 <https://github.com/open-power/sbe/commit/98807cd3>`__ Fixes FFDC for files moved to generic
+-  `9ea40719 <https://github.com/open-power/sbe/commit/9ea40719>`__ Adds new attributes for 07MAY19 explorer specification
+-  `5fb7dbd2 <https://github.com/open-power/sbe/commit/5fb7dbd2>`__ Adds Explorer OMI setup - step 12.8a
+-  `856ef301 <https://github.com/open-power/sbe/commit/856ef301>`__ Moves conversions to be in the generic code space
+-  `e5d4f0e7 <https://github.com/open-power/sbe/commit/e5d4f0e7>`__ Moves generic xml directories to be in generic/procedures
+-  `dbef65eb <https://github.com/open-power/sbe/commit/dbef65eb>`__ Adds explorer OMI training code
+-  `603999f3 <https://github.com/open-power/sbe/commit/603999f3>`__ Moves CAS latency algorithm to generic folder
+-  `8fb1ba1e <https://github.com/open-power/sbe/commit/8fb1ba1e>`__ Moves sync code to generic folder
+-  `92b5c676 <https://github.com/open-power/sbe/commit/92b5c676>`__ Adds DDIMM EFD decoder API
+-  `337abf1d <https://github.com/open-power/sbe/commit/337abf1d>`__ Moves set bad bitmap into generic
+-  `4d5e0e5b <https://github.com/open-power/sbe/commit/4d5e0e5b>`__ Adds process training response to exp draminit
+-  `d5d815fe <https://github.com/open-power/sbe/commit/d5d815fe>`__ Moves blame a FIR API to generic
+-  `9f315343 <https://github.com/open-power/sbe/commit/9f315343>`__ Adds explorer post-draminit bad bits processing
+-  `8628f61e <https://github.com/open-power/sbe/commit/8628f61e>`__ Updates the LRDIMM to use SPD SI values
+-  `135ec660 <https://github.com/open-power/sbe/commit/135ec660>`__ Adds explorer training response display functions
+-  `33da4f84 <https://github.com/open-power/sbe/commit/33da4f84>`__ Adds new attributes for 07MAY19 explorer specification
+-  `76bddf79 <https://github.com/open-power/sbe/commit/76bddf79>`__ Fixes MCBIST compile fails
+-  `f9ce236f <https://github.com/open-power/sbe/commit/f9ce236f>`__ Adds explorer CCS specialization
+-  `db6107b7 <https://github.com/open-power/sbe/commit/db6107b7>`__ Adds EFD decode updates for 07MAY19 spec updates
+-  `87bb3373 <https://github.com/open-power/sbe/commit/87bb3373>`__ Fixes FFDC for files moved to generic
+-  `49aa0e41 <https://github.com/open-power/sbe/commit/49aa0e41>`__ Adds MCBIST beat/byte signature data patterns
+-  `05669c55 <https://github.com/open-power/sbe/commit/05669c55>`__ Adds explorer MCBIST address/data traps processing
+-  `09fdf35a <https://github.com/open-power/sbe/commit/09fdf35a>`__ Fixes maintenance pattern load bug
+-  `8187226a <https://github.com/open-power/sbe/commit/8187226a>`__ Updates exp access delay regs to set delays
+-  `056538d3 <https://github.com/open-power/sbe/commit/056538d3>`__ Adds explorer shmoo traits
+-  `03fbb688 <https://github.com/open-power/sbe/commit/03fbb688>`__ Fixes explorer accessor bugs
+
+Stewart Smith (1):
+
+-  `7c74ddae <https://github.com/open-power/sbe/commit/7c74ddae>`__ Use full UART TX buffer (shave 5s off booting)
+
+Sumit Kumar (1):
+
+-  `84c88858 <https://github.com/open-power/sbe/commit/84c88858>`__ Fapi\_Infra:Add new member to structure ErrorInfoCDG
+
+Sunil Kumar (3):
+
+-  `b1415469 <https://github.com/open-power/sbe/commit/b1415469>`__ OCMB changes to suit PPE compilation.
+-  `be6e9acb <https://github.com/open-power/sbe/commit/be6e9acb>`__ Remove i2cSupport
+-  `1921f40c <https://github.com/open-power/sbe/commit/1921f40c>`__ OCMB changes to suit PPE compilation.
+
+Tsung Yeung (1):
+
+-  `435e4111 <https://github.com/open-power/sbe/commit/435e4111>`__ Replaces NVDIMM flush sequence with CCS
+
+manichow (1):
+
+-  `247a18dc <https://github.com/open-power/sbe/commit/247a18dc>`__ Quiesce procedure for NPU serving openCapi links
+
+vinaybs6 (2):
+
+-  `54d447a8 <https://github.com/open-power/sbe/commit/54d447a8>`__ Updating the customrc file
+-  `54f3205f <https://github.com/open-power/sbe/commit/54f3205f>`__ Setting the HRMOR value for OPAL based systems.
+
+Package: skiboot
+----------------
+
+`Repository <https://github.com/open-power/skiboot>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Aaron Sawdey (1):
+
+-  `f1234170 <https://github.com/open-power/skiboot/commit/f1234170>`__ external/mambo: support mambo COW mode for PMEM disk
+
+Alexey Kardashevskiy (3):
+
+-  `2a0455ba <https://github.com/open-power/skiboot/commit/2a0455ba>`__ npu2: Invalidate entire TCE cache if many entries requested
+-  `9be9a77a <https://github.com/open-power/skiboot/commit/9be9a77a>`__ npu2: Clear fence on all bricks
+-  `08cd61e9 <https://github.com/open-power/skiboot/commit/08cd61e9>`__ phb4: Add PHB options get/set OPAL calls
+
+Alistair Popple (1):
+
+-  `518ab49f <https://github.com/open-power/skiboot/commit/518ab49f>`__ skiboot.tcl: Add chip-id to pmem device tree node
+
+Andrew Donnellan (2):
+
+-  `e85e2e2b <https://github.com/open-power/skiboot/commit/e85e2e2b>`__ npu2-opencapi: Fix integer promotion bug in LPC allocation
+-  `bc72973d <https://github.com/open-power/skiboot/commit/bc72973d>`__ hw/npu2-opencapi: Support multiple LPC devices
+
+Andrew Geissler (1):
+
+-  `2554cac8 <https://github.com/open-power/skiboot/commit/2554cac8>`__ Support BMC IPMI heartbeat command
+
+Andrew Jeffery (10):
+
+-  `e08fee36 <https://github.com/open-power/skiboot/commit/e08fee36>`__ gard: Fix data corruption when clearing single records
+-  `8f204c12 <https://github.com/open-power/skiboot/commit/8f204c12>`__ blocklevel: smart\_write: Terminate line for debug output in
+   no-change case
+-  `5c935e78 <https://github.com/open-power/skiboot/commit/5c935e78>`__ blocklevel: smart\_write: Rename write buffer
+-  `518db2b2 <https://github.com/open-power/skiboot/commit/518db2b2>`__ blocklevel: smart\_write: Rename size variable for clarity
+-  `6867bd54 <https://github.com/open-power/skiboot/commit/6867bd54>`__ blocklevel: smart\_write: Avoid indirectly testing formal
+   parameters
+-  `bdbbfcac <https://github.com/open-power/skiboot/commit/bdbbfcac>`__ blocklevel: smart\_write: Deny writes intersecting ECC
+   protected regions
+-  `aa52f943 <https://github.com/open-power/skiboot/commit/aa52f943>`__ blocklevel: smart\_write: Avoid reuse of formal parameters
+-  `a950fd78 <https://github.com/open-power/skiboot/commit/a950fd78>`__ blocklevel: smart\_write: Tidy local variable declarations
+-  `96ddf4b5 <https://github.com/open-power/skiboot/commit/96ddf4b5>`__ blocklevel: smart\_write: Fix unaligned writes to ECC
+   partitions
+-  `7853fc53 <https://github.com/open-power/skiboot/commit/7853fc53>`__ libflash: ipmi-hiomap: Document error handling strategy in
+   write path
+
+Artem Senichev (1):
+
+-  `f9292037 <https://github.com/open-power/skiboot/commit/f9292037>`__ platforms/nicole: Fixup the system VPD EEPROM size
+
+Balamuruhan S (2):
+
+-  `61ec8655 <https://github.com/open-power/skiboot/commit/61ec8655>`__ occ-sensor: clean dt properties if sensor is not available
+-  `bb0f098c <https://github.com/open-power/skiboot/commit/bb0f098c>`__ chip: enable HOMER/OCC common area region in Qemu emulated
+   PowerNV host
+
+Cédric Le Goater (20):
+
+-  `e97391ae <https://github.com/open-power/skiboot/commit/e97391ae>`__ xive: fix return value of opal\_xive\_allocate\_irq()
+-  `99557228 <https://github.com/open-power/skiboot/commit/99557228>`__ xive/p9: introduce header files for the registers
+-  `75829014 <https://github.com/open-power/skiboot/commit/75829014>`__ xive/p9: minor cleanup of the interface
+-  `f9f3bb0a <https://github.com/open-power/skiboot/commit/f9f3bb0a>`__ xive/p9: use MMIO access for VC\_EQC\_CONFIG
+-  `0649e551 <https://github.com/open-power/skiboot/commit/0649e551>`__ xive/p9: remove code not using indirect mode
+-  `71ad5938 <https://github.com/open-power/skiboot/commit/71ad5938>`__ xive/p9: remove code not using block group mode
+-  `1f269bc0 <https://github.com/open-power/skiboot/commit/1f269bc0>`__ xive/p9: remove dead code
+-  `a10f1502 <https://github.com/open-power/skiboot/commit/a10f1502>`__ xive/p9: obsolete OPAL\_XIVE\_IRQ\_\*\_VIA\_FW flags
+-  `ad7e9a67 <https://github.com/open-power/skiboot/commit/ad7e9a67>`__ xive/p9: obsolete OPAL\_XIVE\_IRQ\_SHIFT\_BUG flags
+-  `4f0a5633 <https://github.com/open-power/skiboot/commit/4f0a5633>`__ xive/p9: fix EQ bitmap assignment when allocation fails
+-  `f0e2746e <https://github.com/open-power/skiboot/commit/f0e2746e>`__ xive/p9: introduce definitions for priorities
+-  `e26a866f <https://github.com/open-power/skiboot/commit/e26a866f>`__ xive/p9: fix silent escalation EQ setup
+-  `0118b0a2 <https://github.com/open-power/skiboot/commit/0118b0a2>`__ xive/p9: cleanup all EQs when a VP block is freed.
+-  `4f194e77 <https://github.com/open-power/skiboot/commit/4f194e77>`__ xive/p9: remove ACK# setting in the NVT
+-  `5d0a4134 <https://github.com/open-power/skiboot/commit/5d0a4134>`__ xive/p9: introduce NVT\_SHIFT
+-  `ca46415e <https://github.com/open-power/skiboot/commit/ca46415e>`__ xive/p9: remove XIVE\_INT\_SAFETY\_GAP
+-  `2354857f <https://github.com/open-power/skiboot/commit/2354857f>`__ xive/p9: use predefined bitmasks to manipulate EQ addresses
+-  `6214cb80 <https://github.com/open-power/skiboot/commit/6214cb80>`__ xive/p9: introduce the ESB magic MMIO offsets
+-  `721ef0d0 <https://github.com/open-power/skiboot/commit/721ef0d0>`__ plat/qemu: use "/qemu" device tree node to identify the QEMU
+   platform
+-  `d807288d <https://github.com/open-power/skiboot/commit/d807288d>`__ plat/qemu: add a POWER10 platform
+
+Dan Crowell (1):
+
+-  `1b638f89 <https://github.com/open-power/skiboot/commit/1b638f89>`__ Updating shared constants for HBRT
+
+Dan Horák (2):
+
+-  `1a02a189 <https://github.com/open-power/skiboot/commit/1a02a189>`__ xscom-utils: refer only objects not sources for getscom
+-  `53baedfd <https://github.com/open-power/skiboot/commit/53baedfd>`__ gard: fix installation rule
+
+Eric Richter (9):
+
+-  `e023d6b9 <https://github.com/open-power/skiboot/commit/e023d6b9>`__ hw/test: include -gcov binaries in clean target
+-  `04f0cdb9 <https://github.com/open-power/skiboot/commit/04f0cdb9>`__ doc: add opal secure variable documentation
+-  `484bdc5d <https://github.com/open-power/skiboot/commit/484bdc5d>`__ libstb/secvar: add secure variable internal abstraction
+-  `bc1f1e44 <https://github.com/open-power/skiboot/commit/bc1f1e44>`__ libstb/secvar: add secvar api implementation
+-  `127db3a6 <https://github.com/open-power/skiboot/commit/127db3a6>`__ secvar/test: add rudimentary secvar API unit testing
+-  `a55c46d5 <https://github.com/open-power/skiboot/commit/a55c46d5>`__ secvar\_devtree: add generic compatible, and new format
+   device tree property
+-  `6cdbf1ad <https://github.com/open-power/skiboot/commit/6cdbf1ad>`__ secvar\_api: check that enqueue\_update writes successfully
+   before returning success
+-  `0dfaf110 <https://github.com/open-power/skiboot/commit/0dfaf110>`__ secvar\_main: increase verbosity of the main entrypoint
+-  `c2ba08e8 <https://github.com/open-power/skiboot/commit/c2ba08e8>`__ tpm\_i2c\_nuvoton: check TPM vendor id register during probe
+
+Frederic Barrat (26):
+
+-  `f6f247a8 <https://github.com/open-power/skiboot/commit/f6f247a8>`__ core/pci: Refactor common paths on slot hotplug
+-  `38e51a31 <https://github.com/open-power/skiboot/commit/38e51a31>`__ core/pci: Add missing lock in set\_power\_timer
+-  `8bae2376 <https://github.com/open-power/skiboot/commit/8bae2376>`__ core/pci: Use proper phandle during hotplug for PHB slots
+-  `30642155 <https://github.com/open-power/skiboot/commit/30642155>`__ core/pci: Train link of PHB slots when hotplugging
+-  `94bc2d7a <https://github.com/open-power/skiboot/commit/94bc2d7a>`__ core/pci: Fix scan of devices for opencapi slots
+-  `13e1a7e5 <https://github.com/open-power/skiboot/commit/13e1a7e5>`__ npu2-hw-procedures: Move some opencapi PHY settings in
+   one-off init
+-  `544ce7ef <https://github.com/open-power/skiboot/commit/544ce7ef>`__ npu2-opencapi: Make sure the PCI slot has the proper ID
+-  `fed081dc <https://github.com/open-power/skiboot/commit/fed081dc>`__ npu2-hw-procedures: Fix link retraining on reset
+-  `2600cfac <https://github.com/open-power/skiboot/commit/2600cfac>`__ npu2-opencapi: Rework link training timeout
+-  `c5db8325 <https://github.com/open-power/skiboot/commit/c5db8325>`__ npu2-opencapi: Tweak fundamental reset sequence
+-  `7989d6ed <https://github.com/open-power/skiboot/commit/7989d6ed>`__ npu2-opencapi: Simplify freset states
+-  `dbc70aea <https://github.com/open-power/skiboot/commit/dbc70aea>`__ npu2-opencapi: Detect PHY reset errors
+-  `40bc636e <https://github.com/open-power/skiboot/commit/40bc636e>`__ npu2-opencapi: Improve error reporting to the OS
+-  `6299d3e5 <https://github.com/open-power/skiboot/commit/6299d3e5>`__ npu2-opencapi: Activate PCI hotplug on opencapi slot
+-  `9d5faafc <https://github.com/open-power/skiboot/commit/9d5faafc>`__ npu2-opencapi: Handle OPAL\_UNMAP\_PE operation on set\_pe()
+   callback
+-  `233e863c <https://github.com/open-power/skiboot/commit/233e863c>`__ npu2-opencapi: Log a warning when resetting a broken device
+-  `425340bd <https://github.com/open-power/skiboot/commit/425340bd>`__ platform/mihawk: Detect old system compatible string
+-  `da28a664 <https://github.com/open-power/skiboot/commit/da28a664>`__ npu2: Rework phb-index assignments for virtual PHBs
+-  `57d43efd <https://github.com/open-power/skiboot/commit/57d43efd>`__ npu3: Don't use the device tree to assign the phb-index of
+   the PHB
+-  `bbb4777f <https://github.com/open-power/skiboot/commit/bbb4777f>`__ npu2, npu3: Remove ibm, phb-index property from the NPU dt
+   node
+-  `8b9be491 <https://github.com/open-power/skiboot/commit/8b9be491>`__ npu3: Register virtual PHBs with static IDs
+-  `09478eae <https://github.com/open-power/skiboot/commit/09478eae>`__ npu2-opencapi: don't fence on masked XSL errors
+-  `53408440 <https://github.com/open-power/skiboot/commit/53408440>`__ npu2-opencapi: Don't drive reset signal permanently
+-  `9de4f228 <https://github.com/open-power/skiboot/commit/9de4f228>`__ npu2-opencapi: Allow platforms to identify physical slots
+-  `59482b92 <https://github.com/open-power/skiboot/commit/59482b92>`__ capp: Add lid definition for P9 DD2.3
+-  `e876514b <https://github.com/open-power/skiboot/commit/e876514b>`__ hw/phb4: Tune GPU direct performance on witherspoon in PCI
+   mode
+
+Frédéric Bonnard (1):
+
+-  `470ffb5f <https://github.com/open-power/skiboot/commit/470ffb5f>`__ external/common: Use file operation used on x86 for
+   ARCH\_UNKNOWN
+
+Gavin Shan (2):
+
+-  `8f33688a <https://github.com/open-power/skiboot/commit/8f33688a>`__ core/pci: Use cached VDID when populating device node
+-  `c9c68152 <https://github.com/open-power/skiboot/commit/c9c68152>`__ core/pci: Check PCIe cap version in
+   pci\_disable\_completion\_timeout()
+
+Haren Myneni (1):
+
+-  `ad8cdd0f <https://github.com/open-power/skiboot/commit/ad8cdd0f>`__ VAS: Alloc IRQ and port address for each VAS instance
+
+Ilya Kuznetsov (1):
+
+-  `dab352ee <https://github.com/open-power/skiboot/commit/dab352ee>`__ pci-slot: Allow to create slot for downstream port of any
+   switch
+
+Jordan Niethe (8):
+
+-  `4acb8fe7 <https://github.com/open-power/skiboot/commit/4acb8fe7>`__ core/pci-dt-slots: Remove duplicate PCIDBG() definition
+-  `df15dcfc <https://github.com/open-power/skiboot/commit/df15dcfc>`__ pci: Use a macro for accessing PCI BDF Bus Number
+-  `f68639c6 <https://github.com/open-power/skiboot/commit/f68639c6>`__ pci: Use a macro for accessing PCI BDF Device Number
+-  `e4e2aa9c <https://github.com/open-power/skiboot/commit/e4e2aa9c>`__ pci: Use a macro for accessing PCI BDF Function Number
+-  `41f6c806 <https://github.com/open-power/skiboot/commit/41f6c806>`__ hw/phb4: Use standard MIN/MAX macro definitions
+-  `851ce56c <https://github.com/open-power/skiboot/commit/851ce56c>`__ ipmi: Use standard MIN() macro definition
+-  `a7864968 <https://github.com/open-power/skiboot/commit/a7864968>`__ core/flash: Use pr\_fmt macro for tagging log messages
+-  `9f0af279 <https://github.com/open-power/skiboot/commit/9f0af279>`__ ccan: Add CCAN heap license
+
+Joy Chu (3):
+
+-  `52952aca <https://github.com/open-power/skiboot/commit/52952aca>`__ platform/mihawk: Add system VPD EEPROM to I2C bus
+-  `d6ab89db <https://github.com/open-power/skiboot/commit/d6ab89db>`__ platform/mihawk: add nvme devices slot table
+-  `68260957 <https://github.com/open-power/skiboot/commit/68260957>`__ platform/mihawk: support dynamic PCIe slot table
+
+Klaus Heinrich Kiwi (3):
+
+-  `99ce1bef <https://github.com/open-power/skiboot/commit/99ce1bef>`__ ibm-fsp/lxvpd: check for upstream port on slot labeling
+-  `ab1b05d2 <https://github.com/open-power/skiboot/commit/ab1b05d2>`__ PCI: create optional loc-code platform callback
+-  `b8b1ebc1 <https://github.com/open-power/skiboot/commit/b8b1ebc1>`__ core/pci.c: cleanup pci\_add\_loc\_code()
+
+Madhavan Srinivasan (2):
+
+-  `7066a9c2 <https://github.com/open-power/skiboot/commit/7066a9c2>`__ hdat/spira: export abc and wxyz bus speeds
+-  `37941672 <https://github.com/open-power/skiboot/commit/37941672>`__ hw/imc: Add error message on failing cases for imc\_init
+
+Mahesh Salgaonkar (2):
+
+-  `a810d1fe <https://github.com/open-power/skiboot/commit/a810d1fe>`__ IPMI: Trigger OPAL TI in abort path.
+-  `53944d45 <https://github.com/open-power/skiboot/commit/53944d45>`__ opal-gard: Add support for new PVR POWER9P.
+
+Mauro S. M. Rodrigues (1):
+
+-  `e4113f94 <https://github.com/open-power/skiboot/commit/e4113f94>`__ tpm\_i2c\_nuvoton: fix tpm\_read\_fifo overflow check
+
+Michael Ellerman (1):
+
+-  `387ffa75 <https://github.com/open-power/skiboot/commit/387ffa75>`__ mambo: Add more tweakable security flags
+
+Michal Suchanek (1):
+
+-  `6080c106 <https://github.com/open-power/skiboot/commit/6080c106>`__ errorlog: Prevent alignment error building with gcc9.
+
+Nicholas Piggin (47):
+
+-  `4cf05f35 <https://github.com/open-power/skiboot/commit/4cf05f35>`__ asm/head: set skiboot TOC in interrupt handler entry
+-  `a2c9babb <https://github.com/open-power/skiboot/commit/a2c9babb>`__ core/cpu.c: current\_radix\_mode should be initialised to
+   true
+-  `6266148e <https://github.com/open-power/skiboot/commit/6266148e>`__ build: use -mcpu=power8
+-  `b70e8afd <https://github.com/open-power/skiboot/commit/b70e8afd>`__ core/exceptions.c: rearrange code to allow more interrupt
+   types
+-  `9ddc1a6b <https://github.com/open-power/skiboot/commit/9ddc1a6b>`__ core/util: trap based assertions
+-  `216433af <https://github.com/open-power/skiboot/commit/216433af>`__ core/util: branch-to-NULL assert for ELFv2 ABI
+-  `1785745d <https://github.com/open-power/skiboot/commit/1785745d>`__ core/exceptions.c: do not include handler code in exception
+   backtrace
+-  `6b512fce <https://github.com/open-power/skiboot/commit/6b512fce>`__ slw: slw\_reinit fix array overrun
+-  `3734172b <https://github.com/open-power/skiboot/commit/3734172b>`__ build: fix non-constant build asserts
+-  `2501c3f6 <https://github.com/open-power/skiboot/commit/2501c3f6>`__ xive/p9: improve cache watch type checking
+-  `154e4eed <https://github.com/open-power/skiboot/commit/154e4eed>`__ xive/p9: use predefined bitmasks to manipulate EQ addresses
+-  `192d5865 <https://github.com/open-power/skiboot/commit/192d5865>`__ xive/p9: sbe size debug print fix
+-  `40558797 <https://github.com/open-power/skiboot/commit/40558797>`__ fsp: map trace areas on P9
+-  `ef7c7de8 <https://github.com/open-power/skiboot/commit/ef7c7de8>`__ psi: update registers to reflect >= P8 PHBSCR
+-  `bb445088 <https://github.com/open-power/skiboot/commit/bb445088>`__ hdata/test/hdata\_to\_dt.c: use P8E PVR when -8E is given
+-  `3fbfb0e3 <https://github.com/open-power/skiboot/commit/3fbfb0e3>`__ Remove dead POWER7 code
+-  `26657393 <https://github.com/open-power/skiboot/commit/26657393>`__ asm/cvc\_entry.S: r2 save fix
+-  `ca412e3e <https://github.com/open-power/skiboot/commit/ca412e3e>`__ capp: fix endian conversion
+-  `0ed09ec1 <https://github.com/open-power/skiboot/commit/0ed09ec1>`__ cpu: use dt accessor device tree access
+-  `1b9a449d <https://github.com/open-power/skiboot/commit/1b9a449d>`__ opal-api: add endian conversions to most opal calls
+-  `789624ff <https://github.com/open-power/skiboot/commit/789624ff>`__ opal-msg: endian fixes for opal-msg.c and opal\_queue\_msg
+   callers
+-  `c47b2ffd <https://github.com/open-power/skiboot/commit/c47b2ffd>`__ elf: endian conversions
+-  `518e5542 <https://github.com/open-power/skiboot/commit/518e5542>`__ spira: fix endian conversions in spira data structures
+-  `8d49ff53 <https://github.com/open-power/skiboot/commit/8d49ff53>`__ hdata: endian conversions
+-  `0d12f0c8 <https://github.com/open-power/skiboot/commit/0d12f0c8>`__ naca: move naca definition from asm to C
+-  `bb9aebc6 <https://github.com/open-power/skiboot/commit/bb9aebc6>`__ io: endian conversions for io accessors
+-  `08801245 <https://github.com/open-power/skiboot/commit/08801245>`__ hmi: endian conversions
+-  `b5c22130 <https://github.com/open-power/skiboot/commit/b5c22130>`__ cvc: allow BE cvc code to be called from LE context
+-  `1504bf98 <https://github.com/open-power/skiboot/commit/1504bf98>`__ xive: make endian-clean
+-  `e73cf72d <https://github.com/open-power/skiboot/commit/e73cf72d>`__ phb4: make endian-clean
+-  `61800f2d <https://github.com/open-power/skiboot/commit/61800f2d>`__ occ sensors: make endian-clean
+-  `45c1436a <https://github.com/open-power/skiboot/commit/45c1436a>`__ memconsole: make endian-clean
+-  `1959efa6 <https://github.com/open-power/skiboot/commit/1959efa6>`__ debug descriptor: make endian-clean
+-  `a2c74d83 <https://github.com/open-power/skiboot/commit/a2c74d83>`__ ipmi: endian conversion
+-  `390c4f5e <https://github.com/open-power/skiboot/commit/390c4f5e>`__ sbe-p9: endian conversion
+-  `e3934d8c <https://github.com/open-power/skiboot/commit/e3934d8c>`__ fsp: endian conversions
+-  `4ec92ece <https://github.com/open-power/skiboot/commit/4ec92ece>`__ errorlog: endian conversion
+-  `f27d32f1 <https://github.com/open-power/skiboot/commit/f27d32f1>`__ pel: endian conversion
+-  `8d9d63b9 <https://github.com/open-power/skiboot/commit/8d9d63b9>`__ libflash: ecc endian conversions
+-  `9c72bbb6 <https://github.com/open-power/skiboot/commit/9c72bbb6>`__ prd: endian conversions
+-  `752b2a2d <https://github.com/open-power/skiboot/commit/752b2a2d>`__ opal-dump: MPIPL endan conversions
+-  `d71bb898 <https://github.com/open-power/skiboot/commit/d71bb898>`__ sfc-ctrl: endian conversions
+-  `35776a29 <https://github.com/open-power/skiboot/commit/35776a29>`__ add little endian support
+-  `a0cf95fe <https://github.com/open-power/skiboot/commit/a0cf95fe>`__ dt: assorted cleanups
+-  `5178691d <https://github.com/open-power/skiboot/commit/5178691d>`__ add more sparse endian annotations
+-  `e04a34af <https://github.com/open-power/skiboot/commit/e04a34af>`__ fix simple sparse warnings
+-  `bca23d31 <https://github.com/open-power/skiboot/commit/bca23d31>`__ i2c: fix dereference beyond the end of buffer
+
+Oliver O'Halloran (80):
+
+-  `ba10ce12 <https://github.com/open-power/skiboot/commit/ba10ce12>`__ Makefiles: Remove --Wno-stringop-truncation
+-  `0f9371da <https://github.com/open-power/skiboot/commit/0f9371da>`__ hw: Put SPDX on new files
+-  `9142bb3b <https://github.com/open-power/skiboot/commit/9142bb3b>`__ core/pci-quirk: Re-order struct members
+-  `452a9a46 <https://github.com/open-power/skiboot/commit/452a9a46>`__ core/pci: Export pci\_check\_clear\_freeze()
+-  `a7c613eb <https://github.com/open-power/skiboot/commit/a7c613eb>`__ core/pci-quirk: Microsemi switch UR workaround
+-  `e9a30df7 <https://github.com/open-power/skiboot/commit/e9a30df7>`__ hw/sbe-p9: Fix multi-line log messages
+-  `e96635d4 <https://github.com/open-power/skiboot/commit/e96635d4>`__ include/xscom: Remove duplicate p8 definitions
+-  `abf3e4c6 <https://github.com/open-power/skiboot/commit/abf3e4c6>`__ include/xscom: Remove duplicate p9 definitions
+-  `b03906a9 <https://github.com/open-power/skiboot/commit/b03906a9>`__ include/xscom: Use the name EQ rather than EP
+-  `b310e8f7 <https://github.com/open-power/skiboot/commit/b310e8f7>`__ hw/phb4: Prevent register accesses when in reset
+-  `a1fced25 <https://github.com/open-power/skiboot/commit/a1fced25>`__ skiboot 6.5 release notes
+-  `e2018d2a <https://github.com/open-power/skiboot/commit/e2018d2a>`__ core/flash: Validate secure boot content size
+-  `1af237bc <https://github.com/open-power/skiboot/commit/1af237bc>`__ pci: recheck pci nvram hacks on fast-reboot
+-  `f945230b <https://github.com/open-power/skiboot/commit/f945230b>`__ hdata: Add Axone IOHUB support
+-  `8bb0ae35 <https://github.com/open-power/skiboot/commit/8bb0ae35>`__ core/pci: Only hack class code for root ports
+-  `7b12d548 <https://github.com/open-power/skiboot/commit/7b12d548>`__ hw/lpc: Configure SerIRQ interrupts on P9P
+-  `4017085c <https://github.com/open-power/skiboot/commit/4017085c>`__ hw/psi: Add chip ID to interrupt names
+-  `fb2f03ea <https://github.com/open-power/skiboot/commit/fb2f03ea>`__ hw/psi-p9: Make interrupt name array global
+-  `fa161cd8 <https://github.com/open-power/skiboot/commit/fa161cd8>`__ hw/psi-p9: Mask OPAL-owned LSIs without handlers
+-  `9c9375fd <https://github.com/open-power/skiboot/commit/9c9375fd>`__ hw/psi: Remove explicit external IRQ policy
+-  `923b5a53 <https://github.com/open-power/skiboot/commit/923b5a53>`__ core/platform: Actually disable fast-reboot on P8
+-  `a4e0f636 <https://github.com/open-power/skiboot/commit/a4e0f636>`__ core/init: Don't checksum MPIPL data areas
+-  `cc34635d <https://github.com/open-power/skiboot/commit/cc34635d>`__ core/init: Checksum romem after patching out traps
+-  `6cf9ace9 <https://github.com/open-power/skiboot/commit/6cf9ace9>`__ hw/port80: Squash No SYNC error
+-  `1c282887 <https://github.com/open-power/skiboot/commit/1c282887>`__ memory: Add NUMA associtivity information to DT
+-  `f9eb53d2 <https://github.com/open-power/skiboot/commit/f9eb53d2>`__ hdata: Add a generic compatible to ibm,secureboot
+-  `a0340a09 <https://github.com/open-power/skiboot/commit/a0340a09>`__ libstb/secvar: Ensure secvar\_set\_status() is called once
+-  `ca11072a <https://github.com/open-power/skiboot/commit/ca11072a>`__ libstb/secvar: Fix makefile
+-  `24813aa2 <https://github.com/open-power/skiboot/commit/24813aa2>`__ core/trace: Move trace buffer exports to a subnode
+-  `628158b2 <https://github.com/open-power/skiboot/commit/628158b2>`__ core/trace: Rename boot trace buffer
+-  `446f9f03 <https://github.com/open-power/skiboot/commit/446f9f03>`__ core/pci: Squash warning from devices with no ecaps
+-  `bbe5f003 <https://github.com/open-power/skiboot/commit/bbe5f003>`__ platforms/astbmc: Add more slot helper macros
+-  `1ed21a83 <https://github.com/open-power/skiboot/commit/1ed21a83>`__ platforms/qemu: Add slot table
+-  `83a92e3b <https://github.com/open-power/skiboot/commit/83a92e3b>`__ platforms/qemu: Add slot table entries for a PCIe switch
+-  `7fddf42c <https://github.com/open-power/skiboot/commit/7fddf42c>`__ hdata/test: Remove all temp files
+-  `46fac469 <https://github.com/open-power/skiboot/commit/46fac469>`__ test/mambo: Skip restoring the old ulimit
+-  `9e87ef7f <https://github.com/open-power/skiboot/commit/9e87ef7f>`__ hw/test: Make tests quieter
+-  `d6fc2fb3 <https://github.com/open-power/skiboot/commit/d6fc2fb3>`__ makefiles: Make attribute suggestions non-errors
+-  `0b8f5ea3 <https://github.com/open-power/skiboot/commit/0b8f5ea3>`__ tests: Squash \_\_attrconst related warnings
+-  `2899bda5 <https://github.com/open-power/skiboot/commit/2899bda5>`__ include/cpu: Move \_\_nomcount attribute
+-  `7abb0ef5 <https://github.com/open-power/skiboot/commit/7abb0ef5>`__ opal-ci: Remove clang builds on 18.04
+-  `0990e822 <https://github.com/open-power/skiboot/commit/0990e822>`__ boottests: Print the simulator output if V=1 is set
+-  `dc85bd46 <https://github.com/open-power/skiboot/commit/dc85bd46>`__ witherspoon: Squash spurious I2C errors
+-  `8b3012e1 <https://github.com/open-power/skiboot/commit/8b3012e1>`__ hw/p8-i2c: Don't print warnings when dumping registers
+-  `b449782d <https://github.com/open-power/skiboot/commit/b449782d>`__ hw/p8-i2c: Clean up interrupt masking
+-  `9f7b726c <https://github.com/open-power/skiboot/commit/9f7b726c>`__ libstb/tpm: block access to unknown i2c devs on the tpm bus
+-  `80fd2e96 <https://github.com/open-power/skiboot/commit/80fd2e96>`__ xscom: Don't log xscom errors caused by OPAL calls
+-  `a4fbdbc6 <https://github.com/open-power/skiboot/commit/a4fbdbc6>`__ doc: Add skiboot-5.2.0 ref
+-  `f04000d7 <https://github.com/open-power/skiboot/commit/f04000d7>`__ doc/secvar: Fix table markup
+-  `06a90e9b <https://github.com/open-power/skiboot/commit/06a90e9b>`__ doc/mpipl: Fix warnings
+-  `c76b1c19 <https://github.com/open-power/skiboot/commit/c76b1c19>`__ doc/secvar: Fix indentation warnings
+-  `93ea4773 <https://github.com/open-power/skiboot/commit/93ea4773>`__ doc: Fix code blocks in v6.3.3 release notes
+-  `8be8d98e <https://github.com/open-power/skiboot/commit/8be8d98e>`__ doc/sbe: Fix block indentation
+-  `58d51527 <https://github.com/open-power/skiboot/commit/58d51527>`__ doc: Remove duplicate OPAL\_ELOG\_WRITE label
+-  `962f6d78 <https://github.com/open-power/skiboot/commit/962f6d78>`__ doc: Fix block in 6.3.2 release notes
+-  `7b4619a6 <https://github.com/open-power/skiboot/commit/7b4619a6>`__ doc/opal-api: Remove spurious indent
+-  `0f46e5ca <https://github.com/open-power/skiboot/commit/0f46e5ca>`__ doc/dt: Fix memory-heirachy block
+-  `192efa9b <https://github.com/open-power/skiboot/commit/192efa9b>`__ doc/opal-api: Remove ref to OPAL\_HMI\_FLAGS\_TOD\_TB\_FAIL
+-  `7afd41b7 <https://github.com/open-power/skiboot/commit/7afd41b7>`__ doc/device-tree: Add secvar bindings to the toctree
+-  `e23e0053 <https://github.com/open-power/skiboot/commit/e23e0053>`__ doc: Add VAS stuff into the tree
+-  `f59b2f6b <https://github.com/open-power/skiboot/commit/f59b2f6b>`__ doc: Use parallel builds
+-  `4a8b45a6 <https://github.com/open-power/skiboot/commit/4a8b45a6>`__ doc: Remove bonus CONTRIBUTING.md from the index
+-  `275c73fc <https://github.com/open-power/skiboot/commit/275c73fc>`__ doc: Fix some errors in platforms-and-cpus
+-  `a02072d0 <https://github.com/open-power/skiboot/commit/a02072d0>`__ doc/imc: Fix sphinx warning
+-  `d332d419 <https://github.com/open-power/skiboot/commit/d332d419>`__ README.md: Add information on docs
+-  `10bbcd07 <https://github.com/open-power/skiboot/commit/10bbcd07>`__ core/platform: Add an explicit fast-reboot type
+-  `ee07f2c6 <https://github.com/open-power/skiboot/commit/ee07f2c6>`__ core/fast-reset: Do not enable by default
+-  `82aed17a <https://github.com/open-power/skiboot/commit/82aed17a>`__ firenze-pci: Fix infinite loop in
+   firenze\_pci\_add\_loc\_code()
+-  `2e122fba <https://github.com/open-power/skiboot/commit/2e122fba>`__ hw/fsp: Remove stray va\_end() in \_\_fsp\_fillmsg()
+-  `b776bb0f <https://github.com/open-power/skiboot/commit/b776bb0f>`__ hw/fsp: Fix GENERIC\_FAILURE mailbox status code
+-  `e19dddc5 <https://github.com/open-power/skiboot/commit/e19dddc5>`__ Re-license contributions from Raptor Computer Systems
+-  `a5764dd3 <https://github.com/open-power/skiboot/commit/a5764dd3>`__ Re-license contributions from Dan Horák
+-  `504f4f08 <https://github.com/open-power/skiboot/commit/504f4f08>`__ Re-license contributions from Yadro
+-  `d703ad5b <https://github.com/open-power/skiboot/commit/d703ad5b>`__ hw/prd: Hold FSP notifications while PRD is inactive
+-  `ec7be089 <https://github.com/open-power/skiboot/commit/ec7be089>`__ docs: Fix ref to skiboot-6.4 in 6.5 release notes
+-  `7b57002d <https://github.com/open-power/skiboot/commit/7b57002d>`__ hw/xscom: Add scom infrastructure
+-  `9b612fff <https://github.com/open-power/skiboot/commit/9b612fff>`__ hw/centaur: Convert to use the new scom API
+-  `38b5c317 <https://github.com/open-power/skiboot/commit/38b5c317>`__ hdata/memory: Add support for memory-buffer mmio
+-  `e991415a <https://github.com/open-power/skiboot/commit/e991415a>`__ hw/ocmb: Add OCMB SCOM support
+-  `0f1937ef <https://github.com/open-power/skiboot/commit/0f1937ef>`__ skiboot v6.6 release notes
+
+Reza Arbab (19):
+
+-  `7ff5558c <https://github.com/open-power/skiboot/commit/7ff5558c>`__ Dedup $(HW\_OBJS)
+-  `e7f76b4e <https://github.com/open-power/skiboot/commit/e7f76b4e>`__ hw/phys-map: Add pvr argument to phys\_map\_init()
+-  `6db75f1d <https://github.com/open-power/skiboot/commit/6db75f1d>`__ hw/phys-map: Add Axone memory map
+-  `8279e529 <https://github.com/open-power/skiboot/commit/8279e529>`__ npu2: Prepare purge\_l2\_l3\_caches() for reuse
+-  `d9ecf61c <https://github.com/open-power/skiboot/commit/d9ecf61c>`__ npu2: Refactor NPU OPAL calls
+-  `d9b06b85 <https://github.com/open-power/skiboot/commit/d9b06b85>`__ npu2: Add checks to npu2-only codepaths
+-  `aa3fc69f <https://github.com/open-power/skiboot/commit/aa3fc69f>`__ hw: Introduce npu3
+-  `6017ba6a <https://github.com/open-power/skiboot/commit/6017ba6a>`__ Add Swift platform
+-  `3e334fbb <https://github.com/open-power/skiboot/commit/3e334fbb>`__ npu3: Rename NPU3\_SM\_MISC\_CFGn register macros
+-  `82b57688 <https://github.com/open-power/skiboot/commit/82b57688>`__ npu3: Initialize NPU3\_SNP\_MISC\_CFG0
+-  `2422c100 <https://github.com/open-power/skiboot/commit/2422c100>`__ npu3: Expose remaining ATSD launch registers
+-  `a36a4944 <https://github.com/open-power/skiboot/commit/a36a4944>`__ npu: Fix device binding error message
+-  `38e1c73f <https://github.com/open-power/skiboot/commit/38e1c73f>`__ npu3: Delay enablement of DL parity checking
+-  `3f5ecfb3 <https://github.com/open-power/skiboot/commit/3f5ecfb3>`__ devicetree: Remove lpc interrupt properties
+-  `91b4be52 <https://github.com/open-power/skiboot/commit/91b4be52>`__ platforms/swift: Remove spurious error message
+-  `03e7420e <https://github.com/open-power/skiboot/commit/03e7420e>`__ npu3: Add ibm, ioda2-npu3-phb to compatible property
+-  `3ea336e7 <https://github.com/open-power/skiboot/commit/3ea336e7>`__ npu3: Improve SALT log output
+-  `ece4109b <https://github.com/open-power/skiboot/commit/ece4109b>`__ npu3: Make SALT CMD\_REG writable
+-  `24664b48 <https://github.com/open-power/skiboot/commit/24664b48>`__ npu2/hw-procedures: Remove assertion from check\_credits()
+
+Ryan Grimm (1):
+
+-  `689f4469 <https://github.com/open-power/skiboot/commit/689f4469>`__ slw: Enable stop states on P9P
+
+Shilpasri G Bhat (1):
+
+-  `1fa6e85a <https://github.com/open-power/skiboot/commit/1fa6e85a>`__ occ: Add pstate corresponding to base frequency to DT
+
+Stewart Smith (23):
+
+-  `648c7cfd <https://github.com/open-power/skiboot/commit/648c7cfd>`__ Silence sparse warning for version.c
+-  `2c256c68 <https://github.com/open-power/skiboot/commit/2c256c68>`__ sparse: Silence "directive in argument list" for version
+   string
+-  `c7737655 <https://github.com/open-power/skiboot/commit/c7737655>`__ sparse: fix (main\|secondar)\_cpu\_entry declaration types
+-  `ae9fb433 <https://github.com/open-power/skiboot/commit/ae9fb433>`__ sparse: fix endian types of struct imc\_chip\_cb members
+-  `64b30ec5 <https://github.com/open-power/skiboot/commit/64b30ec5>`__ sparse: various SPIRA structures, declare them.
+-  `4b2af1e5 <https://github.com/open-power/skiboot/commit/4b2af1e5>`__ sparse: lpc uart interrupt pointer endianness
+-  `352738f7 <https://github.com/open-power/skiboot/commit/352738f7>`__ sparse: hdata/fsp: u8 doesn't have endian
+-  `4bec3e9e <https://github.com/open-power/skiboot/commit/4bec3e9e>`__ sparse: hdata/iohub: correctly convert endianness
+-  `33753c98 <https://github.com/open-power/skiboot/commit/33753c98>`__ sparse: hdata/spira sw\_xstop\_fir\_bitpos is uint8\_t, has
+   no endian
+-  `62ceded3 <https://github.com/open-power/skiboot/commit/62ceded3>`__ sparse: libstb/container: fix endian type for magic number
+-  `0ee242b9 <https://github.com/open-power/skiboot/commit/0ee242b9>`__ gcov: Fix skiboot size to dump out from simulators
+-  `067de39a <https://github.com/open-power/skiboot/commit/067de39a>`__ Move ec/ code to Rhesus platform
+-  `5ef3dd30 <https://github.com/open-power/skiboot/commit/5ef3dd30>`__ SPDX-ify all skiboot code
+-  `5826c0a2 <https://github.com/open-power/skiboot/commit/5826c0a2>`__ travis: Enable fedora30 for ppc64le
+-  `468a2dc1 <https://github.com/open-power/skiboot/commit/468a2dc1>`__ travis: remove fedora29
+-  `85b94f12 <https://github.com/open-power/skiboot/commit/85b94f12>`__ travis: do gcov builds on fedora30
+-  `8995ad61 <https://github.com/open-power/skiboot/commit/8995ad61>`__ doc/requirements.txt: pin docutils at 0.14
+-  `73ded8c7 <https://github.com/open-power/skiboot/commit/73ded8c7>`__ doc/device-tree/ibm, opal/firmware/version: clarify timeline
+   of git-id vs version
+-  `0e1db80c <https://github.com/open-power/skiboot/commit/0e1db80c>`__ SPDX fixups and Copyright date fixes
+-  `12610da1 <https://github.com/open-power/skiboot/commit/12610da1>`__ libstb: export CVC/securerom code memory range
+-  `70047661 <https://github.com/open-power/skiboot/commit/70047661>`__ mambo: enable use of real Container Verification Code
+-  `49496485 <https://github.com/open-power/skiboot/commit/49496485>`__ Re-license IBM written files as Apache 2.0 OR GPLv2+
+-  `57c451dd <https://github.com/open-power/skiboot/commit/57c451dd>`__ platform: add Raptor Blackbird support
+
+Thiago Jung Bauermann (2):
+
+-  `528b72fa <https://github.com/open-power/skiboot/commit/528b72fa>`__ core/init: Add ibm,processor-storage-keys property to CPU DT
+   node
+-  `9cd556ca <https://github.com/open-power/skiboot/commit/9cd556ca>`__ Makefile: Search for distro-provided cross-compiler
+
+Vasant Hegde (64):
+
+-  `ca222757 <https://github.com/open-power/skiboot/commit/ca222757>`__ OPAL: Add OPAL boot entry address to device tree
+-  `af98c563 <https://github.com/open-power/skiboot/commit/af98c563>`__ FSP/MDST: Rename fsp-mdst-table.c -> fsp-sysdump.c
+-  `9d57eb46 <https://github.com/open-power/skiboot/commit/9d57eb46>`__ hdata: Split MDST 'type' field to accommodate MPIPL
+-  `0b667811 <https://github.com/open-power/skiboot/commit/0b667811>`__ hdata: Define various DUMP related structures
+-  `f10e629c <https://github.com/open-power/skiboot/commit/f10e629c>`__ mem-map: Setup memory for MDDT table
+-  `bbe6e969 <https://github.com/open-power/skiboot/commit/bbe6e969>`__ mem-map: Setup memory for MDRT table
+-  `935fccb0 <https://github.com/open-power/skiboot/commit/935fccb0>`__ hdata: Update spirah structure
+-  `ed7110ee <https://github.com/open-power/skiboot/commit/ed7110ee>`__ hdata: Adjust various structure offset after relocation
+-  `0cadc985 <https://github.com/open-power/skiboot/commit/0cadc985>`__ hdata: Create /ibm, opal/dump device tree node
+-  `1ba3198b <https://github.com/open-power/skiboot/commit/1ba3198b>`__ MPIPL: Register for OPAL dump
+-  `4f94bda6 <https://github.com/open-power/skiboot/commit/4f94bda6>`__ MPIPL: Define OPAL metadata area
+-  `ef6da5f6 <https://github.com/open-power/skiboot/commit/ef6da5f6>`__ MPIPL: Add OPAL API to register for dump region
+-  `8d0c8ae5 <https://github.com/open-power/skiboot/commit/8d0c8ae5>`__ MPIPL: Add OPAL API to register tags
+-  `166eda4e <https://github.com/open-power/skiboot/commit/166eda4e>`__ SBE: Send OPAL relocated base address to SBE
+-  `0a17e674 <https://github.com/open-power/skiboot/commit/0a17e674>`__ MPIPL: Add support to trigger MPIPL on BMC system
+-  `fbd875d7 <https://github.com/open-power/skiboot/commit/fbd875d7>`__ MPIPL: Save crashing PIR
+-  `aa694ea0 <https://github.com/open-power/skiboot/commit/aa694ea0>`__ HIOMAP: Reset bmc mbox in MPIPL path
+-  `4a669d0f <https://github.com/open-power/skiboot/commit/4a669d0f>`__ platform: Introduce new reboot type
+-  `6326c712 <https://github.com/open-power/skiboot/commit/6326c712>`__ hdata: Add "mpipl-boot" property to "dump" node
+-  `3d85abd9 <https://github.com/open-power/skiboot/commit/3d85abd9>`__ MPIPL: Prepare OPAL data tag
+-  `19a8694f <https://github.com/open-power/skiboot/commit/19a8694f>`__ MPIPL: Add OPAL API to query saved tags
+-  `7fa3c1ec <https://github.com/open-power/skiboot/commit/7fa3c1ec>`__ MPIPL: Clear tags and metadata
+-  `fa5cb006 <https://github.com/open-power/skiboot/commit/fa5cb006>`__ MPIPL: Reserve memory to capture architected registers data
+-  `4ddf1144 <https://github.com/open-power/skiboot/commit/4ddf1144>`__ MPIPL: Prepare architected registers data tag
+-  `11cb51ab <https://github.com/open-power/skiboot/commit/11cb51ab>`__ MPIPL: Add documentation
+-  `cc028857 <https://github.com/open-power/skiboot/commit/cc028857>`__ MPIPL: struct opal\_mpipl\_fadump doesn't needs to be packed
+-  `d75e82db <https://github.com/open-power/skiboot/commit/d75e82db>`__ core/ipmi: Fix use-after-free
+-  `a0c996e4 <https://github.com/open-power/skiboot/commit/a0c996e4>`__ core/ipmi: Remove redundant variable
+-  `49be3377 <https://github.com/open-power/skiboot/commit/49be3377>`__ gard: Add support to run gard tests on FSP platform
+-  `fc455b94 <https://github.com/open-power/skiboot/commit/fc455b94>`__ skiboot v6.3.4 release notes
+-  `66ab3cbd <https://github.com/open-power/skiboot/commit/66ab3cbd>`__ skiboot v6.5.1 release notes
+-  `b8bac56a <https://github.com/open-power/skiboot/commit/b8bac56a>`__ hostservices: Silence special wakeup assert/release logs
+-  `c3bfa320 <https://github.com/open-power/skiboot/commit/c3bfa320>`__ hdata: Fix reserved node label search
+-  `f1557795 <https://github.com/open-power/skiboot/commit/f1557795>`__ prd: Improve debug logs
+-  `790a604e <https://github.com/open-power/skiboot/commit/790a604e>`__ prd: Fix prd message queuing interface
+-  `7af08f2f <https://github.com/open-power/skiboot/commit/7af08f2f>`__ prd: Fix FSP - HBRT firmware\_notify message
+-  `2a63db65 <https://github.com/open-power/skiboot/commit/2a63db65>`__ FSP/IPMI: Handle FSP reset reload
+-  `13c2f98e <https://github.com/open-power/skiboot/commit/13c2f98e>`__ skiboot 5.4.11 release notes
+-  `87a470c2 <https://github.com/open-power/skiboot/commit/87a470c2>`__ skiboot v6.5.2 release notes
+-  `28eab7cd <https://github.com/open-power/skiboot/commit/28eab7cd>`__ skiboot v6.3.3 release notes
+-  `120b1b7d <https://github.com/open-power/skiboot/commit/120b1b7d>`__ skiboot v6.0.21 release notes
+-  `a448c4e2 <https://github.com/open-power/skiboot/commit/a448c4e2>`__ hdata: Update MPIPL support IPL parameter
+-  `179d53df <https://github.com/open-power/skiboot/commit/179d53df>`__ stable/build: Do not convert warnings to error
+-  `eebee394 <https://github.com/open-power/skiboot/commit/eebee394>`__ hdata: Fix SP attention area address
+-  `457f9635 <https://github.com/open-power/skiboot/commit/457f9635>`__ mpipl: Release cpu data memory in free reserved memory path
+-  `b858aef5 <https://github.com/open-power/skiboot/commit/b858aef5>`__ mpipl: Disable fast-reboot during post MPIPL boot
+-  `958769d1 <https://github.com/open-power/skiboot/commit/958769d1>`__ FSP: Remove flash hook after completing code update
+-  `b0e02421 <https://github.com/open-power/skiboot/commit/b0e02421>`__ mpipl: Rework memory reservation for OPAL dump
+-  `c53e3394 <https://github.com/open-power/skiboot/commit/c53e3394>`__ platform: Log error to BMC even if diag data is missing
+-  `c8418ac7 <https://github.com/open-power/skiboot/commit/c8418ac7>`__ errorlog: Replace hardcode value with macro
+-  `caae4d47 <https://github.com/open-power/skiboot/commit/caae4d47>`__ list: Add list\_add\_after()
+-  `16d186cf <https://github.com/open-power/skiboot/commit/16d186cf>`__ memory: Sort memory regions list
+-  `841874b6 <https://github.com/open-power/skiboot/commit/841874b6>`__ ipmi-sel: Free ipmi\_msg in error path
+-  `20101950 <https://github.com/open-power/skiboot/commit/20101950>`__ esel: Fix OEM SEL generator ID
+-  `033e797c <https://github.com/open-power/skiboot/commit/033e797c>`__ eSEL: Make sure PANIC logs are sent to BMC before calling
+   assert
+-  `daf9215c <https://github.com/open-power/skiboot/commit/daf9215c>`__ errorlog: Increase the severity of abnormal reboot events
+-  `2700092e <https://github.com/open-power/skiboot/commit/2700092e>`__ skiboot v6.5.3 release notes
+-  `d0043ee2 <https://github.com/open-power/skiboot/commit/d0043ee2>`__ skiboot v6.5.4 release notes
+-  `4ccfb4b3 <https://github.com/open-power/skiboot/commit/4ccfb4b3>`__ skiboot v6.0.22 release notes
+-  `3a4daeca <https://github.com/open-power/skiboot/commit/3a4daeca>`__ Revert "FSP: Disable PSI link whenever FSP tells OPAL about
+   impending R/R"
+-  `33323055 <https://github.com/open-power/skiboot/commit/33323055>`__ skiboot v6.0.23 release notes
+-  `d6eb510d <https://github.com/open-power/skiboot/commit/d6eb510d>`__ fsp: Ignore platform dump notification on P9
+-  `34664746 <https://github.com/open-power/skiboot/commit/34664746>`__ MPIPL: Add support to save crash CPU details on FSP system
+-  `9547b3da <https://github.com/open-power/skiboot/commit/9547b3da>`__ ZZ: Fix System Attention Indicator location code
+
+acsawdey (1):
+
+-  `a08549a9 <https://github.com/open-power/skiboot/commit/a08549a9>`__ external/mambo: rename env var PMEM\_MODES to PMEM\_MODE
+
+joy\_chu (1):
+
+-  `9570730f <https://github.com/open-power/skiboot/commit/9570730f>`__ Add: add mihawk platform file
+
+Package: vesnin-xml
+-------------------
+
+`Repository <https://github.com/open-power/vesnin-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: witherspoon-xml
+------------------------
+
+`Repository <https://github.com/open-power/witherspoon-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Uma Yadlapati (1):
+
+-  `c622cb5 <https://github.com/open-power/witherspoon-xml/commit/c622cb5>`__ Add IPMI Key Clear sensor (#84)
+
+nmuruli (1):
+
+-  `0f9b366 <https://github.com/open-power/witherspoon-xml/commit/0f9b366>`__ Set IS\_MPIPL\_SUPPORTED to TRUE by default (#88)
+
+Package: zaius-xml
+------------------
+
+`Repository <https://github.com/open-power/zaius-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
diff --git a/doc/release-notes/v2.6.rst b/doc/release-notes/v2.6.rst
new file mode 100644
index 0000000..5207a98
--- /dev/null
+++ b/doc/release-notes/v2.6.rst
@@ -0,0 +1,1341 @@
+Release Notes for OpenPower Firmware v2.6
+=========================================
+
+op-build v2.6 was released on Tuesday, November 3rd, 2020. It became the current stable release of op-build, following on from v2.5,
+first released on May 22nd, 2020.
+
+In addition to a number of bugfixes and re-factors, plus the new mowgli platform listed below, this release is also the first one
+without formally supporting Power8 platforms (see Removed platforms below).
+
+In addition to that, op-build v2.6 adds significant new features:
+
+-  Secure & Trusted Boot validation support for the OS. Starting with v6.7, Skiboot now supports Secure Variables through the use of
+   a Trusted Platform Module. This support, added with a few changes in op-build (i.e., the use of the Keyutils package + updates to
+   the kexec-lite package) allows op-build to measure the OS Kernel / initrd, as well as enforce a security policy to only load
+   trusted / known OS Kernel / initrd pairs. More info on this feature can be found in the Skiboot documentation for STB and
+   Secvars.
+-  Preliminary support for Power9 Big-Core (SMT8) processors.
+-  Support for OpenCAPI Memory Buffers (OCMB) on Power9+ (AXONE) processors
+
+Known issues
+------------
+
+-  Fast-reset (aka "fast-reboot") has been broken since the Big-Core support was added. A Skiboot issue was created to track this
+   (https://github.com/open-power/skiboot/issues/259). Fast-reboot, even if it was a useful development feature, was never an
+   officially supported feature on production platforms.
+
+Removed platforms
+-----------------
+
+-  vesnin
+-  barreleye
+-  p8dtu
+-  pseries
+-  garrison
+-  firenze
+-  firestone
+-  palmetto
+-  habanero
+
+New platforms
+-------------
+
+-  mowgli
+
+Updated Packages
+----------------
+
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| Package             | Old Version       | New Version       | Platforms                                                                        |
++=====================+===================+===================+==================================================================================+
+| dtc                 | 1.4.7             | 1.6.0             | romulus, opal, nicole, swift, zz, zaius, p9dsu, blackbird, mihawk, witherspoon   |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| hcode               | hw052020a.opmst   | hw103020a.opmst   | romulus, nicole, swift, zaius, p9dsu, blackbird, mihawk, witherspoon             |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| hostboot            | 9865ef9           | c4118db           | romulus, nicole, swift, zaius, p9dsu, blackbird, mihawk, witherspoon             |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| hostboot-binaries   | hw013120a.opmst   | hw101520a.opmst   | romulus, nicole, swift, zaius, p9dsu, blackbird, mihawk, witherspoon             |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| libflash            | v6.6              | v6.7              | romulus, opal, nicole, swift, zz, zaius, p9dsu, blackbird, mihawk, witherspoon   |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| linux               | 5.4.33            | 5.4.68            | romulus, opal, nicole, swift, zz, zaius, p9dsu, blackbird, mihawk, witherspoon   |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| linux-headers       | 5.4.33            | 5.4.68            | romulus, opal, nicole, swift, zz, zaius, p9dsu, blackbird, mihawk, witherspoon   |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| machine-xml         | f6ec5aa           | b1fc7ca           | mihawk                                                                           |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| machine-xml         | 9a6da5f           | ac02557           | nicole                                                                           |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| openpower-pnor      | 175f00d           | e582e4a           | romulus, nicole, zaius, p9dsu, blackbird, mihawk, witherspoon                    |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| sbe                 | c58e8fd           | ea0389a           | romulus, nicole, zaius, p9dsu, blackbird, mihawk, witherspoon                    |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+| skiboot             | v6.6              | v6.7              | romulus, opal, nicole, swift, zz, zaius, p9dsu, blackbird, mihawk, witherspoon   |
++---------------------+-------------------+-------------------+----------------------------------------------------------------------------------+
+
+New Packages
+------------
+
++--------------------+-----------+---------------+
+| Package            | Version   | Platforms     |
++====================+===========+===============+
+| keyutils           | 1.6       | witherspoon   |
++--------------------+-----------+---------------+
+| ocmb-explorer-fw   | v8.0      | swift         |
++--------------------+-----------+---------------+
+| openpower-pnor     | e582e4a   | swift         |
++--------------------+-----------+---------------+
+| petitboot          | v1.12     | swift         |
++--------------------+-----------+---------------+
+| sbe                | ea0389a   | swift         |
++--------------------+-----------+---------------+
+
+Removed Packages
+----------------
+
++-----------+-----------+-------------+
+| Package   | Version   | Platforms   |
++===========+===========+=============+
++-----------+-----------+-------------+
+
+Package: blackbird-xml
+----------------------
+
+`Repository <https://github.com/open-power/blackbird-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: hcode
+--------------
+
+`Repository <https://github.com/open-power/hcode>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Austin Cui (1):
+
+-  `103be554 <https://github.com/open-power/hcode/commit/103be554>`__ EKB P9 build fix on RHEL7 systems
+
+Joachim Fenkes (1):
+
+-  `dde020c0 <https://github.com/open-power/hcode/commit/dde020c0>`__ FAPI2: Add FAPI2\_RC\_PLAT\_MISCOMPARE
+
+Prasad Bg Ranganath (2):
+
+-  `d0ee9962 <https://github.com/open-power/hcode/commit/d0ee9962>`__ PFET: Re-verify the pfet header error in FIT interrupt handler
+-  `83679a20 <https://github.com/open-power/hcode/commit/83679a20>`__ SGPE:Fix cme boot list during runtime case
+
+Rahul Batra (2):
+
+-  `99d54522 <https://github.com/open-power/hcode/commit/99d54522>`__ PM: NACK disable and OCC notification
+-  `a086ff7a <https://github.com/open-power/hcode/commit/a086ff7a>`__ PM: Process C405\_ECC\_UE FIR
+
+Sumit Kumar (3):
+
+-  `6538e44e <https://github.com/open-power/hcode/commit/6538e44e>`__ Updated devtoolset for RHEL7
+-  `c936359d <https://github.com/open-power/hcode/commit/c936359d>`__ Revert "Updated devtoolset for RHEL7"
+-  `071b0780 <https://github.com/open-power/hcode/commit/071b0780>`__ Updated to devtoolset-8 for RHEL7
+
+Yue Du (1):
+
+-  `bc04b3a0 <https://github.com/open-power/hcode/commit/bc04b3a0>`__ PFET: detect bad pfet through cme sgpe plumbling
+
+hostboot (92):
+
+-  `e9bd33dd <https://github.com/open-power/hcode/commit/e9bd33dd>`__ Release tag & head commit information updated for
+   hw052120a.opmst
+-  `3a223dc7 <https://github.com/open-power/hcode/commit/3a223dc7>`__ Release tag & head commit information updated for
+   hw052720a.opmst
+-  `b4e6c0ba <https://github.com/open-power/hcode/commit/b4e6c0ba>`__ Release tag & head commit information updated for
+   hw052820a.opmst
+-  `2d137def <https://github.com/open-power/hcode/commit/2d137def>`__ Release tag & head commit information updated for
+   hw052920a.opmst
+-  `7bff4227 <https://github.com/open-power/hcode/commit/7bff4227>`__ Release tag & head commit information updated for
+   hw060120a.opmst
+-  `f355cddd <https://github.com/open-power/hcode/commit/f355cddd>`__ Release tag & head commit information updated for
+   hw060220a.opmst
+-  `2f6174c4 <https://github.com/open-power/hcode/commit/2f6174c4>`__ Release tag & head commit information updated for
+   hw060320a.opmst
+-  `9ef89a10 <https://github.com/open-power/hcode/commit/9ef89a10>`__ Release tag & head commit information updated for
+   hw060420a.opmst
+-  `c5fe9044 <https://github.com/open-power/hcode/commit/c5fe9044>`__ Release tag & head commit information updated for
+   hw060520a.opmst
+-  `494e2dc8 <https://github.com/open-power/hcode/commit/494e2dc8>`__ Release tag & head commit information updated for
+   hw060820a.opmst
+-  `657a7527 <https://github.com/open-power/hcode/commit/657a7527>`__ Release tag & head commit information updated for
+   hw060920a.opmst
+-  `5065d242 <https://github.com/open-power/hcode/commit/5065d242>`__ Release tag & head commit information updated for
+   hw061120a.opmst
+-  `464c0e39 <https://github.com/open-power/hcode/commit/464c0e39>`__ Release tag & head commit information updated for
+   hw061220a.opmst
+-  `36e24db6 <https://github.com/open-power/hcode/commit/36e24db6>`__ Release tag & head commit information updated for
+   hw061520a.opmst
+-  `76de8981 <https://github.com/open-power/hcode/commit/76de8981>`__ Release tag & head commit information updated for
+   hw061620a.opmst
+-  `b46d5428 <https://github.com/open-power/hcode/commit/b46d5428>`__ Release tag & head commit information updated for
+   hw061720a.opmst
+-  `e53963b3 <https://github.com/open-power/hcode/commit/e53963b3>`__ Release tag & head commit information updated for
+   hw061920a.opmst
+-  `f0e7e419 <https://github.com/open-power/hcode/commit/f0e7e419>`__ Release tag & head commit information updated for
+   hw062220a.opmst
+-  `0c546472 <https://github.com/open-power/hcode/commit/0c546472>`__ Release tag & head commit information updated for
+   hw062320a.opmst
+-  `0727c28f <https://github.com/open-power/hcode/commit/0727c28f>`__ Release tag & head commit information updated for
+   hw062420a.opmst
+-  `54639d32 <https://github.com/open-power/hcode/commit/54639d32>`__ Release tag & head commit information updated for
+   hw062520a.opmst
+-  `6b0aa448 <https://github.com/open-power/hcode/commit/6b0aa448>`__ Release tag & head commit information updated for
+   hw062620a.opmst
+-  `30e3e71d <https://github.com/open-power/hcode/commit/30e3e71d>`__ Release tag & head commit information updated for
+   hw062920a.opmst
+-  `0d09e40f <https://github.com/open-power/hcode/commit/0d09e40f>`__ Release tag & head commit information updated for
+   hw070120a.opmst
+-  `f08d50cc <https://github.com/open-power/hcode/commit/f08d50cc>`__ Release tag & head commit information updated for
+   hw070220a.opmst
+-  `11404d3b <https://github.com/open-power/hcode/commit/11404d3b>`__ Release tag & head commit information updated for
+   hw070620a.opmst
+-  `1e103eee <https://github.com/open-power/hcode/commit/1e103eee>`__ Release tag & head commit information updated for
+   hw070720a.opmst
+-  `0d911d37 <https://github.com/open-power/hcode/commit/0d911d37>`__ Release tag & head commit information updated for
+   hw070920a.opmst
+-  `53a4facd <https://github.com/open-power/hcode/commit/53a4facd>`__ Release tag & head commit information updated for
+   hw071020a.opmst
+-  `38ce4727 <https://github.com/open-power/hcode/commit/38ce4727>`__ Release tag & head commit information updated for
+   hw071420a.opmst
+-  `081e2899 <https://github.com/open-power/hcode/commit/081e2899>`__ Release tag & head commit information updated for
+   hw072020a.opmst
+-  `a815e84b <https://github.com/open-power/hcode/commit/a815e84b>`__ Release tag & head commit information updated for
+   hw072020b.opmst
+-  `2811141b <https://github.com/open-power/hcode/commit/2811141b>`__ Release tag & head commit information updated for
+   hw072220a.opmst
+-  `1069536b <https://github.com/open-power/hcode/commit/1069536b>`__ Release tag & head commit information updated for
+   hw072320a.opmst
+-  `61a718bd <https://github.com/open-power/hcode/commit/61a718bd>`__ Release tag & head commit information updated for
+   hw072420a.opmst
+-  `9670cd9c <https://github.com/open-power/hcode/commit/9670cd9c>`__ Release tag & head commit information updated for
+   hw072720a.opmst
+-  `dc43d89c <https://github.com/open-power/hcode/commit/dc43d89c>`__ Release tag & head commit information updated for
+   hw072820a.opmst
+-  `0a793f9b <https://github.com/open-power/hcode/commit/0a793f9b>`__ Release tag & head commit information updated for
+   hw072920a.opmst
+-  `c32cbe4f <https://github.com/open-power/hcode/commit/c32cbe4f>`__ Release tag & head commit information updated for
+   hw073020a.opmst
+-  `0beeec42 <https://github.com/open-power/hcode/commit/0beeec42>`__ Release tag & head commit information updated for
+   hw080320a.opmst
+-  `9f38a36d <https://github.com/open-power/hcode/commit/9f38a36d>`__ Release tag & head commit information updated for
+   hw080420a.opmst
+-  `9547fb46 <https://github.com/open-power/hcode/commit/9547fb46>`__ Release tag & head commit information updated for
+   hw080520a.opmst
+-  `d9a9c7f0 <https://github.com/open-power/hcode/commit/d9a9c7f0>`__ Release tag & head commit information updated for
+   hw080820a.opmst
+-  `4cf71d64 <https://github.com/open-power/hcode/commit/4cf71d64>`__ Release tag & head commit information updated for
+   hw080920a.opmst
+-  `6d1885ba <https://github.com/open-power/hcode/commit/6d1885ba>`__ Release tag & head commit information updated for
+   hw081020a.opmst
+-  `98e82b38 <https://github.com/open-power/hcode/commit/98e82b38>`__ Release tag & head commit information updated for
+   hw081120a.opmst
+-  `c9d11845 <https://github.com/open-power/hcode/commit/c9d11845>`__ Release tag & head commit information updated for
+   hw081220a.opmst
+-  `5f7b0006 <https://github.com/open-power/hcode/commit/5f7b0006>`__ Release tag & head commit information updated for
+   hw081320a.opmst
+-  `168e604a <https://github.com/open-power/hcode/commit/168e604a>`__ Release tag & head commit information updated for
+   hw081420a.opmst
+-  `a2fe7292 <https://github.com/open-power/hcode/commit/a2fe7292>`__ Release tag & head commit information updated for
+   hw081720a.opmst
+-  `d50779d4 <https://github.com/open-power/hcode/commit/d50779d4>`__ Release tag & head commit information updated for
+   hw081820a.opmst
+-  `1e8c08ab <https://github.com/open-power/hcode/commit/1e8c08ab>`__ Release tag & head commit information updated for
+   hw081920a.opmst
+-  `373f579c <https://github.com/open-power/hcode/commit/373f579c>`__ Release tag & head commit information updated for
+   hw082020a.opmst
+-  `3d73e2de <https://github.com/open-power/hcode/commit/3d73e2de>`__ Release tag & head commit information updated for
+   hw082120a.opmst
+-  `1eb90be7 <https://github.com/open-power/hcode/commit/1eb90be7>`__ Release tag & head commit information updated for
+   hw082220a.opmst
+-  `05079b3a <https://github.com/open-power/hcode/commit/05079b3a>`__ Release tag & head commit information updated for
+   hw082520a.opmst
+-  `508c6811 <https://github.com/open-power/hcode/commit/508c6811>`__ Release tag & head commit information updated for
+   hw082520b.opmst
+-  `bdd579e3 <https://github.com/open-power/hcode/commit/bdd579e3>`__ Release tag & head commit information updated for
+   hw082720a.opmst
+-  `0f805db1 <https://github.com/open-power/hcode/commit/0f805db1>`__ Release tag & head commit information updated for
+   hw083020a.opmst
+-  `98f60183 <https://github.com/open-power/hcode/commit/98f60183>`__ Release tag & head commit information updated for
+   hw090120a.opmst
+-  `8b0ce4fd <https://github.com/open-power/hcode/commit/8b0ce4fd>`__ Release tag & head commit information updated for
+   hw090220a.opmst
+-  `54d10e49 <https://github.com/open-power/hcode/commit/54d10e49>`__ Release tag & head commit information updated for
+   hw090320a.opmst
+-  `75e6406b <https://github.com/open-power/hcode/commit/75e6406b>`__ Release tag & head commit information updated for
+   hw090520a.opmst
+-  `c0936168 <https://github.com/open-power/hcode/commit/c0936168>`__ Release tag & head commit information updated for
+   hw090920a.opmst
+-  `2da89cbf <https://github.com/open-power/hcode/commit/2da89cbf>`__ Release tag & head commit information updated for
+   hw091020a.opmst
+-  `2a77a07b <https://github.com/open-power/hcode/commit/2a77a07b>`__ Release tag & head commit information updated for
+   hw091120a.opmst
+-  `551fa1f6 <https://github.com/open-power/hcode/commit/551fa1f6>`__ Release tag & head commit information updated for
+   hw091620a.opmst
+-  `1ac085df <https://github.com/open-power/hcode/commit/1ac085df>`__ Release tag & head commit information updated for
+   hw091720a.opmst
+-  `f1351576 <https://github.com/open-power/hcode/commit/f1351576>`__ Release tag & head commit information updated for
+   hw091820a.opmst
+-  `835066a0 <https://github.com/open-power/hcode/commit/835066a0>`__ Release tag & head commit information updated for
+   hw092120a.opmst
+-  `03aa3c92 <https://github.com/open-power/hcode/commit/03aa3c92>`__ Release tag & head commit information updated for
+   hw092220a.opmst
+-  `e494c325 <https://github.com/open-power/hcode/commit/e494c325>`__ Release tag & head commit information updated for
+   hw092320a.opmst
+-  `08f200b8 <https://github.com/open-power/hcode/commit/08f200b8>`__ Release tag & head commit information updated for
+   hw092420a.opmst
+-  `ee9e0a5d <https://github.com/open-power/hcode/commit/ee9e0a5d>`__ Release tag & head commit information updated for
+   hw092520a.opmst
+-  `68fab35e <https://github.com/open-power/hcode/commit/68fab35e>`__ Release tag & head commit information updated for
+   hw092820a.opmst
+-  `0e7721f7 <https://github.com/open-power/hcode/commit/0e7721f7>`__ Release tag & head commit information updated for
+   hw092920a.opmst
+-  `b17a0278 <https://github.com/open-power/hcode/commit/b17a0278>`__ Release tag & head commit information updated for
+   hw093020a.opmst
+-  `5df62c35 <https://github.com/open-power/hcode/commit/5df62c35>`__ Release tag & head commit information updated for
+   hw100320a.opmst
+-  `bad7a125 <https://github.com/open-power/hcode/commit/bad7a125>`__ Release tag & head commit information updated for
+   hw100620a.opmst
+-  `cd58b865 <https://github.com/open-power/hcode/commit/cd58b865>`__ Release tag & head commit information updated for
+   hw100720a.opmst
+-  `52cd5aad <https://github.com/open-power/hcode/commit/52cd5aad>`__ Release tag & head commit information updated for
+   hw100920a.opmst
+-  `c2ca8494 <https://github.com/open-power/hcode/commit/c2ca8494>`__ Release tag & head commit information updated for
+   hw101120a.opmst
+-  `cd07c463 <https://github.com/open-power/hcode/commit/cd07c463>`__ Release tag & head commit information updated for
+   hw101220a.opmst
+-  `c4ff99e8 <https://github.com/open-power/hcode/commit/c4ff99e8>`__ Release tag & head commit information updated for
+   hw101320a.opmst
+-  `d0f308bf <https://github.com/open-power/hcode/commit/d0f308bf>`__ Release tag & head commit information updated for
+   hw101520a.opmst
+-  `8ff58c8a <https://github.com/open-power/hcode/commit/8ff58c8a>`__ Release tag & head commit information updated for
+   hw101620a.opmst
+-  `fbc889dd <https://github.com/open-power/hcode/commit/fbc889dd>`__ Release tag & head commit information updated for
+   hw101920a.opmst
+-  `8921f64e <https://github.com/open-power/hcode/commit/8921f64e>`__ Release tag & head commit information updated for
+   hw102320a.opmst
+-  `fad1a0f6 <https://github.com/open-power/hcode/commit/fad1a0f6>`__ Release tag & head commit information updated for
+   hw102620a.opmst
+-  `738a0641 <https://github.com/open-power/hcode/commit/738a0641>`__ Release tag & head commit information updated for
+   hw102720a.opmst
+-  `fc41fd13 <https://github.com/open-power/hcode/commit/fc41fd13>`__ Release tag & head commit information updated for
+   hw102820a.opmst
+-  `3e4b2934 <https://github.com/open-power/hcode/commit/3e4b2934>`__ Release tag & head commit information updated for
+   hw103020a.opmst
+
+Package: hostboot
+-----------------
+
+`Repository <https://github.com/open-power/hostboot>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Adam Hale (1):
+
+-  `504cb2180 <https://github.com/open-power/hostboot/commit/504cb2180>`__ Allow OMIC targeting on OMI\_DL regs
+
+Alvin Wang (3):
+
+-  `2c11a06a0 <https://github.com/open-power/hostboot/commit/2c11a06a0>`__ Add empty files for kind library
+-  `1b0c5068b <https://github.com/open-power/hostboot/commit/1b0c5068b>`__ Move kind library to generic
+-  `2343ee202 <https://github.com/open-power/hostboot/commit/2343ee202>`__ Add OMI\_EDPL\_DISABLE attribute
+
+Amita Banchhor (6):
+
+-  `0158bfc1d <https://github.com/open-power/hostboot/commit/0158bfc1d>`__ FW STATUS logging extended
+-  `085048876 <https://github.com/open-power/hostboot/commit/085048876>`__ Adding blank files for moving has\_rcd from nm unmask to
+   nm dimm
+-  `2645ac029 <https://github.com/open-power/hostboot/commit/2645ac029>`__ fw\_status logging improved
+-  `ed23d239d <https://github.com/open-power/hostboot/commit/ed23d239d>`__ adding new file exp\_kind.H to have declarations for
+   exp\_kind.C
+-  `066d6f7e5 <https://github.com/open-power/hostboot/commit/066d6f7e5>`__ Moving has\_rcd from namespace unmask to namespace dimm
+-  `0a38f6791 <https://github.com/open-power/hostboot/commit/0a38f6791>`__ Update Galois APIs to accept uint64\_t as inputs for all
+   functions
+
+Andre A. Marin (7):
+
+-  `33fb53d3a <https://github.com/open-power/hostboot/commit/33fb53d3a>`__ Update SPD for rev 0.3
+-  `523a24db9 <https://github.com/open-power/hostboot/commit/523a24db9>`__ Add p9c\_mss\_funcs object file to istep07 makefile
+-  `daeb4ee75 <https://github.com/open-power/hostboot/commit/daeb4ee75>`__ Limit centaur m\_mba\_throttle to avoid over current
+   warning
+-  `0866bcba2 <https://github.com/open-power/hostboot/commit/0866bcba2>`__ Fix DDIMM SPD revision fallback for DDIMM
+-  `5344a7393 <https://github.com/open-power/hostboot/commit/5344a7393>`__ Add missing DEPLIBS for p9c\_mss\_funcs
+-  `ba26156a6 <https://github.com/open-power/hostboot/commit/ba26156a6>`__ Add new SPD bytes for RCD parameters for rev 0.4
+-  `efa47dd47 <https://github.com/open-power/hostboot/commit/efa47dd47>`__ Makefile changes for exp fw update to work
+
+Austin Cui (1):
+
+-  `c7ee4833c <https://github.com/open-power/hostboot/commit/c7ee4833c>`__ EKB P9 build fix on RHEL7 systems
+
+Ben Gass (1):
+
+-  `3c1e77dec <https://github.com/open-power/hostboot/commit/3c1e77dec>`__ Update explorer command tags in the initfile.
+
+Bill Hoffa (2):
+
+-  `521bfe25e <https://github.com/open-power/hostboot/commit/521bfe25e>`__ Increase max code line length to 100 characters
+-  `6e9f0d219 <https://github.com/open-power/hostboot/commit/6e9f0d219>`__ Increase HBRT Partition Size to 0x800000
+
+Brian Stegmiller (1):
+
+-  `e8f69cae9 <https://github.com/open-power/hostboot/commit/e8f69cae9>`__ PRD: HMS/OpenCAPI adapter errors
+
+Caleb Palmer (34):
+
+-  `f66ae38cb <https://github.com/open-power/hostboot/commit/f66ae38cb>`__ PRD: Correct unit checkstops in MCC to checkstop root
+   cause
+-  `a77fcb358 <https://github.com/open-power/hostboot/commit/a77fcb358>`__ MDIA: Reenable restore DRAM repairs in memdiags
+-  `f7517b0d4 <https://github.com/open-power/hostboot/commit/f7517b0d4>`__ PRD: Fix endianness of dqMapping in mem capture data
+-  `a6a022676 <https://github.com/open-power/hostboot/commit/a6a022676>`__ PRD: Add OMI error related registers to FFDC
+-  `c08526423 <https://github.com/open-power/hostboot/commit/c08526423>`__ PRD: Capture USTLSTATUS register for FFDC
+-  `69e8f8ff3 <https://github.com/open-power/hostboot/commit/69e8f8ff3>`__ PRD: Default callout for failure to scom OCMB to cover
+   chnl fails
+-  `34f69b535 <https://github.com/open-power/hostboot/commit/34f69b535>`__ PRD: Return nullptr for missing subchannels in
+   getConnected
+-  `f8097fd88 <https://github.com/open-power/hostboot/commit/f8097fd88>`__ MDIA: Properly get OMIC parent to check HW state
+-  `235b00450 <https://github.com/open-power/hostboot/commit/235b00450>`__ PRD: Toggle summary mask reg after cleanup of chnl attns
+-  `a21c00340 <https://github.com/open-power/hostboot/commit/a21c00340>`__ PRD: Collect FFDC from both sides of bus for OMI errs
+-  `08ba8e429 <https://github.com/open-power/hostboot/commit/08ba8e429>`__ PRD: Remove NPU targets from read PNOR and write HOMER
+   code
+-  `4f6899b9e <https://github.com/open-power/hostboot/commit/4f6899b9e>`__ ATTN: Check OCMBs for attns during certain parts of the
+   IPL
+-  `25e19b151 <https://github.com/open-power/hostboot/commit/25e19b151>`__ PRD: OMI error FFDC collection minor adjustments
+-  `acbec491e <https://github.com/open-power/hostboot/commit/acbec491e>`__ PRD: Consolidate extra memory signatures
+-  `438beac29 <https://github.com/open-power/hostboot/commit/438beac29>`__ PRD: Blunt force check all OCMBs for attentions
+-  `f0ac9b733 <https://github.com/open-power/hostboot/commit/f0ac9b733>`__ PRD: Poll PRD\_HWP\_PLID before scomming OCMBs in certain
+   isteps
+-  `653512230 <https://github.com/open-power/hostboot/commit/653512230>`__ PRD: Fix for PRD repo mirror in analyzeOcmbs
+-  `9639e0ad7 <https://github.com/open-power/hostboot/commit/9639e0ad7>`__ PRD: adjust DSTLFIR re-setting workaround
+-  `602fe789b <https://github.com/open-power/hostboot/commit/602fe789b>`__ PRD: Don't ban TPS when all dram repairs used
+-  `baad9527f <https://github.com/open-power/hostboot/commit/baad9527f>`__ PRD: Update OCMB symbol to DQ mapping
+-  `d6c8dc2dd <https://github.com/open-power/hostboot/commit/d6c8dc2dd>`__ PRD: Fix memport dq2Symbol function
+-  `337475699 <https://github.com/open-power/hostboot/commit/337475699>`__ PRD: Adjust scrub error threshold timer
+-  `30ad900b9 <https://github.com/open-power/hostboot/commit/30ad900b9>`__ PRD: Adjust MemAddr end address creation for Centaur
+-  `7277568f7 <https://github.com/open-power/hostboot/commit/7277568f7>`__ PRD: DQ Mapping endianness logging fix
+-  `4152f3a49 <https://github.com/open-power/hostboot/commit/4152f3a49>`__ PRD: Disable dynamic memory deallocation for now
+-  `93e59414f <https://github.com/open-power/hostboot/commit/93e59414f>`__ MDIA: Fix OMIDLFIR addr in timeout FFDC
+-  `b4d86165b <https://github.com/open-power/hostboot/commit/b4d86165b>`__ PRD: Bad DQ Bitmap spare byte updates
+-  `5d53ef8d5 <https://github.com/open-power/hostboot/commit/5d53ef8d5>`__ PRD: Only temporarily disable dynMemDealloc for OCMBs
+-  `04c8dbb78 <https://github.com/open-power/hostboot/commit/04c8dbb78>`__ PRD: Fix tracing in cleanupChnlAttns workaround
+-  `8a7983ebe <https://github.com/open-power/hostboot/commit/8a7983ebe>`__ PRD: Adjust return code when resetting DSLTFIR for OCMB
+   attns
+-  `bcabe6e22 <https://github.com/open-power/hostboot/commit/bcabe6e22>`__ PRD: Use the same MNFG Mem CE Thr for all DRAM densities
+-  `cca3ddf35 <https://github.com/open-power/hostboot/commit/cca3ddf35>`__ PRD: Add Additional TLX Error Report Regs to FFDC
+-  `896a0ff76 <https://github.com/open-power/hostboot/commit/896a0ff76>`__ MDIA: Reenable restoreDramRepairs in memdiags
+-  `e6eb4089f <https://github.com/open-power/hostboot/commit/e6eb4089f>`__ PRD: Update IUE thr triggers chnl fail instead of port
+   fail
+
+Chen Du (1):
+
+-  `d6a35a476 <https://github.com/open-power/hostboot/commit/d6a35a476>`__ Dimm FAPI\_POS update
+
+Christian Geddes (6):
+
+-  `967ca2cc7 <https://github.com/open-power/hostboot/commit/967ca2cc7>`__ Handle fapi2 getChildren for OCMB targets
+-  `f98b8f4d6 <https://github.com/open-power/hostboot/commit/f98b8f4d6>`__ Port MCTP and PLDM stacks to P9
+-  `aa7a85e18 <https://github.com/open-power/hostboot/commit/aa7a85e18>`__ MCTP: Address double free issue seen during istep 6.6
+-  `f1bf839ad <https://github.com/open-power/hostboot/commit/f1bf839ad>`__ Fix bad port of LPC workaround for MCTP over LPC
+-  `40f262bcb <https://github.com/open-power/hostboot/commit/40f262bcb>`__ Make the task\_type of the pldm\_extended module be
+   INIT\_TASK
+-  `938535910 <https://github.com/open-power/hostboot/commit/938535910>`__ Workaround to load WOF lid from BMC in Tacoma
+
+Christian R Geddes (1):
+
+-  `38aed2e2f <https://github.com/open-power/hostboot/commit/38aed2e2f>`__ Revert "Blank file commit for dstlfir workaround"
+
+Corey Swenson (3):
+
+-  `36b16d351 <https://github.com/open-power/hostboot/commit/36b16d351>`__ Move the clearing of DIMM\_BAD\_DQ\_DATA to istep 7.1
+-  `16e8000d0 <https://github.com/open-power/hostboot/commit/16e8000d0>`__ Delete error logs at end of HWP\_INVOKE
+-  `4df8a9f9a <https://github.com/open-power/hostboot/commit/4df8a9f9a>`__ Add trace-lite tools to hostboot
+
+Dan Crowell (8):
+
+-  `0cbfa4df9 <https://github.com/open-power/hostboot/commit/0cbfa4df9>`__ Increase timeout for nvdimm status during arm
+-  `00f32c7b6 <https://github.com/open-power/hostboot/commit/00f32c7b6>`__ Temporarily disable OCMB comm tests
+-  `a7d60085f <https://github.com/open-power/hostboot/commit/a7d60085f>`__ Update eecache with new SPD
+-  `ef0fd93a6 <https://github.com/open-power/hostboot/commit/ef0fd93a6>`__ Allow GENERICI2CSLAVE children of OCMB targets
+-  `adfb175c5 <https://github.com/open-power/hostboot/commit/adfb175c5>`__ Run Explorer FW Update in parallel
+-  `5744d86f2 <https://github.com/open-power/hostboot/commit/5744d86f2>`__ Trigger reboot after OCMB firmware update
+-  `21406eedb <https://github.com/open-power/hostboot/commit/21406eedb>`__ Fix some mss istep dependency issues
+-  `449a1d765 <https://github.com/open-power/hostboot/commit/449a1d765>`__ Disable Centaur sensor cache during VPD write request
+
+Dan Larson (1):
+
+-  `ebb7f0778 <https://github.com/open-power/hostboot/commit/ebb7f0778>`__ Increase CUMULUS\_CDIMM timeout to 75 minutes
+
+Daniel M Crowell (1):
+
+-  `ea90451a8 <https://github.com/open-power/hostboot/commit/ea90451a8>`__ Revert "Move kind library to generic"
+
+Ilya Smirnov (3):
+
+-  `0e3727a5f <https://github.com/open-power/hostboot/commit/0e3727a5f>`__ Run distributeSmfMem on FSP Systems
+-  `4d5564e4b <https://github.com/open-power/hostboot/commit/4d5564e4b>`__ PLDM File IO: Get MCL Lids via PLDM
+-  `90cdc643d <https://github.com/open-power/hostboot/commit/90cdc643d>`__ Use TEMP Side In PLDM File IO
+
+Jayashankar Padath (3):
+
+-  `bf351bba0 <https://github.com/open-power/hostboot/commit/bf351bba0>`__ HDAT: Fix to update the system type
+-  `7e53ed88f <https://github.com/open-power/hostboot/commit/7e53ed88f>`__ HDAT: Update on the platform IPL side
+-  `878a64651 <https://github.com/open-power/hostboot/commit/878a64651>`__ HDAT: Value change on the platform IPL side
+
+Joachim Fenkes (3):
+
+-  `e64d23858 <https://github.com/open-power/hostboot/commit/e64d23858>`__ FAPI2: Add static compile time checks for some Target
+   methods
+-  `881562e7b <https://github.com/open-power/hostboot/commit/881562e7b>`__ FAPI2: Add target method to safely construct reduced-type
+   targets
+-  `985c85f0e <https://github.com/open-power/hostboot/commit/985c85f0e>`__ FAPI2: Stricter checks for getChildren
+
+Joe McGill (1):
+
+-  `10a6ca392 <https://github.com/open-power/hostboot/commit/10a6ca392>`__ Enable OBUS DL HW fix for p9c DD1.3
+
+Li Meng (14):
+
+-  `48befbce6 <https://github.com/open-power/hostboot/commit/48befbce6>`__ Adds LRDIMM MWD coarse training step
+-  `b67e7b02e <https://github.com/open-power/hostboot/commit/b67e7b02e>`__ Creates LRDIMM mrep/dwl calibration recorder class
+-  `83e105f61 <https://github.com/open-power/hostboot/commit/83e105f61>`__ Adds LRDIMM MWD fine training step
+-  `d751613d4 <https://github.com/open-power/hostboot/commit/d751613d4>`__ Adds error logging features to LRDIMM MRD\_COARSE
+-  `a40f39c43 <https://github.com/open-power/hostboot/commit/a40f39c43>`__ Adds workaround for LRDIMM to clear FIRs
+-  `ae49a214c <https://github.com/open-power/hostboot/commit/ae49a214c>`__ Adds new algorithm for DWL
+-  `435f43e78 <https://github.com/open-power/hostboot/commit/435f43e78>`__ Adds error logging features to LRDIMM MWD\_COARSE
+-  `9363dfe48 <https://github.com/open-power/hostboot/commit/9363dfe48>`__ Adds RAS features to LRDIMM MRD\_FINE and use
+   fine\_recorder class
+-  `ca8335916 <https://github.com/open-power/hostboot/commit/ca8335916>`__ Fixes LRDIMM training issue
+-  `6dee960a2 <https://github.com/open-power/hostboot/commit/6dee960a2>`__ Adds LRDIMM coarse class
+-  `f36692fbd <https://github.com/open-power/hostboot/commit/f36692fbd>`__ Fixes LRDIMM set rank presence bug
+-  `5408446c6 <https://github.com/open-power/hostboot/commit/5408446c6>`__ Fixes for missing error check in MRD\_FINE
+-  `6dbeb72ff <https://github.com/open-power/hostboot/commit/6dbeb72ff>`__ Adds error logging features to LRDIMM MWD\_FINE
+-  `1137f37ae <https://github.com/open-power/hostboot/commit/1137f37ae>`__ Fixes for LRDIMM dual drop DB training
+
+Louis Stermole (29):
+
+-  `27ca327c8 <https://github.com/open-power/hostboot/commit/27ca327c8>`__ Fix restore DRAM repairs to skip non-existent spare
+   nibbles on Explorer
+-  `82fec3881 <https://github.com/open-power/hostboot/commit/82fec3881>`__ Add empty files for HB commit 97450
+-  `85f42ae3c <https://github.com/open-power/hostboot/commit/85f42ae3c>`__ Update exp\_omi\_train\_check polling to avoid scom read
+   errors
+-  `a75cc465a <https://github.com/open-power/hostboot/commit/a75cc465a>`__ Check Explorer FW version and store in attrs in HWPs
+-  `cb6a25a2c <https://github.com/open-power/hostboot/commit/cb6a25a2c>`__ Update TXSDLL setting to 1024 per JESD79-D for Explorer
+-  `2b424ad43 <https://github.com/open-power/hostboot/commit/2b424ad43>`__ Add FIR checking to \*\_omi\_train\_check fail path
+-  `9a6108787 <https://github.com/open-power/hostboot/commit/9a6108787>`__ Add throttle and power settings to exp\_scominit
+-  `e0aba037e <https://github.com/open-power/hostboot/commit/e0aba037e>`__ Fix endianness switching in new FW\_ADAPTER\_PROPERTIES
+   code
+-  `4be6a9822 <https://github.com/open-power/hostboot/commit/4be6a9822>`__ Mask DLx\_ERROR\_HOLD tx side errors on Exp and Axone
+-  `e56861871 <https://github.com/open-power/hostboot/commit/e56861871>`__ Add p9a DDIMM SPD revision plug rules
+-  `9382299da <https://github.com/open-power/hostboot/commit/9382299da>`__ Add Explorer B.0 support in ddimm\_get\_efd
+-  `b76217d67 <https://github.com/open-power/hostboot/commit/b76217d67>`__ Fix inverted mask value in trace of manual FIR checks
+-  `9ccf79cd3 <https://github.com/open-power/hostboot/commit/9ccf79cd3>`__ Fix encoding for DRAM\_MODULE\_HEIGHT for 4U
+-  `44897659b <https://github.com/open-power/hostboot/commit/44897659b>`__ Add attributes and SPD decode for secondary DDIMM thermal
+   sensors
+-  `0c51e130d <https://github.com/open-power/hostboot/commit/0c51e130d>`__ Add new decode of EFD ODT impedance for DDIMM SPD 0.4
+-  `e370d9b50 <https://github.com/open-power/hostboot/commit/e370d9b50>`__ Add EFD decodes for DDIMM RCD attributes
+-  `4d05669fc <https://github.com/open-power/hostboot/commit/4d05669fc>`__ Move Explorer UNIT\_TOP FIR unmasks into exp\_omi\_setup
+-  `0bb0e6b49 <https://github.com/open-power/hostboot/commit/0bb0e6b49>`__ Fix attribute enum for Smart in
+   ATTR\_MEM\_EFF\_MODULE\_MFG\_ID
+-  `57a6d8e5a <https://github.com/open-power/hostboot/commit/57a6d8e5a>`__ Fix memory attributes that have both a default and
+   initToZero tags
+-  `7c92b2e3d <https://github.com/open-power/hostboot/commit/7c92b2e3d>`__ Fix exp\_fw\_log, and add wrapper
+-  `d65d97199 <https://github.com/open-power/hostboot/commit/d65d97199>`__ Move Explorer obj handle and cmd flag setup from
+   exp\_scominit to exp\_omi\_init
+-  `12a287941 <https://github.com/open-power/hostboot/commit/12a287941>`__ Fix duplicate symbol errors from DEFAULT\_MC\_TYPE
+-  `e3601cec6 <https://github.com/open-power/hostboot/commit/e3601cec6>`__ Explorer FIR cleanup
+-  `cba475719 <https://github.com/open-power/hostboot/commit/cba475719>`__ Support multiple revisions of user\_input\_msdg\_t
+-  `28f61d13e <https://github.com/open-power/hostboot/commit/28f61d13e>`__ Add check in gen\_throttle for divide by zero
+-  `4d8cac242 <https://github.com/open-power/hostboot/commit/4d8cac242>`__ Explorer thermal sensor polling updates
+-  `40896560c <https://github.com/open-power/hostboot/commit/40896560c>`__ Remove DDIMM thermal sensor DRAM\_AND\_PMIC usage
+-  `27cf4344f <https://github.com/open-power/hostboot/commit/27cf4344f>`__ Change memory throttle float conversions for trace to
+   uint32
+-  `c4118dbd5 <https://github.com/open-power/hostboot/commit/c4118dbd5>`__ Add support for secondary DDIMM thermal sensors
+
+Luis Fernandez (1):
+
+-  `d629ce10b <https://github.com/open-power/hostboot/commit/d629ce10b>`__ Fix Intermittent FIPS Build Failure
+
+Mark Pizzutillo (32):
+
+-  `f8aa97dd7 <https://github.com/open-power/hostboot/commit/f8aa97dd7>`__ Tokenize attributes for ATTR\_I2C\_DEV\_TYPE
+-  `6923d6325 <https://github.com/open-power/hostboot/commit/6923d6325>`__ Fix attribute encoding for PREAMBLE attribute
+-  `8e10bc15b <https://github.com/open-power/hostboot/commit/8e10bc15b>`__ Update PMIC disabling pre-enable to make use of sequence
+   attributes
+-  `e510e8b58 <https://github.com/open-power/hostboot/commit/e510e8b58>`__ Add blank file for pmic\_attributes.xml
+-  `e6a416c71 <https://github.com/open-power/hostboot/commit/e6a416c71>`__ Add support for PMIC 4U enable
+-  `ca462d844 <https://github.com/open-power/hostboot/commit/ca462d844>`__ Fixes for PMIC 4U Enable
+-  `35257f51c <https://github.com/open-power/hostboot/commit/35257f51c>`__ Fix F0RC1x offset train display bug
+-  `3be8b0403 <https://github.com/open-power/hostboot/commit/3be8b0403>`__ Update ADC setting for ALERT\_PIN\_CFG for PMIC 4U
+-  `1ea8cd47e <https://github.com/open-power/hostboot/commit/1ea8cd47e>`__ Suppress Wide character in print errors
+-  `11435b168 <https://github.com/open-power/hostboot/commit/11435b168>`__ Fix 4U enable to work when efuse is already enabled
+-  `f6f95de35 <https://github.com/open-power/hostboot/commit/f6f95de35>`__ PMIC 4U - Add 4 new GPIO init steps
+-  `a8c636919 <https://github.com/open-power/hostboot/commit/a8c636919>`__ PMIC Enable and Lab Tool Optimizations
+-  `861931b03 <https://github.com/open-power/hostboot/commit/861931b03>`__ Fix support for revision 0.4 SPD
+-  `72d08f6b7 <https://github.com/open-power/hostboot/commit/72d08f6b7>`__ Add support for PMIC current consumption warning fields
+-  `df3467291 <https://github.com/open-power/hostboot/commit/df3467291>`__ Add RCD timing attributes for 4U
+-  `59603a869 <https://github.com/open-power/hostboot/commit/59603a869>`__ Fix EKB compile fail due to latch\_wr\_vref error
+-  `8228f9fd5 <https://github.com/open-power/hostboot/commit/8228f9fd5>`__ Port latch\_wr\_vref to generic (Part 1.5)
+-  `73e0f5ff0 <https://github.com/open-power/hostboot/commit/73e0f5ff0>`__ Add platform accessor for GPIO + ADC i2c addresses
+-  `770556888 <https://github.com/open-power/hostboot/commit/770556888>`__ Port latch\_wr\_vref to generic (Part 1)
+-  `5318d0fc6 <https://github.com/open-power/hostboot/commit/5318d0fc6>`__ Add support for PMIC 1U/2U PWR\_GOOD IO Mode
+-  `b87ca4bf9 <https://github.com/open-power/hostboot/commit/b87ca4bf9>`__ Port latch\_wr\_vref to generic (Part 1.5a)
+-  `a0d8da2d9 <https://github.com/open-power/hostboot/commit/a0d8da2d9>`__ Port latch\_wr\_vref to generic (Part 2+3)
+-  `2ca2bb3c9 <https://github.com/open-power/hostboot/commit/2ca2bb3c9>`__ Revert "Add support for PMIC 1U/2U PWR\_GOOD IO Mode"
+-  `0092646c2 <https://github.com/open-power/hostboot/commit/0092646c2>`__ Update explorer CCS ODTs to support mirroring A-B
+-  `6bd5227d7 <https://github.com/open-power/hostboot/commit/6bd5227d7>`__ Fix modal\_symbol\_count port
+-  `c95384931 <https://github.com/open-power/hostboot/commit/c95384931>`__ Add attribute to control pmic 4U pairs to enable
+-  `7a57510f8 <https://github.com/open-power/hostboot/commit/7a57510f8>`__ Max out PMIC soft stop time for 4U DDIMMs
+-  `5c229da43 <https://github.com/open-power/hostboot/commit/5c229da43>`__ Small code fixes for PMIC 4U soft stop time algorithm
+-  `a62a7bea5 <https://github.com/open-power/hostboot/commit/a62a7bea5>`__ Improve Explorer command error trace
+-  `feadf1caf <https://github.com/open-power/hostboot/commit/feadf1caf>`__ Add support for PMIC 4U Fail-In-Place Redundancy
+-  `004f1c53b <https://github.com/open-power/hostboot/commit/004f1c53b>`__ PMIC Enable Updates for soft-start/stop, VIN, etc.
+-  `29cdc26e2 <https://github.com/open-power/hostboot/commit/29cdc26e2>`__ Perform PMIC soft start time workaround for 1U/2U
+
+Matt Derksen (2):
+
+-  `0c2a399ee <https://github.com/open-power/hostboot/commit/0c2a399ee>`__ Wait appropriate time after enabling notifications in
+   nvdimmArm()
+-  `a71e1b334 <https://github.com/open-power/hostboot/commit/a71e1b334>`__ Mask nvdimm during restore to prevent PRD error
+
+Matthew Hickman (9):
+
+-  `f9e7de0c0 <https://github.com/open-power/hostboot/commit/f9e7de0c0>`__ Blank file commit for dstlfir workaround
+-  `ad63e26bd <https://github.com/open-power/hostboot/commit/ad63e26bd>`__ Added restore repairs generic blank files
+-  `6f50efd41 <https://github.com/open-power/hostboot/commit/6f50efd41>`__ Added restore repairs generic
+-  `62be8e37c <https://github.com/open-power/hostboot/commit/62be8e37c>`__ Fixed the ccs port merge conflicts and added lab code
+-  `a55d71421 <https://github.com/open-power/hostboot/commit/a55d71421>`__ Added port of MRS engine to generic
+-  `5fb6459d6 <https://github.com/open-power/hostboot/commit/5fb6459d6>`__ Added MRS attributes and MRS data handling for Explorer
+-  `7edcb6c35 <https://github.com/open-power/hostboot/commit/7edcb6c35>`__ Added blank files for row repair
+-  `90032368e <https://github.com/open-power/hostboot/commit/90032368e>`__ Added missing row repair files
+-  `30bdce784 <https://github.com/open-power/hostboot/commit/30bdce784>`__ Added row repair hwp for explorer
+
+Michael Baiocchi (1):
+
+-  `164836280 <https://github.com/open-power/hostboot/commit/164836280>`__ Redo "Terminate the IPL for Physical Presence Detection
+   Errors in Mnfg Mode"
+
+Mike Baiocchi (19):
+
+-  `dfa24928d <https://github.com/open-power/hostboot/commit/dfa24928d>`__ Improve Attribute Syncing For Key Clear Requests
+-  `829007de4 <https://github.com/open-power/hostboot/commit/829007de4>`__ Limit fapi2 attributes that are dumped
+-  `114fa85e6 <https://github.com/open-power/hostboot/commit/114fa85e6>`__ Create Informational Error Log for
+   KEY\_CLEAR\_REQUST\_MFG
+-  `a1c13b524 <https://github.com/open-power/hostboot/commit/a1c13b524>`__ Clear FW Secure Version field in HDAT
+-  `be66eacff <https://github.com/open-power/hostboot/commit/be66eacff>`__ Add Support UCD9090A Device and ZZ Gen4 Backplane Devices
+-  `1a912de30 <https://github.com/open-power/hostboot/commit/1a912de30>`__ Remove KEY\_CLEAR\_REQUEST\_PEF\_SSO enum
+-  `fb01b20d7 <https://github.com/open-power/hostboot/commit/fb01b20d7>`__ Add Support UCD9090A Device and ZZ Gen4 Backplane Devices
+-  `6ffc41b01 <https://github.com/open-power/hostboot/commit/6ffc41b01>`__ Create new attributes to support sharing FW Secure
+   Version Information
+-  `7e1061864 <https://github.com/open-power/hostboot/commit/7e1061864>`__ Update bbuild to b0629a\_2026.950
+-  `d948f76c8 <https://github.com/open-power/hostboot/commit/d948f76c8>`__ Anti-Rollback Support: Adding Secure Version to Signed
+   Containers
+-  `618107d4b <https://github.com/open-power/hostboot/commit/618107d4b>`__ Anti-Rollback Support: Secure Version passed from HBBL to
+   HDAT
+-  `d7531ce49 <https://github.com/open-power/hostboot/commit/d7531ce49>`__ Anti-Rollback Support: Updating SecureROM to check for
+   Secure Version
+-  `7f2e0136f <https://github.com/open-power/hostboot/commit/7f2e0136f>`__ Anti-Rollback Support: Properly use "Minimum" Secure
+   Version
+-  `1ac08dd03 <https://github.com/open-power/hostboot/commit/1ac08dd03>`__ Key Clear: Fix Hostboot GPIO processing on multi-node
+   systems
+-  `0494a8f6f <https://github.com/open-power/hostboot/commit/0494a8f6f>`__ Anti-Rollback Support: Add Secure Version to Tracing and
+   Logs
+-  `4955889df <https://github.com/open-power/hostboot/commit/4955889df>`__ Anti-Rollback Support: Update Secure Version During SBE
+   Update
+-  `05bcd5126 <https://github.com/open-power/hostboot/commit/05bcd5126>`__ Anti-Rollback Support: Add Security Checks for Secure
+   Version
+-  `290fa6652 <https://github.com/open-power/hostboot/commit/290fa6652>`__ Clear Key Clear Request field in HDAT when Key Clear is
+   not enabled
+-  `6e765873e <https://github.com/open-power/hostboot/commit/6e765873e>`__ Do Not Export SECURE\_VERSION Attributes to the MRW
+
+Murulidhar Nataraju (2):
+
+-  `5639570c7 <https://github.com/open-power/hostboot/commit/5639570c7>`__ Disable MPIPL dump collection for OPAl based
+   systems(Fips950/master)
+-  `ca08c6423 <https://github.com/open-power/hostboot/commit/ca08c6423>`__ Fips950 Disable MPIPL Dump, Update sendMboxMsg()
+
+Nick Bofferding (2):
+
+-  `a6cceeddf <https://github.com/open-power/hostboot/commit/a6cceeddf>`__ Fix page coalescing for regions past initial cache
+   allocation
+-  `5a5fd8f0b <https://github.com/open-power/hostboot/commit/5a5fd8f0b>`__ Workaround: Force 4,1 byte reads/writes for LPC FW space
+
+Paul Grohowski (1):
+
+-  `e5adfac19 <https://github.com/open-power/hostboot/commit/e5adfac19>`__ Adds additional precanned march tests for mcbist
+
+Prasad Bg Ranganath (1):
+
+-  `f174e0de2 <https://github.com/open-power/hostboot/commit/f174e0de2>`__ PM HWP: Skip logging error if ccsr doesn't match with the
+   core target state
+
+Prem Shanker Jha (1):
+
+-  `b4cd81ba1 <https://github.com/open-power/hostboot/commit/b4cd81ba1>`__ pm callout: Added support for logging PFET Header error
+   detection.
+
+Rahul Batra (2):
+
+-  `08548d6f8 <https://github.com/open-power/hostboot/commit/08548d6f8>`__ PM: NACK disable and OCC notification
+-  `dadfff45b <https://github.com/open-power/hostboot/commit/dadfff45b>`__ PM: Process C405\_ECC\_UE FIR
+
+Roland Veloz (2):
+
+-  `c24fa8d27 <https://github.com/open-power/hostboot/commit/c24fa8d27>`__ Force the refresh/update of attribute overrides at the
+   point of retrieval
+-  `51d983838 <https://github.com/open-power/hostboot/commit/51d983838>`__ Fix issue with the callout\_ud::Flag data
+
+Ryan Black (1):
+
+-  `202854d7c <https://github.com/open-power/hostboot/commit/202854d7c>`__ Third set of changes to enable multi-node fleetwood
+
+Sneha Kadam (2):
+
+-  `06f86049b <https://github.com/open-power/hostboot/commit/06f86049b>`__ Update CAC MCBIST defaults
+-  `e57a240a7 <https://github.com/open-power/hostboot/commit/e57a240a7>`__ Improve mss\_draminit\_training prints for Nimbus
+
+Stephen Glancy (34):
+
+-  `5564c6e01 <https://github.com/open-power/hostboot/commit/5564c6e01>`__ Updates Centaur's refresh priority to 0
+-  `2c7fd24b8 <https://github.com/open-power/hostboot/commit/2c7fd24b8>`__ Updates Explorer's refresh priority to 0
+-  `1887c7fc5 <https://github.com/open-power/hostboot/commit/1887c7fc5>`__ Updates Nimbus's refresh priority to 0
+-  `1bba3d97d <https://github.com/open-power/hostboot/commit/1bba3d97d>`__ Adds explorer simple response error code to callout
+-  `b6d523412 <https://github.com/open-power/hostboot/commit/b6d523412>`__ Fixes explorer PHY init command flags
+-  `67d1f4e7c <https://github.com/open-power/hostboot/commit/67d1f4e7c>`__ Fixes Nimbus broadcast mode configuration logic
+-  `4f0932663 <https://github.com/open-power/hostboot/commit/4f0932663>`__ Adds Explorer PHY reset blankfiles
+-  `b66e5bafb <https://github.com/open-power/hostboot/commit/b66e5bafb>`__ Adds explorer PHY init tool
+-  `89219972a <https://github.com/open-power/hostboot/commit/89219972a>`__ Adds generic LRDIMM VREF calibration algorithm
+-  `cb49aa16e <https://github.com/open-power/hostboot/commit/cb49aa16e>`__ Fixes LRDIMM m386a8k40cm2\_ctd7y workaround for cronus
+-  `bdca64086 <https://github.com/open-power/hostboot/commit/bdca64086>`__ Adds Exp FW version check for PHY reset
+-  `92ad38600 <https://github.com/open-power/hostboot/commit/92ad38600>`__ Fixes explorer's non-existant spare byte logic
+-  `db8356bc2 <https://github.com/open-power/hostboot/commit/db8356bc2>`__ Adds LRDIMM DWL training step
+-  `7d833ab19 <https://github.com/open-power/hostboot/commit/7d833ab19>`__ Adds LRDIMM helper functions
+-  `c385cb0ac <https://github.com/open-power/hostboot/commit/c385cb0ac>`__ Adds LRDIMM MRD - DRAM to buffer RD calibration
+-  `fdf148879 <https://github.com/open-power/hostboot/commit/fdf148879>`__ Adds error logging features to LRDIMM DWL
+-  `6e1bd7a31 <https://github.com/open-power/hostboot/commit/6e1bd7a31>`__ Creates LRDIMM fine calibration recorder class
+-  `e04b9f876 <https://github.com/open-power/hostboot/commit/e04b9f876>`__ Adds MRD coarse
+-  `7c004085e <https://github.com/open-power/hostboot/commit/7c004085e>`__ Updates MWD\_COARSE to run multiple patterns
+-  `162882053 <https://github.com/open-power/hostboot/commit/162882053>`__ Fixes LRDIMM rank configuration for dual-drop
+-  `76458d225 <https://github.com/open-power/hostboot/commit/76458d225>`__ Updates CCS to run with quad encoded chip select
+-  `ad8ca5af2 <https://github.com/open-power/hostboot/commit/ad8ca5af2>`__ Updates LRDIMM final value prints
+-  `0a34f054a <https://github.com/open-power/hostboot/commit/0a34f054a>`__ Fixes LRDIMM command to command timing
+-  `cdc4f1d24 <https://github.com/open-power/hostboot/commit/cdc4f1d24>`__ Adds generic LRDIMM VREF calibration algorithm
+-  `994518198 <https://github.com/open-power/hostboot/commit/994518198>`__ Enables LRDIMM support
+-  `80bc38b2e <https://github.com/open-power/hostboot/commit/80bc38b2e>`__ Updates Exp SPD revision check for revision and content
+-  `cfe22384f <https://github.com/open-power/hostboot/commit/cfe22384f>`__ Fixes LRDIMM RHEL7 compile warnings
+-  `aef73dab2 <https://github.com/open-power/hostboot/commit/aef73dab2>`__ Fixes 2666 CCS workaround for 4U DDIMMs
+-  `524ac2879 <https://github.com/open-power/hostboot/commit/524ac2879>`__ Adds blankfile for SPD version lookups
+-  `8804d964f <https://github.com/open-power/hostboot/commit/8804d964f>`__ Fixes centaur scrubrate for 16gb
+-  `ebf7b47b2 <https://github.com/open-power/hostboot/commit/ebf7b47b2>`__ Adds Explorer SPD lookup autogeneration
+-  `7eafce207 <https://github.com/open-power/hostboot/commit/7eafce207>`__ Updates exp SPD check to use MFG, height, and size
+-  `e9cd0b2f5 <https://github.com/open-power/hostboot/commit/e9cd0b2f5>`__ Adds lab tool to check explorer SPD revision
+-  `f23a497bb <https://github.com/open-power/hostboot/commit/f23a497bb>`__ Fixes explorer RCD EFD byte swaps
+
+Thi Tran (1):
+
+-  `7b929b7fd <https://github.com/open-power/hostboot/commit/7b929b7fd>`__ Fix Cronus memory fault in error path
+
+William G Hoffa (1):
+
+-  `23e947552 <https://github.com/open-power/hostboot/commit/23e947552>`__ Revert "Add Support UCD9090A Device and ZZ Gen4 Backplane
+   Devices"
+
+Yue Du (1):
+
+-  `230e31611 <https://github.com/open-power/hostboot/commit/230e31611>`__ PFET: detect bad pfet through cme sgpe plumbling
+
+Zach Clark (2):
+
+-  `aa2e2ac80 <https://github.com/open-power/hostboot/commit/aa2e2ac80>`__ Only check MC\_SYNC\_MODE for SCOM multicast workaround
+   on Nimbus
+-  `b8d9cda66 <https://github.com/open-power/hostboot/commit/b8d9cda66>`__ Fix mask calculation for ATTR\_PROC\_PCIE\_PHB\_ACTIVE
+   mask
+
+Zane Shelley (10):
+
+-  `508f9fe20 <https://github.com/open-power/hostboot/commit/508f9fe20>`__ PRD: Reduce HW callout severity for L3 cache inhibited op
+-  `707f7a105 <https://github.com/open-power/hostboot/commit/707f7a105>`__ PRD: disable analysis to Axone NPU targets
+-  `7a71358b3 <https://github.com/open-power/hostboot/commit/7a71358b3>`__ PRD: Mask NPU chiplet FIR on NPU attention (Axone only)
+-  `93010119f <https://github.com/open-power/hostboot/commit/93010119f>`__ PRD: special GARD policy for NPU FIRs
+-  `4c0995422 <https://github.com/open-power/hostboot/commit/4c0995422>`__ add new OpenCAPI adapter part callout enum
+-  `0a7687b4b <https://github.com/open-power/hostboot/commit/0a7687b4b>`__ PRD: Update PRD simulator to support 64-bit
+-  `e4fe5bbfb <https://github.com/open-power/hostboot/commit/e4fe5bbfb>`__ PRD: fix callouts when both MF clock fail
+-  `3fbac2e5c <https://github.com/open-power/hostboot/commit/3fbac2e5c>`__ PRD: OpenCAPI CRC/NAK errors should be predictive on
+   threshold
+-  `33d8faf0f <https://github.com/open-power/hostboot/commit/33d8faf0f>`__ PRD: stale data used for OCMB attn workaround
+-  `83b779af0 <https://github.com/open-power/hostboot/commit/83b779af0>`__ PRD: allow PRD::main() accept OCMB chips
+
+shlimeng (1):
+
+-  `a5742af70 <https://github.com/open-power/hostboot/commit/a5742af70>`__ Add new algorithm for MREP and error log
+
+Package: mihawk-xml
+-------------------
+
+`Repository <https://github.com/open-power/mihawk-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+NicholeWang (2):
+
+-  `8efcc79 <https://github.com/open-power/mihawk-xml/commit/8efcc79>`__ Replace the MEMD file to solve the Memory detection issue
+   (#6)
+-  `b1fc7ca <https://github.com/open-power/mihawk-xml/commit/b1fc7ca>`__ Replace the MEMD file to solve the Memory qual TC2 fail
+   issue (#7)
+
+Package: nicole-xml
+-------------------
+
+`Repository <https://github.com/open-power/nicole-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Artem Senichev (1):
+
+-  `ac02557 <https://github.com/open-power/nicole-xml/commit/ac02557>`__ Setup PCIe lane equalization
+
+Package: occ
+------------
+
+`Repository <https://github.com/open-power/occ>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: op-build
+-----------------
+
+`Repository <https://github.com/open-power/op-build>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: p9dsu-xml
+------------------
+
+`Repository <https://github.com/open-power/p9dsu-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: petitboot
+------------------
+
+`Repository <https://github.com/open-power/petitboot>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: pnor
+-------------
+
+`Repository <https://github.com/open-power/pnor>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: romulus-xml
+--------------------
+
+`Repository <https://github.com/open-power/romulus-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: sbe
+------------
+
+`Repository <https://github.com/open-power/sbe>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Amita Banchhor (2):
+
+-  `5b18e7d9 <https://github.com/open-power/sbe/commit/5b18e7d9>`__ FW STATUS logging extended
+-  `e3873b6e <https://github.com/open-power/sbe/commit/e3873b6e>`__ fw\_status logging improved
+
+Andre A. Marin (2):
+
+-  `4b6124f6 <https://github.com/open-power/sbe/commit/4b6124f6>`__ Update SPD for rev 0.3
+-  `42ce353d <https://github.com/open-power/sbe/commit/42ce353d>`__ Fix DDIMM SPD revision fallback for DDIMM
+
+Austin Cui (1):
+
+-  `478676aa <https://github.com/open-power/sbe/commit/478676aa>`__ EKB P9 build fix on RHEL7 systems
+
+Joachim Fenkes (5):
+
+-  `015c13c9 <https://github.com/open-power/sbe/commit/015c13c9>`__ FAPI2: Add FAPI2\_RC\_PLAT\_MISCOMPARE
+-  `3f32fd68 <https://github.com/open-power/sbe/commit/3f32fd68>`__ p9\_sbe\_chiplet\_pll\_setup: Don't unmask PLL unlock errors in
+   bypass mode
+-  `20915f02 <https://github.com/open-power/sbe/commit/20915f02>`__ FAPI2: Add static compile time checks for some Target methods
+-  `04c9316b <https://github.com/open-power/sbe/commit/04c9316b>`__ FAPI2: Add target method to safely construct reduced-type
+   targets
+-  `e0e226a4 <https://github.com/open-power/sbe/commit/e0e226a4>`__ FAPI2: Stricter checks for getChildren
+
+Joe McGill (1):
+
+-  `ec8e1324 <https://github.com/open-power/sbe/commit/ec8e1324>`__ Enable OBUS DL HW fix for p9c DD1.3
+
+Louis Stermole (14):
+
+-  `da1b2af1 <https://github.com/open-power/sbe/commit/da1b2af1>`__ Fix DL\_OMI\_FIR unmasks after p9\_chiplet\_scominit to be DL
+   specific
+-  `35e92de2 <https://github.com/open-power/sbe/commit/35e92de2>`__ Fix restore DRAM repairs to skip non-existent spare nibbles on
+   Explorer
+-  `a4bd21d1 <https://github.com/open-power/sbe/commit/a4bd21d1>`__ Add support for EXP\_FW\_TWI\_FFE\_SETTINGS command
+-  `c6e7a835 <https://github.com/open-power/sbe/commit/c6e7a835>`__ Update exp\_omi\_train\_check polling to avoid scom read errors
+-  `c21a0770 <https://github.com/open-power/sbe/commit/c21a0770>`__ Check Explorer FW version and store in attrs in HWPs
+-  `3e10c795 <https://github.com/open-power/sbe/commit/3e10c795>`__ Add throttle and power settings to exp\_scominit
+-  `7432b245 <https://github.com/open-power/sbe/commit/7432b245>`__ Add FIR checking to \*\_omi\_train\_check fail path
+-  `91793f89 <https://github.com/open-power/sbe/commit/91793f89>`__ Add p9a DDIMM SPD revision plug rules
+-  `2eb005e5 <https://github.com/open-power/sbe/commit/2eb005e5>`__ Fix inverted mask value in trace of manual FIR checks
+-  `19a268be <https://github.com/open-power/sbe/commit/19a268be>`__ Add attributes and SPD decode for secondary DDIMM thermal
+   sensors
+-  `3bfda87d <https://github.com/open-power/sbe/commit/3bfda87d>`__ Add EFD decodes for DDIMM RCD attributes
+-  `a5fea186 <https://github.com/open-power/sbe/commit/a5fea186>`__ Support multiple revisions of user\_input\_msdg\_t
+-  `036f2970 <https://github.com/open-power/sbe/commit/036f2970>`__ Add check in gen\_throttle for divide by zero
+-  `b7141a03 <https://github.com/open-power/sbe/commit/b7141a03>`__ Explorer thermal sensor polling updates
+
+Mark Pizzutillo (4):
+
+-  `97a0beca <https://github.com/open-power/sbe/commit/97a0beca>`__ Add attribute for MODULE\_MFG\_ID
+-  `12a27f13 <https://github.com/open-power/sbe/commit/12a27f13>`__ Fix modal\_symbol\_count port
+-  `72e22bfb <https://github.com/open-power/sbe/commit/72e22bfb>`__ Add support for PMIC 4U enable
+-  `da952e9f <https://github.com/open-power/sbe/commit/da952e9f>`__ Improve Explorer command error trace
+
+Matthew Hickman (3):
+
+-  `6869a637 <https://github.com/open-power/sbe/commit/6869a637>`__ Added MRS attributes and MRS data handling for Explorer
+-  `8c5120f5 <https://github.com/open-power/sbe/commit/8c5120f5>`__ Added steer code for explorer
+-  `ea0389a5 <https://github.com/open-power/sbe/commit/ea0389a5>`__ Added row repair hwp for explorer
+
+Paul Grohowski (1):
+
+-  `3561e8c2 <https://github.com/open-power/sbe/commit/3561e8c2>`__ Adds additional precanned march tests for mcbist
+
+Rahul Batra (1):
+
+-  `d30bd988 <https://github.com/open-power/sbe/commit/d30bd988>`__ PM: NACK disable and OCC notification
+
+Sneha Kadam (1):
+
+-  `224e06f6 <https://github.com/open-power/sbe/commit/224e06f6>`__ Update CAC MCBIST defaults
+
+Srikantha Meesala (1):
+
+-  `c6e54f2b <https://github.com/open-power/sbe/commit/c6e54f2b>`__ Updated customrc file for P9 axone CI
+
+Stephen Glancy (8):
+
+-  `a5aa22f2 <https://github.com/open-power/sbe/commit/a5aa22f2>`__ Updates WR VREF accessors to be generic
+-  `e619571b <https://github.com/open-power/sbe/commit/e619571b>`__ Migrates MRS RTT swap functionality to generic
+-  `86804951 <https://github.com/open-power/sbe/commit/86804951>`__ Adds explorer Per DRAM Addressability
+-  `5d26062c <https://github.com/open-power/sbe/commit/5d26062c>`__ Adds explorer simple response error code to callout
+-  `438f29c2 <https://github.com/open-power/sbe/commit/438f29c2>`__ Adds generic LRDIMM VREF calibration algorithm
+-  `a762d9d1 <https://github.com/open-power/sbe/commit/a762d9d1>`__ Fixes LRDIMM m386a8k40cm2\_ctd7y workaround for cronus
+-  `41633221 <https://github.com/open-power/sbe/commit/41633221>`__ Updates Exp SPD revision check for revision and content
+-  `7ec13833 <https://github.com/open-power/sbe/commit/7ec13833>`__ Updates exp SPD check to use MFG, height, and size
+
+Sunil Kumar (3):
+
+-  `a6fbe229 <https://github.com/open-power/sbe/commit/a6fbe229>`__ Enable i2c procedures for PPE compilation.
+-  `8eb2981a <https://github.com/open-power/sbe/commit/8eb2981a>`__ OCMB target support in PPE.
+-  `089b63b3 <https://github.com/open-power/sbe/commit/089b63b3>`__ To support multiple target type for an attribute.
+
+Thi Tran (1):
+
+-  `ac65f20e <https://github.com/open-power/sbe/commit/ac65f20e>`__ Fix Cronus memory fault in error path
+
+Yue Du (1):
+
+-  `ba7d374f <https://github.com/open-power/sbe/commit/ba7d374f>`__ PFET: detect bad pfet through cme sgpe plumbling
+
+rajerpp1 (2):
+
+-  `af720656 <https://github.com/open-power/sbe/commit/af720656>`__ Fixed issue L2/L3 flush failure during MPIPL
+-  `6ad6e0f5 <https://github.com/open-power/sbe/commit/6ad6e0f5>`__ added ODL reset in quiesce procedure
+
+Package: skiboot
+----------------
+
+`Repository <https://github.com/open-power/skiboot>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+Andrew Donnellan (1):
+
+-  `75198f66 <https://github.com/open-power/skiboot/commit/75198f66>`__ hw/phys-map: Fix OCAPI\_MEM BAR values
+
+Anton Blanchard (1):
+
+-  `4f81ec3d <https://github.com/open-power/skiboot/commit/4f81ec3d>`__ external/mambo Update SIM\_CTRL1
+
+Benjamin Herrenschmidt (7):
+
+-  `1df445d7 <https://github.com/open-power/skiboot/commit/1df445d7>`__ xive: Set the fused core mode properly
+-  `e49a52f0 <https://github.com/open-power/skiboot/commit/e49a52f0>`__ chip: Fix pir\_to\_thread\_id for fused cores
+-  `98f58342 <https://github.com/open-power/skiboot/commit/98f58342>`__ cpu: Keep track of the "ec\_primary" in big core more
+-  `eb344bda <https://github.com/open-power/skiboot/commit/eb344bda>`__ direct-ctl: Use the EC primary for special wakeups
+-  `1629c851 <https://github.com/open-power/skiboot/commit/1629c851>`__ slw: Limit fused cores P9 to STOP0/1/2
+-  `6b403d06 <https://github.com/open-power/skiboot/commit/6b403d06>`__ cpu: Make cpu\_get\_core\_index() return the fused core
+   number
+-  `d9c7d683 <https://github.com/open-power/skiboot/commit/d9c7d683>`__ imc: Use pir\_to\_core\_id() rather than
+   cpu\_get\_core\_index()
+
+Claudio Carvalho (1):
+
+-  `ed8436b2 <https://github.com/open-power/skiboot/commit/ed8436b2>`__ core/flash.c: add SECBOOT read and write support
+
+Cédric Le Goater (16):
+
+-  `65cd7f29 <https://github.com/open-power/skiboot/commit/65cd7f29>`__ xive/p9: Introduce XIVE\_INT\_ORDER
+-  `2476b5b5 <https://github.com/open-power/skiboot/commit/2476b5b5>`__ xive/p9: Clarify the global IRQ number encoding
+-  `bd70a097 <https://github.com/open-power/skiboot/commit/bd70a097>`__ xive/p9: Introduce XIVE\_ESB\_SHIFT
+-  `fbbe2b04 <https://github.com/open-power/skiboot/commit/fbbe2b04>`__ xive/p9: Introduce XIVE\_EQ\_ORDER
+-  `770cbf42 <https://github.com/open-power/skiboot/commit/770cbf42>`__ xive/p9: Clarify the escalation IRQ encoding
+-  `7eccd8dd <https://github.com/open-power/skiboot/commit/7eccd8dd>`__ xive/p9: Introduce XIVE\_EQ\_SHIFT
+-  `aef097bf <https://github.com/open-power/skiboot/commit/aef097bf>`__ xive/p9: Use sizeof() instead of hardcoded values
+-  `6649a32c <https://github.com/open-power/skiboot/commit/6649a32c>`__ xive/p9: Clarify indirect table allocation
+-  `c5e43bf1 <https://github.com/open-power/skiboot/commit/c5e43bf1>`__ xive/p9: Force 64K page size on the IC and TM BARs
+-  `a182665b <https://github.com/open-power/skiboot/commit/a182665b>`__ xive/p9: Modify the size of the VP space
+-  `7b7df505 <https://github.com/open-power/skiboot/commit/7b7df505>`__ xive/p9: Introduce definitions for VP ids of HW threads
+-  `132f5a87 <https://github.com/open-power/skiboot/commit/132f5a87>`__ xive/p9: use PAGE\_SIZE
+-  `66e44fc2 <https://github.com/open-power/skiboot/commit/66e44fc2>`__ xive/p9: Introduce XIVE\_ESB\_SIZE
+-  `cad0fc7c <https://github.com/open-power/skiboot/commit/cad0fc7c>`__ xive/P9: Use NUM\_INT\_PRIORITIES in xive\_reset()
+-  `043725d4 <https://github.com/open-power/skiboot/commit/043725d4>`__ xive/p9: Enforce thread enablement before TIMA accesses
+-  `a7540bd6 <https://github.com/open-power/skiboot/commit/a7540bd6>`__ phb4: Finish removing P9 DD1 workaround on LSIs
+
+Dan Horák (1):
+
+-  `2354698e <https://github.com/open-power/skiboot/commit/2354698e>`__ external/ffspart: define $(sbindir) for Makefile
+
+Eric Richter (20):
+
+-  `e9efd918 <https://github.com/open-power/skiboot/commit/e9efd918>`__ crypto/mbedtls: enable/disable unnecessary features to
+   shrink size
+-  `65192599 <https://github.com/open-power/skiboot/commit/65192599>`__ libstb: remove old mbedtls files
+-  `9cc5f24b <https://github.com/open-power/skiboot/commit/9cc5f24b>`__ libstb/secureboot: expose secureboot\_enforce for later use
+   in secvar
+-  `40f62c92 <https://github.com/open-power/skiboot/commit/40f62c92>`__ include/secvar.h: add .lockdown() hook to secvar storage
+   driver
+-  `b3a13fea <https://github.com/open-power/skiboot/commit/b3a13fea>`__ secvar\_main: rework secvar\_main error flow, make storage
+   locking explicit
+-  `f356c067 <https://github.com/open-power/skiboot/commit/f356c067>`__ secvar\_util: add new helper functions
+-  `262f5e88 <https://github.com/open-power/skiboot/commit/262f5e88>`__ secvar: overhaul secvar struct by removing static sized
+   fields
+-  `84a430a4 <https://github.com/open-power/skiboot/commit/84a430a4>`__ secvar/test: update API tests for new secvar struct
+-  `795f639c <https://github.com/open-power/skiboot/commit/795f639c>`__ secvar\_devtree: add physical presence mode helper
+-  `edafe753 <https://github.com/open-power/skiboot/commit/edafe753>`__ doc/secvar: add document detailing secvar driver API
+-  `1d9fb3ee <https://github.com/open-power/skiboot/commit/1d9fb3ee>`__ secvar/storage: add secvar storage driver for pnor-based p9
+-  `d560710c <https://github.com/open-power/skiboot/commit/d560710c>`__ secvar/storage/fakenv: add fake tpm operations for testing
+-  `05920957 <https://github.com/open-power/skiboot/commit/05920957>`__ secvar/test: add secboot\_tpm storage driver test cases
+-  `11e1ecc0 <https://github.com/open-power/skiboot/commit/11e1ecc0>`__ secvar/storage: add utility tool to generate NV public name
+   hashes
+-  `46f04436 <https://github.com/open-power/skiboot/commit/46f04436>`__ secvar/test: add edk2-compat driver test and test data
+-  `70adef38 <https://github.com/open-power/skiboot/commit/70adef38>`__ witherspoon: enable secvar for witherspoon platform
+-  `e3f0d4eb <https://github.com/open-power/skiboot/commit/e3f0d4eb>`__ tssskiboot.c: chunk reads/writes in 1024-sized buffers to
+   support larger nv indices
+-  `b550f3ec <https://github.com/open-power/skiboot/commit/b550f3ec>`__ secboot\_tpm.c: increase tpmnv vars index size
+-  `5e686a75 <https://github.com/open-power/skiboot/commit/5e686a75>`__ secvar/test: use vendored mbedtls instead of host
+-  `d29b77d9 <https://github.com/open-power/skiboot/commit/d29b77d9>`__ secvar/test: use mbedtls cflags when building the test
+   binaries
+
+Frederic Barrat (1):
+
+-  `afe6bc90 <https://github.com/open-power/skiboot/commit/afe6bc90>`__ platform/mihawk: Tune equalization settings for opencapi
+
+Gautham R. Shenoy (3):
+
+-  `f3ac046b <https://github.com/open-power/skiboot/commit/f3ac046b>`__ sensors: occ: Fix the GPU detection code
+-  `1beb1519 <https://github.com/open-power/skiboot/commit/1beb1519>`__ sensors: occ: Fix a bug when sensor values are zero
+-  `ec3c45f3 <https://github.com/open-power/skiboot/commit/ec3c45f3>`__ occ: Fix false negatives in wait\_for\_all\_occ\_init()
+
+Georgy Yakovlev (1):
+
+-  `47005e8d <https://github.com/open-power/skiboot/commit/47005e8d>`__ opal-prd: handle devtmpfs mounted with noexec
+
+Gustavo Romero (5):
+
+-  `244a8dac <https://github.com/open-power/skiboot/commit/244a8dac>`__ xive: Fix typo and spelling in a comment
+-  `10f68979 <https://github.com/open-power/skiboot/commit/10f68979>`__ xive: Fix two typos in comments
+-  `ea62e756 <https://github.com/open-power/skiboot/commit/ea62e756>`__ xive: Fix typos in comments
+-  `6840dd82 <https://github.com/open-power/skiboot/commit/6840dd82>`__ Update comments for bit manipulation macros
+-  `256b1f8c <https://github.com/open-power/skiboot/commit/256b1f8c>`__ Fix typos in comment
+
+Hanno Böck (1):
+
+-  `77407b05 <https://github.com/open-power/skiboot/commit/77407b05>`__ stb/print-container: Properly check mmap error code
+
+Joel Stanley (2):
+
+-  `482f18ad <https://github.com/open-power/skiboot/commit/482f18ad>`__ Detect fused core mode and bail out
+-  `a8191a20 <https://github.com/open-power/skiboot/commit/a8191a20>`__ doc: Document more platforms
+
+Jordan Niethe (1):
+
+-  `567d36dc <https://github.com/open-power/skiboot/commit/567d36dc>`__ external/mambo: Do not enable TM on P9 in ibm, pa-features
+
+Klaus Heinrich Kiwi (2):
+
+-  `11d12c6f <https://github.com/open-power/skiboot/commit/11d12c6f>`__ hdata/memory.c: Fix "Inconsistent MSAREA" warnings
+-  `ef58f69f <https://github.com/open-power/skiboot/commit/ef58f69f>`__ hdata: Add new "smp-cable-connector" VPD keyword
+
+LuluTHSu (4):
+
+-  `94a64df2 <https://github.com/open-power/skiboot/commit/94a64df2>`__ platform/mowgli: Add mowgli.c
+-  `c214b6e8 <https://github.com/open-power/skiboot/commit/c214b6e8>`__ platform/mowgli: modify VPD to export correct data to system
+   VPD EEPROM
+-  `5262cdd1 <https://github.com/open-power/skiboot/commit/5262cdd1>`__ mowgli: Limit slot1 to Gen3 by default
+-  `37d26e2e <https://github.com/open-power/skiboot/commit/37d26e2e>`__ platform/mowgli: modify slot\_name
+
+Mahesh Salgaonkar (1):
+
+-  `cecc251c <https://github.com/open-power/skiboot/commit/cecc251c>`__ opal-gard: sync up the chip unit data list with upstream
+   hostboot.
+
+Mauro S. M. Rodrigues (11):
+
+-  `59314f31 <https://github.com/open-power/skiboot/commit/59314f31>`__ libstb: Don't exit trustedboot services multiple times
+-  `22817f8d <https://github.com/open-power/skiboot/commit/22817f8d>`__ Honor DEAD\_CODE\_ELIMINATION flag
+-  `e9f31b26 <https://github.com/open-power/skiboot/commit/e9f31b26>`__ Squashed 'libstb/crypto/mbedtls/' content from commit
+   7a03e1cbf5
+-  `910a78c5 <https://github.com/open-power/skiboot/commit/910a78c5>`__ Squashed 'libstb/tss2/ibmtpm20tss/utils/' content from
+   commit fae1383d3d
+-  `fe2d80bc <https://github.com/open-power/skiboot/commit/fe2d80bc>`__ crypto: add mbedtls build integration via git subtree
+-  `48833b96 <https://github.com/open-power/skiboot/commit/48833b96>`__ libstb/tss2: Add basic Build infrastructure for tss2
+-  `86660b06 <https://github.com/open-power/skiboot/commit/86660b06>`__ TPM/TSS: Register TPM chip for further use within TSS
+-  `f0f29cbe <https://github.com/open-power/skiboot/commit/f0f29cbe>`__ libstb/tss2: Add TSS wrapping functions
+-  `a0ff20fc <https://github.com/open-power/skiboot/commit/a0ff20fc>`__ libstb/trustedboot: Introduce new eventlog implementation
+-  `5d8e0e60 <https://github.com/open-power/skiboot/commit/5d8e0e60>`__ libstb/tss2: Switch to new implementation of PCR Read/Extend
+   and Eventlog
+-  `9536adaa <https://github.com/open-power/skiboot/commit/9536adaa>`__ libstb/tss: Remove old tss implementation
+
+Michael Ellerman (1):
+
+-  `f76a1d96 <https://github.com/open-power/skiboot/commit/f76a1d96>`__ external/mambo: Disable MEMORY\_OVERFLOW
+
+Nayna Jain (8):
+
+-  `f65d51cd <https://github.com/open-power/skiboot/commit/f65d51cd>`__ libstb/secureboot: OS Secure Boot is enabled only if FW
+   secureboot is enabled
+-  `c5c71a51 <https://github.com/open-power/skiboot/commit/c5c71a51>`__ secvar: change backend hook interface to take in bank
+   references
+-  `31f662a5 <https://github.com/open-power/skiboot/commit/31f662a5>`__ hdata/spira: add physical presence flags
+-  `9e7a4b32 <https://github.com/open-power/skiboot/commit/9e7a4b32>`__ crypto: add out-of-tree mbedtls pkcs7 parser
+-  `87562bc5 <https://github.com/open-power/skiboot/commit/87562bc5>`__ secvar/backend: add edk2 derived key updates processing
+-  `551aeaf7 <https://github.com/open-power/skiboot/commit/551aeaf7>`__ secvar/backend: Bugfixes in edk2 driver
+-  `6d6adea3 <https://github.com/open-power/skiboot/commit/6d6adea3>`__ secvar/backend: improve edk2 driver unit testcases
+-  `f4c2dae8 <https://github.com/open-power/skiboot/commit/f4c2dae8>`__ mowgli: Enable secvar support for Host OS Secure Boot
+
+Nicholas Piggin (18):
+
+-  `6327e0c1 <https://github.com/open-power/skiboot/commit/6327e0c1>`__ opal entry: Fix LE skiboot clobbering r10 argument
+-  `fccf3470 <https://github.com/open-power/skiboot/commit/fccf3470>`__ libstb/container: Add missing includes
+-  `7f3dfa7f <https://github.com/open-power/skiboot/commit/7f3dfa7f>`__ asm/head.S: QUIESCE\_REJECT fix
+-  `11ce9612 <https://github.com/open-power/skiboot/commit/11ce9612>`__ move the \_\_this\_cpu register to r16, reserve r13-r15
+-  `17adaebf <https://github.com/open-power/skiboot/commit/17adaebf>`__ fast-reboot: add missing clear memory fallback
+-  `449e1052 <https://github.com/open-power/skiboot/commit/449e1052>`__ fast-reboot: don't back up old vectors upon fast reboot
+-  `2cc89706 <https://github.com/open-power/skiboot/commit/2cc89706>`__ fast-reboot: improve fast reboot sequence
+-  `0deffc80 <https://github.com/open-power/skiboot/commit/0deffc80>`__ move opal\_branch\_table, opal\_num\_args to .rodata section
+-  `e4044119 <https://github.com/open-power/skiboot/commit/e4044119>`__ skiboot.lds.S: remove dynsym/dynstr and plt
+-  `ac08f4aa <https://github.com/open-power/skiboot/commit/ac08f4aa>`__ skiboot.lds.S: introduce PAGE\_SIZE, use it to lay out
+   sections
+-  `dca0d534 <https://github.com/open-power/skiboot/commit/dca0d534>`__ core: interrupt markers for stack traces
+-  `8c49753c <https://github.com/open-power/skiboot/commit/8c49753c>`__ core/mce: add support for decoding and handling machine
+   checks
+-  `65789e2a <https://github.com/open-power/skiboot/commit/65789e2a>`__ build: -fverbose-asm for .s targets
+-  `52466735 <https://github.com/open-power/skiboot/commit/52466735>`__ platform/blackbird: endian fix
+-  `de96c5c7 <https://github.com/open-power/skiboot/commit/de96c5c7>`__ io: endian annotations and fix
+-  `e275fa73 <https://github.com/open-power/skiboot/commit/e275fa73>`__ include/ocmb.h: Add a newline to end of file
+-  `1e0ac5f5 <https://github.com/open-power/skiboot/commit/1e0ac5f5>`__ hdata: MS AREA endian fix
+-  `355a7dc1 <https://github.com/open-power/skiboot/commit/355a7dc1>`__ asm/head: fix power save wakeup register corruption
+
+Oliver O'Halloran (36):
+
+-  `4357838d <https://github.com/open-power/skiboot/commit/4357838d>`__ hw/phb4: Make error interrupt handler compile
+-  `7dfca482 <https://github.com/open-power/skiboot/commit/7dfca482>`__ hw/phb4: Fix interrupt names
+-  `c17ea683 <https://github.com/open-power/skiboot/commit/c17ea683>`__ hw/phb4: Don't disable TXE(12) interrupt if on P9 DD2.0
+-  `c42df50e <https://github.com/open-power/skiboot/commit/c42df50e>`__ hw/phb4: Factor out interrupt setup
+-  `9b6433c2 <https://github.com/open-power/skiboot/commit/9b6433c2>`__ hw/phb4: Enable error interrupts
+-  `5b1d49de <https://github.com/open-power/skiboot/commit/5b1d49de>`__ github: update pull request template
+-  `cfd6168c <https://github.com/open-power/skiboot/commit/cfd6168c>`__ external/ffspart: Use read() rather than mmap()
+-  `21fd8a33 <https://github.com/open-power/skiboot/commit/21fd8a33>`__ test/qemu: Update command line arguments
+-  `f6c6f3ad <https://github.com/open-power/skiboot/commit/f6c6f3ad>`__ travis: Remove the unused coverity token
+-  `ffb2a7e5 <https://github.com/open-power/skiboot/commit/ffb2a7e5>`__ travis: Update config
+-  `57ed0daa <https://github.com/open-power/skiboot/commit/57ed0daa>`__ ci: Drop debian strech
+-  `95f23aa2 <https://github.com/open-power/skiboot/commit/95f23aa2>`__ ci: Fix docs build
+-  `5a4447e5 <https://github.com/open-power/skiboot/commit/5a4447e5>`__ ci: Remove lcov workaround for Fedora
+-  `db74b60a <https://github.com/open-power/skiboot/commit/db74b60a>`__ travis: move container build into the install step
+-  `f21b4cbe <https://github.com/open-power/skiboot/commit/f21b4cbe>`__ travis: Allow ubuntu-latest to fail
+-  `a02a750f <https://github.com/open-power/skiboot/commit/a02a750f>`__ travis: Add an explicit tmpfs mount
+-  `f154615d <https://github.com/open-power/skiboot/commit/f154615d>`__ travis: Disable seccomp on child containers
+-  `09b4be2c <https://github.com/open-power/skiboot/commit/09b4be2c>`__ test: Add an external-check target
+-  `028442e6 <https://github.com/open-power/skiboot/commit/028442e6>`__ test: Do gcov builds as a seperate pass
+-  `b4958610 <https://github.com/open-power/skiboot/commit/b4958610>`__ Makefile: Add -Werror to try-cflag so it works on clang
+-  `0dbbe610 <https://github.com/open-power/skiboot/commit/0dbbe610>`__ makefile: Supress Werror on clang
+-  `ff4e54d4 <https://github.com/open-power/skiboot/commit/ff4e54d4>`__ travis: Add clang specific build job
+-  `86b617c7 <https://github.com/open-power/skiboot/commit/86b617c7>`__ hw/xive: Use XIVE\_VSD\_SIZE more
+-  `80cb7773 <https://github.com/open-power/skiboot/commit/80cb7773>`__ hdata: Ensure the prd-label hbrt-code-image is prefixed
+-  `15f56c8d <https://github.com/open-power/skiboot/commit/15f56c8d>`__ hw/psi-p9: Configure IRQ offset before XIVE notify
+-  `9b594262 <https://github.com/open-power/skiboot/commit/9b594262>`__ hw/phb4: Actually enable error reporting
+-  `0a5f2812 <https://github.com/open-power/skiboot/commit/0a5f2812>`__ hw/phb4: Verify AER support before initialising AER regs
+-  `e5c21b89 <https://github.com/open-power/skiboot/commit/e5c21b89>`__ stack: only print stack usage backtraces when we hit a new
+   watermark
+-  `8cbd0de8 <https://github.com/open-power/skiboot/commit/8cbd0de8>`__ opal-prd: Have a worker process handle page offlining
+-  `bcecf330 <https://github.com/open-power/skiboot/commit/bcecf330>`__ ci: Add mbedtls development files as a dependency
+-  `45f67b17 <https://github.com/open-power/skiboot/commit/45f67b17>`__ skiboot.lds.S: Move BSS start up a bit to accommodate a
+   larger .data
+-  `b9cbe4f6 <https://github.com/open-power/skiboot/commit/b9cbe4f6>`__ secvar/test: Remove broken initalizers
+-  `8830892c <https://github.com/open-power/skiboot/commit/8830892c>`__ secvar: Clean up makefiles and fix out of tree builds
+-  `f901fcaf <https://github.com/open-power/skiboot/commit/f901fcaf>`__ test: Skip qemu tests if skiboot.lid is too large
+-  `e6758b57 <https://github.com/open-power/skiboot/commit/e6758b57>`__ external/pci-scripts: Add PHB error parsing script
+-  `89a32b49 <https://github.com/open-power/skiboot/commit/89a32b49>`__ skiboot v6.7 release notes
+
+Ryan Grimm (4):
+
+-  `fbc6c882 <https://github.com/open-power/skiboot/commit/fbc6c882>`__ buddy: Fix warnings when undefining BUDDY\_DEBUG
+-  `37a369bb <https://github.com/open-power/skiboot/commit/37a369bb>`__ Disable protected execution facility
+-  `2d065e24 <https://github.com/open-power/skiboot/commit/2d065e24>`__ Add basic P9 fused core support
+-  `ef70d648 <https://github.com/open-power/skiboot/commit/ef70d648>`__ libstb: Set TPM platform auth to random password
+
+Thiago Jung Bauermann (1):
+
+-  `5021a037 <https://github.com/open-power/skiboot/commit/5021a037>`__ dt: Set new property length in dt\_resize\_property()
+
+Vaidyanathan Srinivasan (3):
+
+-  `c4e72043 <https://github.com/open-power/skiboot/commit/c4e72043>`__ Add POWER9 Cumulus processor PVR type
+-  `b49aeb84 <https://github.com/open-power/skiboot/commit/b49aeb84>`__ Add POWER9 Fleetwood platform support
+-  `78766c94 <https://github.com/open-power/skiboot/commit/78766c94>`__ Enable fused core mode support in OPAL
+
+Vasant Hegde (18):
+
+-  `071f00d6 <https://github.com/open-power/skiboot/commit/071f00d6>`__ PSI: Convert prerror to PR\_NOTICE
+-  `6bf21350 <https://github.com/open-power/skiboot/commit/6bf21350>`__ uart: Drop console write data if BMC becomes unresponsive
+-  `475f7b64 <https://github.com/open-power/skiboot/commit/475f7b64>`__ skiboot v6.3.5 release notes
+-  `3da60277 <https://github.com/open-power/skiboot/commit/3da60277>`__ skiboot v6.6.1 release notes
+-  `00eab15c <https://github.com/open-power/skiboot/commit/00eab15c>`__ opal-ci: Fix broken fedora builds
+-  `e126deb2 <https://github.com/open-power/skiboot/commit/e126deb2>`__ opal-ci: Add Ubuntu20.04 support
+-  `4b4aa1d3 <https://github.com/open-power/skiboot/commit/4b4aa1d3>`__ test: Print proper mambo command path
+-  `53e4d735 <https://github.com/open-power/skiboot/commit/53e4d735>`__ uart: Actually swallow data if LPC is not working
+-  `9f5374b4 <https://github.com/open-power/skiboot/commit/9f5374b4>`__ mpipl: Delay MPIPL registration until OPAL init is complete
+-  `edc936af <https://github.com/open-power/skiboot/commit/edc936af>`__ mpipl: Move opal\_mpipl\_save\_crashing\_pir() call to
+   platform specific code
+-  `5b13a4d2 <https://github.com/open-power/skiboot/commit/5b13a4d2>`__ prd: Do not assert if HBRT makes unsupported call
+-  `92b79689 <https://github.com/open-power/skiboot/commit/92b79689>`__ fsp: Skip sysdump retrieval only in MPIPL boot
+-  `abe4c479 <https://github.com/open-power/skiboot/commit/abe4c479>`__ skiboot v6.6.2 release notes
+-  `0ad0ab3e <https://github.com/open-power/skiboot/commit/0ad0ab3e>`__ fsp/dump: Handle non-MPIPL scenario
+-  `d362ae4f <https://github.com/open-power/skiboot/commit/d362ae4f>`__ skiboot v6.6.3 release notes
+-  `9ca8bf1b <https://github.com/open-power/skiboot/commit/9ca8bf1b>`__ FSP/NVRAM: Do not assert in vNVRAM statistics call
+-  `9ac2629c <https://github.com/open-power/skiboot/commit/9ac2629c>`__ skiboot 5.4.12 release notes
+-  `233ade2f <https://github.com/open-power/skiboot/commit/233ade2f>`__ skiboot v6.6.4 release notes
+
+nichole (1):
+
+-  `68dc040a <https://github.com/open-power/skiboot/commit/68dc040a>`__ platform/mihawk: Fix IPMI double-free
+
+orbitcowboy (1):
+
+-  `fe70fbb7 <https://github.com/open-power/skiboot/commit/fe70fbb7>`__ Properly check mmap error code
+
+Package: swift-xml
+------------------
+
+`Repository <https://github.com/open-power/swift-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: witherspoon-xml
+------------------------
+
+`Repository <https://github.com/open-power/witherspoon-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
+
+Package: zaius-xml
+------------------
+
+`Repository <https://github.com/open-power/zaius-xml>`__
+
+Patches
+~~~~~~~
+
+Commits
+~~~~~~~
+
+No changes.
diff --git a/op-build-env b/op-build-env
index 2537c4f..8db36bb 100755
--- a/op-build-env
+++ b/op-build-env
@@ -12,7 +12,7 @@
 fi
 
 export BR2_EXTERNAL=${__PWD}/openpower
-export BR2_DL_DIR=${__PWD}/dl
+if [ -z "${BR2_DL_DIR-}" ]; then export BR2_DL_DIR=${__PWD}/dl; fi
 
 export LANG=en_US.UTF-8
 
diff --git a/openpower/Config.in b/openpower/Config.in
index b6decad..412dedb 100644
--- a/openpower/Config.in
+++ b/openpower/Config.in
@@ -1,6 +1,7 @@
 menu "OpenPower"
 
 source "$BR2_EXTERNAL_OP_BUILD_PATH/platform/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/toolchain/Config.in"
 
 menu "OpenPower Packages"
 if BR2_OPENPOWER_PLATFORM
diff --git a/openpower/configs/barreleye_defconfig b/openpower/configs/barreleye_defconfig
deleted file mode 100644
index cde6e84..0000000
--- a/openpower/configs/barreleye_defconfig
+++ /dev/null
@@ -1,71 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_IPMITOOL_USB=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=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="barreleye.config"
-BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML=y
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="barreleye-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="253622f22fe142ea67a0025e9bcc3044db038898"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="barreleye.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="BARRELEYE_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="BARRELEYE_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="BARRELEYE_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="barreleye"
-BR2_OPENPOWER_PNOR_FILENAME="barreleye.pnor"
-BR2_OPENPOWER_PNOR_UPDATE_FILENAME="barreleye_update.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="BARRELEYE_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="BARRELEYE_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/blackbird_defconfig b/openpower/configs/blackbird_defconfig
index 8f17e8c..1d5532d 100644
--- a/openpower/configs/blackbird_defconfig
+++ b/openpower/configs/blackbird_defconfig
@@ -1,7 +1,9 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/blackbird-patches"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +18,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -48,7 +50,7 @@
 BR2_OPENPOWER_POWER9=y
 BR2_HOSTBOOT_CONFIG_FILE="blackbird.config"
 BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="blackbird-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="17e9e84d504582c881e480b82fe1cf115312130f"
+BR2_OPENPOWER_MACHINE_XML_VERSION="e782e30829e0d6bea1018740d695633c29f53e75"
 BR2_OPENPOWER_MACHINE_XML_FILENAME="blackbird.xml"
 BR2_OPENPOWER_SYSTEM_XML_FILENAME="BLACKBIRD_hb.system.xml"
 BR2_OPENPOWER_MRW_XML_FILENAME="BLACKBIRD_hb.mrw.xml"
diff --git a/openpower/configs/denali_defconfig b/openpower/configs/denali_defconfig
index 4696b77..ed3f2dd 100644
--- a/openpower/configs/denali_defconfig
+++ b/openpower/configs/denali_defconfig
@@ -58,7 +58,5 @@
 # BR2_PACKAGE_OCC is not set
 # BR2_PACKAGE_CAPP_UCODE is not set
 BR2_PACKAGE_LOADKEYS=y
-# BR2_PACKAGE_HOST_PPE42_BINUTILS is not set
-# BR2_PACKAGE_HOST_PPE42_GCC is not set
 # BR2_PACKAGE_IMA_CATALOG is not set
 # BR2_PACKAGE_HOST_SB_SIGNING_UTILS is not set
diff --git a/openpower/configs/firenze_defconfig b/openpower/configs/firenze_defconfig
deleted file mode 100644
index 16491d6..0000000
--- a/openpower/configs/firenze_defconfig
+++ /dev/null
@@ -1,57 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=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_IPRUTILS=y
-BR2_PACKAGE_UTIL_LINUX_AGETTY=y
-BR2_TARGET_ROOTFS_CPIO=y
-BR2_TARGET_ROOTFS_CPIO_XZ=y
-BR2_OPENPOWER_PLATFORM=y
-BR2_OPENPOWER_POWER8=y
-# BR2_PACKAGE_HOSTBOOT_P8 is not set
-# BR2_PACKAGE_HOSTBOOT_BINARIES is not set
-# BR2_PACKAGE_MACHINE_XML is not set
-# BR2_PACKAGE_OPENPOWER_PNOR is not set
-BR2_OPENPOWER_CONFIG_NAME="openpower-firenze"
-BR2_PACKAGE_PETITBOOT=y
-BR2_PACKAGE_PETITBOOT_MTD=y
-# BR2_PACKAGE_HOST_P8_PORE_BINUTILS is not set
-# BR2_PACKAGE_CAPP_UCODE is not set
-BR2_PACKAGE_LOADKEYS=y
-# BR2_PACKAGE_IMA_CATALOG is not set
diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig
deleted file mode 100644
index 6ef5040..0000000
--- a/openpower/configs/firestone_defconfig
+++ /dev/null
@@ -1,70 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_IPMITOOL_USB=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=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="firestone.config"
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="firestone-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="9df12d2653f2fbcae043d0e8effadb9aa5b84694"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="firestone.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="FIRESTONE_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="FIRESTONE_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="FIRESTONE_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="firestone"
-BR2_OPENPOWER_PNOR_FILENAME="firestone.pnor"
-BR2_OPENPOWER_PNOR_UPDATE_FILENAME="firestone_update.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="FIRESTONE_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="FIRESTONE_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/garrison_defconfig b/openpower/configs/garrison_defconfig
deleted file mode 100644
index b235747..0000000
--- a/openpower/configs/garrison_defconfig
+++ /dev/null
@@ -1,70 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_IPMITOOL_USB=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=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="garrison.config"
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="garrison-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="c5c35cb575ed4cd77400ef17cf954addc9fc855d"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="garrison.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="GARRISON_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="GARRISON_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="GARRISON_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="garrison"
-BR2_OPENPOWER_PNOR_FILENAME="garrison.pnor"
-BR2_OPENPOWER_PNOR_UPDATE_FILENAME="garrison_update.pnor"
-BR2_HOSTBOOT_BINARY_SBE_FILENAME="naples_sbe.img.ecc"
-BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
-BR2_HOSTBOOT_BINARY_WINK_FILENAME="n1.ref_image.hdr.bin.ecc"
-BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
-BR2_OPENPOWER_TARGETING_BIN_FILENAME="GARRISON_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="GARRISON_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/hostboot/barreleye.config b/openpower/configs/hostboot/barreleye.config
deleted file mode 100755
index b5178f4..0000000
--- a/openpower/configs/hostboot/barreleye.config
+++ /dev/null
@@ -1,66 +0,0 @@
-# The Serial Flash Controller is the AST2400 BMC.
-set   SFC_IS_AST2400
-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
-set 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
-
-unset PCIE_HOTPLUG_CONTROLLER
-
-# turn on console output
-set CONSOLE
-set BMC_AST2400
-
-# Enable Kingston dimm voltage workaround
-set KINGSTON_1_35_VOLT
-
-# PCA95X config
-set PCA95X_8BIT
-
-unset DISABLE_HOSTBOOT_RUNTIME
-
-# Compile in hostboot runtime PRD
-set HBRT_PRD
-set HTMGT
-set START_OCC_DURING_BOOT
-
-#PNOR flags
-set PNOR_TWO_SIDE_SUPPORT
-set BMC_BT_LPC_IPMI
-
-# 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/hostboot/firestone.config b/openpower/configs/hostboot/firestone.config
deleted file mode 100755
index 4dd3cde..0000000
--- a/openpower/configs/hostboot/firestone.config
+++ /dev/null
@@ -1,64 +0,0 @@
-# The Serial Flash Controller is the AST2400 BMC.
-set   SFC_IS_AST2400
-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
-set 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
-
-unset PCIE_HOTPLUG_CONTROLLER
-
-# turn on console output
-set CONSOLE
-set BMC_AST2400
-
-# Enable Kingston dimm voltage workaround
-set 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
-set PNOR_TWO_SIDE_SUPPORT
-
-set BMC_BT_LPC_IPMI
-
-# 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/hostboot/garrison.config b/openpower/configs/hostboot/garrison.config
deleted file mode 100755
index 7fc9adf..0000000
--- a/openpower/configs/hostboot/garrison.config
+++ /dev/null
@@ -1,64 +0,0 @@
-# The Serial Flash Controller is the AST2400 BMC.
-set   SFC_IS_AST2400
-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
-
-unset PCIE_HOTPLUG_CONTROLLER
-
-# turn on console output
-set CONSOLE
-set BMC_AST2400
-
-# Enable Kingston dimm voltage workaround
-set 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
-set PNOR_TWO_SIDE_SUPPORT
-
-set BMC_BT_LPC_IPMI
-
-# 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/hostboot/habanero.config b/openpower/configs/hostboot/habanero.config
deleted file mode 100755
index 138e988..0000000
--- a/openpower/configs/hostboot/habanero.config
+++ /dev/null
@@ -1,67 +0,0 @@
-# The Serial Flash Controller is the AST2400 BMC.
-set   SFC_IS_AST2400
-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
-set 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
-
-unset PCIE_HOTPLUG_CONTROLLER
-
-# turn on console output
-set CONSOLE
-set BMC_AST2400
-
-# Enable Kingston dimm voltage workaround
-set KINGSTON_1_35_VOLT
-
-unset DISABLE_HOSTBOOT_RUNTIME
-
-# Compile in hostboot runtime PRD
-set HBRT_PRD
-
-# OCC Enablment flags
-unset SET_NOMINAL_PSTATE
-set HTMGT
-set START_OCC_DURING_BOOT
-
-#PNOR flags
-set PNOR_TWO_SIDE_SUPPORT
-
-set BMC_BT_LPC_IPMI
-
-# 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/hostboot/mowgli.config b/openpower/configs/hostboot/mowgli.config
new file mode 100644
index 0000000..0202229
--- /dev/null
+++ b/openpower/configs/hostboot/mowgli.config
@@ -0,0 +1,76 @@
+# The BMC MBOX Protocol is used to access PNOR
+unset SFC_IS_AST2500
+unset SFC_IS_AST2400
+set   PNORDD_IS_BMCMBOX
+unset PNORDD_IS_SFC
+unset 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 MEMVPD_READ_FROM_HW
+set MEMVPD_WRITE_TO_HW
+set MEMVPD_READ_FROM_PNOR
+set MEMVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
+unset CDIMM_FORMAT_FOR_CVPD
+
+# gpio config
+set GPIODD
+unset PALMETTO_VDDR
+
+# Enable Consecutive SBE Updates
+set   SBE_UPDATE_CONSECUTIVE
+unset SBE_UPDATE_INDEPENDENT
+unset SBE_UPDATE_SEQUENTIAL
+unset SBE_UPDATE_SIMULTANEOUS
+unset NO_SBE_UPDATES
+
+unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+set BMC_AST2500
+
+unset DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+set HBRT_PRD
+
+# Compile in hb rt HTMGT : Load/Start OCC
+set HTMGT
+set START_OCC_DURING_BOOT
+unset CONSOLE_OUTPUT_OCC_COMM
+
+#PNOR flags
+unset PNOR_TWO_SIDE_SUPPORT
+
+set BMC_BT_LPC_IPMI
+
+# Enable IPLtime + Runtime Checktop Analysis
+set ENABLE_CHECKSTOP_ANALYSIS
+set IPLTIME_CHECKSTOP_ANALYSIS
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
+set CONSOLE_OUTPUT_FFDCDISPLAY
+
+# SECUREBOOT && TPMDD
+set SECUREBOOT
+set TPMDD
+set TPM_NUVOTON
+
+# To Disable GUARD Features
+unset NO_GARD_SUPPORT
diff --git a/openpower/configs/hostboot/p8dtu.config b/openpower/configs/hostboot/p8dtu.config
deleted file mode 100644
index 7781d39..0000000
--- a/openpower/configs/hostboot/p8dtu.config
+++ /dev/null
@@ -1,70 +0,0 @@
-# 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/hostboot/palmetto.config b/openpower/configs/hostboot/palmetto.config
deleted file mode 100755
index 0d8ce18..0000000
--- a/openpower/configs/hostboot/palmetto.config
+++ /dev/null
@@ -1,68 +0,0 @@
-# Use IPMIDD for PNOR
-unset SFC_IS_AST2400
-set PNORDD_IS_IPMI
-unset PNORDD_IS_SFC
-unset BMC_DOES_SFC_INIT
-unset SFC_IS_IBM_DPSS
-set   ALLOW_MICRON_PNOR
-set   ALLOW_MACRONIX_PNOR
-
-#PNOR flags
-unset PNOR_TWO_SIDE_SUPPORT
-
-# 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
-set 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
-
-unset PCIE_HOTPLUG_CONTROLLER
-
-# turn on console output
-set CONSOLE
-set BMC_AST2400
-
-set PNOR_IS_32MB
-
-unset DISABLE_HOSTBOOT_RUNTIME
-
-# Compile in hostboot runtime PRD
-set HBRT_PRD
-
-# OCC Enablment flags
-unset SET_NOMINAL_PSTATE
-set HTMGT
-set START_OCC_DURING_BOOT
-
-set BMC_BT_LPC_IPMI
-
-# 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/hostboot/swift.config b/openpower/configs/hostboot/swift.config
new file mode 100755
index 0000000..ee791b8
--- /dev/null
+++ b/openpower/configs/hostboot/swift.config
@@ -0,0 +1,90 @@
+## Set this to pull in Axone only code (such as P9A/EXP MSS code)
+set AXONE
+
+# Allows us to put in workarounds specifically for Axone bringup
+set AXONE_BRING_UP
+
+# The BMC MBOX Protocol is used to access PNOR
+unset SFC_IS_AST2500
+unset SFC_IS_AST2400
+set   PNORDD_IS_BMCMBOX
+unset PNORDD_IS_SFC
+unset BMC_DOES_SFC_INIT
+unset SFC_IS_IBM_DPSS
+set   ALLOW_MICRON_PNOR
+set   ALLOW_MACRONIX_PNOR
+
+
+# Force DJVPD read/write to use EEPROM layer instead of old-style VPD cache
+set DJVPD_READ_FROM_HW
+set DJVPD_WRITE_TO_HW
+unset DJVPD_READ_FROM_PNOR
+unset DJVPD_WRITE_TO_PNOR
+
+# Force MEMVPD read/write to EEPROM layer instead of old-style VPD cache
+# ( No concept of MEMVPD in Axone so should not matter )
+set MEMVPD_READ_FROM_HW
+set MEMVPD_WRITE_TO_HW
+unset MEMVPD_READ_FROM_PNOR
+unset MEMVPD_WRITE_TO_PNOR
+
+# Force MVPD read/write to use EEPROM layer instead of old-style VPD cache
+set MVPD_READ_FROM_HW
+set MVPD_WRITE_TO_HW
+unset MVPD_READ_FROM_PNOR
+unset MVPD_WRITE_TO_PNOR
+
+# Other VPD options.
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+unset PVPD_READ_FROM_PNOR
+unset PVPD_WRITE_TO_PNOR
+unset CDIMM_FORMAT_FOR_CVPD
+
+#enable EEPROM caching
+set SUPPORT_EEPROM_CACHING
+
+# gpio config
+set GPIODD
+unset PALMETTO_VDDR
+
+# Enable Consecutive SBE Updates
+set   SBE_UPDATE_CONSECUTIVE
+unset SBE_UPDATE_INDEPENDENT
+unset SBE_UPDATE_SEQUENTIAL
+unset SBE_UPDATE_SIMULTANEOUS
+unset NO_SBE_UPDATES
+
+unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+set BMC_AST2500
+
+unset DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+set HBRT_PRD
+
+# Compile in hb rt HTMGT : Load/Start OCC
+set HTMGT
+set START_OCC_DURING_BOOT
+unset CONSOLE_OUTPUT_OCC_COMM
+
+#PNOR flags
+unset PNOR_TWO_SIDE_SUPPORT
+
+set BMC_BT_LPC_IPMI
+
+# Enable Checkstop Analysis for both
+#   Runtime and IPLtime scenarios
+set ENABLE_CHECKSTOP_ANALYSIS
+set IPLTIME_CHECKSTOP_ANALYSIS
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
+set CONSOLE_OUTPUT_FFDCDISPLAY
+
+# Terminate Hostboot when errors occur in manufacturing mode
+#   (relies on BMC to not trigger reboot)
+unset HANG_ON_MFG_SRC_TERM
diff --git a/openpower/configs/hostboot/vesnin.config b/openpower/configs/hostboot/vesnin.config
deleted file mode 100644
index fc3e969..0000000
--- a/openpower/configs/hostboot/vesnin.config
+++ /dev/null
@@ -1,63 +0,0 @@
-# Use IPMIDD for PNOR
-unset SFC_IS_AST2400
-unset SFC_IS_IBM_DPSS
-unset BMC_DOES_SFC_INIT
-unset PNORDD_IS_SFC
-set   PNORDD_IS_IPMI
-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
-set 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
-
-unset PCIE_HOTPLUG_CONTROLLER
-
-# turn on console output
-set CONSOLE
-set BMC_AST2400
-
-unset DISABLE_HOSTBOOT_RUNTIME
-
-# Compile in hostboot runtime PRD
-set HBRT_PRD
-set HTMGT
-set START_OCC_DURING_BOOT
-
-#PNOR flags
-set PNOR_TWO_SIDE_SUPPORT
-
-set BMC_BT_LPC_IPMI
-
-# 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/hostboot/witherspoon.config b/openpower/configs/hostboot/witherspoon.config
index 106b303..87a5f7c 100755
--- a/openpower/configs/hostboot/witherspoon.config
+++ b/openpower/configs/hostboot/witherspoon.config
@@ -71,3 +71,7 @@
 # Terminate Hostboot when errors occur in manufacturing mode
 #   (relies on BMC to not trigger reboot)
 unset HANG_ON_MFG_SRC_TERM
+
+# Support Physical Presence Detection and Key Clear Requests
+set PHYS_PRES_PWR_BUTTON
+set KEY_CLEAR
diff --git a/openpower/configs/linux/pseries_skiroot_defconfig b/openpower/configs/linux/pseries_skiroot_defconfig
deleted file mode 100644
index b39e5eb..0000000
--- a/openpower/configs/linux/pseries_skiroot_defconfig
+++ /dev/null
@@ -1,246 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=20
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_RD_GZIP is not set
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_RD_LZ4 is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PPC64=y
-CONFIG_ALTIVEC=y
-CONFIG_VSX=y
-CONFIG_NR_CPUS=2048
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_PPC_SPLPAR=y
-CONFIG_PPC_SMLPAR=y
-CONFIG_KVM_GUEST=y
-CONFIG_UDBG_RTAS_CONSOLE=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_GEN_RTC=y
-CONFIG_HZ_100=y
-CONFIG_KEXEC=y
-CONFIG_IRQ_ALL_CPUS=y
-CONFIG_PPC_64K_PAGES=y
-CONFIG_SCHED_SMT=y
-CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE="console=tty0 console=hvc0 quiet"
-# CONFIG_SECCOMP is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_SIG=y
-CONFIG_MODULE_SIG_FORCE=y
-CONFIG_MODULE_SIG_SHA512=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_COMPACTION is not set
-# CONFIG_MIGRATION is not set
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_NET_IPIP=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_DNS_RESOLVER=y
-# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_MTD=m
-CONFIG_MTD_POWERNV_FLASH=m
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-CONFIG_BLK_DEV_NVME=m
-CONFIG_EEPROM_AT24=y
-# CONFIG_CXL is not set
-CONFIG_BLK_DEV_SD=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_BE2ISCSI=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_IBMVSCSI=m
-CONFIG_SCSI_IBMVFC=m
-CONFIG_SCSI_SYM53C8XX_2=y
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
-CONFIG_SCSI_IPR=m
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-CONFIG_SCSI_VIRTIO=m
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-# CONFIG_ATA_SFF is not set
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID456=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_VORTEX=m
-CONFIG_ACENIC=m
-CONFIG_ACENIC_OMIT_TIGON_I=y
-CONFIG_PCNET32=m
-CONFIG_TIGON3=y
-CONFIG_BNX2X=m
-CONFIG_CHELSIO_T1=y
-CONFIG_BE2NET=m
-CONFIG_IBMVETH=m
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_MYRI10GE=m
-CONFIG_S2IO=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_SFC=m
-# CONFIG_WLAN is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_MISC=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_HVC_CONSOLE=y
-CONFIG_HVC_RTAS=y
-CONFIG_HVC_UDBG=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=y
-CONFIG_IPMI_DEVICE_INTERFACE=y
-CONFIG_IPMI_POWERNV=y
-CONFIG_IPMI_WATCHDOG=y
-CONFIG_HW_RANDOM=y
-CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=1024
-CONFIG_TCG_TIS_I2C_NUVOTON=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_DRM=y
-CONFIG_DRM_RADEON=y
-CONFIG_DRM_AST=m
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_OF=y
-CONFIG_FB_MATROX=y
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-# CONFIG_BACKLIGHT_GENERIC is not set
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_LOGO=y
-CONFIG_USB_HIDDEV=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_HCD_PPC_OF is not set
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_VIRTIO_PCI=y
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_XFS_FS=m
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_ISO9660_FS=m
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_DEBUG is not set
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_UTF8=y
-CONFIG_SECURITY=y
-CONFIG_IMA=y
-CONFIG_EVM=y
-# CONFIG_CRYPTO_ECHAINIV is not set
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_CMAC=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC16=y
-CONFIG_CRC_ITU_T=y
-CONFIG_LIBCRC32C=y
-CONFIG_PRINTK_TIME=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_STACKOVERFLOW=y
-CONFIG_SCHEDSTATS=y
-# CONFIG_FTRACE is not set
-CONFIG_XMON=y
-CONFIG_XMON_DEFAULT=y
diff --git a/openpower/configs/linux/skiroot_defconfig b/openpower/configs/linux/skiroot_defconfig
index ac3066d..02a3ea7 100644
--- a/openpower/configs/linux/skiroot_defconfig
+++ b/openpower/configs/linux/skiroot_defconfig
@@ -3,6 +3,7 @@
 CONFIG_SYSVIPC=y
 CONFIG_POSIX_MQUEUE=y
 # CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_AUDIT=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 # CONFIG_CPU_ISOLATION is not set
@@ -49,8 +50,8 @@
 CONFIG_CMDLINE="console=tty0 console=hvc0 debug ignore_loglevel bootmem_debug sched_debug"
 # CONFIG_SECCOMP is not set
 # CONFIG_PPC_MEM_KEYS is not set
+CONFIG_PPC_SECURE_BOOT=y
 CONFIG_JUMP_LABEL=y
-CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODULE_SIG_FORCE=y
@@ -84,7 +85,6 @@
 # CONFIG_OCXL is not set
 CONFIG_BLK_DEV_SD=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SCAN_ASYNC=y
@@ -209,7 +209,6 @@
 CONFIG_IPMI_POWERNV=y
 CONFIG_IPMI_WATCHDOG=y
 CONFIG_HW_RANDOM=y
-CONFIG_TCG_TPM=y
 CONFIG_TCG_TIS_I2C_NUVOTON=y
 # CONFIG_DEVPORT is not set
 CONFIG_I2C=y
@@ -217,7 +216,7 @@
 CONFIG_I2C_CHARDEV=y
 # CONFIG_I2C_HELPER_AUTO is not set
 CONFIG_I2C_ALGOBIT=y
-CONFIG_I2C_OPAL=m
+CONFIG_I2C_OPAL=y
 CONFIG_PPS=y
 CONFIG_SENSORS_IBMPOWERNV=m
 CONFIG_DRM=m
@@ -282,9 +281,21 @@
 CONFIG_FORTIFY_SOURCE=y
 CONFIG_SECURITY_LOCKDOWN_LSM=y
 CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
-# CONFIG_INTEGRITY is not set
+CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY=y
+CONFIG_INTEGRITY_SIGNATURE=y
+CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
+CONFIG_INTEGRITY_PLATFORM_KEYRING=y
+CONFIG_IMA=y
+CONFIG_IMA_KEXEC=y
+CONFIG_IMA_SIG_TEMPLATE=y
+CONFIG_IMA_DEFAULT_HASH_SHA256=y
+CONFIG_IMA_READ_POLICY=y
+CONFIG_IMA_APPRAISE=y
+CONFIG_IMA_ARCH_POLICY=y
+CONFIG_IMA_APPRAISE_MODSIG=y
 CONFIG_LSM="yama,loadpin,safesetid,integrity"
 # CONFIG_CRYPTO_HW is not set
+CONFIG_SYSTEM_BLACKLIST_KEYRING=y
 CONFIG_CRC16=y
 CONFIG_CRC_ITU_T=y
 CONFIG_LIBCRC32C=y
diff --git a/openpower/configs/mihawk_defconfig b/openpower/configs/mihawk_defconfig
index 6f0e9d8..ec40967 100644
--- a/openpower/configs/mihawk_defconfig
+++ b/openpower/configs/mihawk_defconfig
@@ -1,8 +1,9 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/mihawk-patches"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -17,7 +18,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -49,7 +50,7 @@
 BR2_OPENPOWER_POWER9=y
 BR2_HOSTBOOT_CONFIG_FILE="mihawk.config"
 BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="mihawk-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="f6ec5aa0f9803d44b147a7670dec7ec935f59582"
+BR2_OPENPOWER_MACHINE_XML_VERSION="b1fc7ca4456b9b375b37ab2f06567698f36de0b0"
 BR2_OPENPOWER_MACHINE_XML_FILENAME="mihawk.xml"
 BR2_OPENPOWER_SYSTEM_XML_FILENAME="MIHAWK_hb.system.xml"
 BR2_OPENPOWER_MRW_XML_FILENAME="MIHAWK_hb.mrw.xml"
diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/mowgli_defconfig
similarity index 67%
rename from openpower/configs/habanero_defconfig
rename to openpower/configs/mowgli_defconfig
index bfbfac8..3be5103 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/mowgli_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +17,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -45,27 +46,27 @@
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
 BR2_OPENPOWER_PLATFORM=y
-BR2_OPENPOWER_POWER8=y
-BR2_HOSTBOOT_P8_CONFIG_FILE="habanero.config"
-BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML=y
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="habanero-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="c3998a513e1f71de4f8e250ebb50aeaf303eb73e"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="habanero.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="HABANERO_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="HABANERO_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="HABANERO_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="habanero"
-BR2_OPENPOWER_PNOR_FILENAME="habanero.pnor"
-BR2_OPENPOWER_PNOR_UPDATE_FILENAME="habanero_update.pnor"
-BR2_HOSTBOOT_BINARY_SBE_FILENAME="venice_sbe.img.ecc"
+BR2_OPENPOWER_POWER9=y
+BR2_HOSTBOOT_CONFIG_FILE="mowgli.config"
+BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="mowgli-xml"
+BR2_OPENPOWER_MACHINE_XML_VERSION="fa8043624437fa2b66acd020baac7df7de5e46e0"
+BR2_OPENPOWER_MACHINE_XML_FILENAME="mowgli.xml"
+BR2_OPENPOWER_SYSTEM_XML_FILENAME="MOWGLI_hb.system.xml"
+BR2_OPENPOWER_MRW_XML_FILENAME="MOWGLI_hb.mrw.xml"
+BR2_OPENPOWER_BIOS_XML_FILENAME="MOWGLI_bios.xml"
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml"
+BR2_OPENPOWER_CONFIG_NAME="mowgli"
+BR2_OPENPOWER_PNOR_FILENAME="mowgli.pnor"
+BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_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_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc"
 BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
-BR2_OPENPOWER_TARGETING_BIN_FILENAME="HABANERO_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="HABANERO_HB.targeting.bin.ecc"
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="MOWGLI_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="MOWGLI_HB.targeting.bin.ecc"
+BR2_BUILD_PNOR_SQUASHFS=y
 BR2_PACKAGE_PETITBOOT=y
 BR2_PACKAGE_PETITBOOT_MTD=y
+# BR2_HCODE_INCLUDE_IONV is not set
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
 BR2_PACKAGE_LOADKEYS=y
-BR2_IMA_CATALOG_DTS="POWER8"
+BR2_IMA_CATALOG_DTS="POWER9"
diff --git a/openpower/configs/nicole_defconfig b/openpower/configs/nicole_defconfig
index 9abf6eb..c57f807 100644
--- a/openpower/configs/nicole_defconfig
+++ b/openpower/configs/nicole_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -15,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -44,7 +45,7 @@
 BR2_OPENPOWER_POWER9=y
 BR2_HOSTBOOT_CONFIG_FILE="nicole.config"
 BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="nicole-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="c592dee10cab58d05a62fb1ddb98c14e5b3dfbe7"
+BR2_OPENPOWER_MACHINE_XML_VERSION="37c6311469bfe4e9669f8fedc780719888c075d4"
 BR2_OPENPOWER_MACHINE_XML_FILENAME="nicole.xml"
 BR2_OPENPOWER_SYSTEM_XML_FILENAME="NICOLE_hb.system.xml"
 BR2_OPENPOWER_MRW_XML_FILENAME="NICOLE_hb.mrw.xml"
diff --git a/openpower/configs/opal_defconfig b/openpower/configs/opal_defconfig
index 25ddc22..3fa62fb 100644
--- a/openpower/configs/opal_defconfig
+++ b/openpower/configs/opal_defconfig
@@ -1,5 +1,6 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -12,7 +13,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -41,17 +42,17 @@
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
 BR2_OPENPOWER_PLATFORM=y
-BR2_OPENPOWER_POWER8=y
+BR2_OPENPOWER_POWER9=y
+# BR2_PACKAGE_PPE42_TOOLCHAIN is not set
 # BR2_PACKAGE_HOST_OPENPOWER_FFS is not set
-# BR2_PACKAGE_HOSTBOOT_P8 is not set
+# BR2_PACKAGE_HOSTBOOT is not set
 # BR2_PACKAGE_HOSTBOOT_BINARIES is not set
 # BR2_PACKAGE_MACHINE_XML is not set
 # BR2_PACKAGE_OPENPOWER_PNOR is not set
 BR2_OPENPOWER_CONFIG_NAME="opal"
 BR2_PACKAGE_PETITBOOT=y
 BR2_PACKAGE_PETITBOOT_MTD=y
-# BR2_PACKAGE_HOST_P8_PORE_BINUTILS is not set
-# BR2_PACKAGE_OCC_P8 is not set
 # BR2_PACKAGE_CAPP_UCODE is not set
 BR2_SKIBOOT_DEVICETREE=y
 # BR2_PACKAGE_IMA_CATALOG is not set
+# BR2_PACKAGE_HOST_SB_SIGNING_UTILS is not set
diff --git a/openpower/configs/p8dtu_defconfig b/openpower/configs/p8dtu_defconfig
deleted file mode 100644
index a77b093..0000000
--- a/openpower/configs/p8dtu_defconfig
+++ /dev/null
@@ -1,70 +0,0 @@
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_IPMITOOL_USB=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=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 4691443..6a525ee 100644
--- a/openpower/configs/p9dsu_defconfig
+++ b/openpower/configs/p9dsu_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +17,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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
deleted file mode 100644
index a5ac30f..0000000
--- a/openpower/configs/palmetto_defconfig
+++ /dev/null
@@ -1,67 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-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_GENERATE_LOCALE="en_US.UTF-8"
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_IPMITOOL_USB=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=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="palmetto.config"
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="palmetto-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="19aa4d3a0f0b39f891a7628bc41946d0dc83fb2a"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="palmetto.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="PALMETTO_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="PALMETTO_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="PALMETTO_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutSingleSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="palmetto"
-BR2_OPENPOWER_PNOR_FILENAME="palmetto.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="PALMETTO_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="PALMETTO_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/pseries_defconfig b/openpower/configs/pseries_defconfig
deleted file mode 100644
index eac9cf9..0000000
--- a/openpower/configs/pseries_defconfig
+++ /dev/null
@@ -1,59 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-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_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.4.18"
-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"
-BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
-BR2_LINUX_KERNEL_XZ=y
-BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_CRYPTSETUP=y
-BR2_PACKAGE_I2C_TOOLS=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_IPMITOOL_USB=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=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=y
-BR2_TARGET_ROOTFS_CPIO_XZ=y
-BR2_OPENPOWER_PLATFORM=y
-BR2_OPENPOWER_POWER8=y
-# BR2_PACKAGE_HOSTBOOT_P8 is not set
-# BR2_PACKAGE_HOSTBOOT_BINARIES is not set
-# BR2_PACKAGE_MACHINE_XML is not set
-# BR2_PACKAGE_OPENPOWER_PNOR is not set
-BR2_OPENPOWER_CONFIG_NAME="openpower-firenze"
-BR2_PACKAGE_PETITBOOT=y
-BR2_PACKAGE_PETITBOOT_MTD=y
-# BR2_PACKAGE_HOST_P8_PORE_BINUTILS is not set
-# BR2_PACKAGE_CAPP_UCODE is not set
-BR2_PACKAGE_LOADKEYS=y
-# BR2_PACKAGE_IMA_CATALOG is not set
diff --git a/openpower/configs/romulus_defconfig b/openpower/configs/romulus_defconfig
index 9d3dfc9..70b5cca 100644
--- a/openpower/configs/romulus_defconfig
+++ b/openpower/configs/romulus_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +17,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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/swift_defconfig
similarity index 67%
copy from openpower/configs/habanero_defconfig
copy to openpower/configs/swift_defconfig
index bfbfac8..8b6e7fc 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/swift_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +17,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -45,27 +46,28 @@
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
 BR2_OPENPOWER_PLATFORM=y
-BR2_OPENPOWER_POWER8=y
-BR2_HOSTBOOT_P8_CONFIG_FILE="habanero.config"
-BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML=y
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="habanero-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="c3998a513e1f71de4f8e250ebb50aeaf303eb73e"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="habanero.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="HABANERO_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="HABANERO_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="HABANERO_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="habanero"
-BR2_OPENPOWER_PNOR_FILENAME="habanero.pnor"
-BR2_OPENPOWER_PNOR_UPDATE_FILENAME="habanero_update.pnor"
-BR2_HOSTBOOT_BINARY_SBE_FILENAME="venice_sbe.img.ecc"
+BR2_OPENPOWER_POWER9=y
+BR2_HOSTBOOT_CONFIG_FILE="swift.config"
+BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="swift-xml"
+BR2_OPENPOWER_MACHINE_XML_VERSION="14a1bec7d32fabf990338cc6c7a33df99d86f499"
+BR2_OPENPOWER_MACHINE_XML_FILENAME="swift.xml"
+BR2_OPENPOWER_SYSTEM_XML_FILENAME="SWIFT_hb.system.xml"
+BR2_OPENPOWER_MRW_XML_FILENAME="SWIFT_hb.mrw.xml"
+BR2_OPENPOWER_BIOS_XML_FILENAME="SWIFT_bios.xml"
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="axonePnorLayout_64.xml"
+BR2_OPENPOWER_CONFIG_NAME="swift"
+BR2_OPENPOWER_PNOR_FILENAME="swift.pnor"
+BR2_HOSTBOOT_BINARY_SBE_FILENAME="axone_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_HOSTBOOT_BINARY_WINK_FILENAME="p9a.ref_image.hdr.bin.ecc"
 BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
-BR2_OPENPOWER_TARGETING_BIN_FILENAME="HABANERO_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="HABANERO_HB.targeting.bin.ecc"
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="SWIFT_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="SWIFT_HB.targeting.bin.ecc"
+BR2_BUILD_PNOR_SQUASHFS=y
 BR2_PACKAGE_PETITBOOT=y
 BR2_PACKAGE_PETITBOOT_MTD=y
+BR2_OCC_GPU_BIN_BUILD=y
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
 BR2_PACKAGE_LOADKEYS=y
-BR2_IMA_CATALOG_DTS="POWER8"
+BR2_IMA_CATALOG_DTS="POWER9"
+BR2_PACKAGE_OCMB_EXPLORER_FW=y
diff --git a/openpower/configs/vesnin_defconfig b/openpower/configs/vesnin_defconfig
deleted file mode 100644
index 765f2f3..0000000
--- a/openpower/configs/vesnin_defconfig
+++ /dev/null
@@ -1,68 +0,0 @@
-BR2_powerpc64le=y
-BR2_powerpc_power8=y
-BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/vesnin-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_GENERATE_LOCALE="en_US.UTF-8"
-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.4.18"
-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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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_QLOGIC_4X=y
-BR2_PACKAGE_CRYPTSETUP=y
-BR2_PACKAGE_I2C_TOOLS=y
-BR2_PACKAGE_IPMITOOL=y
-BR2_PACKAGE_MDADM=y
-BR2_PACKAGE_PCIUTILS=y
-BR2_PACKAGE_NCURSES_WCHAR=y
-BR2_PACKAGE_DROPBEAR=y
-# BR2_PACKAGE_DROPBEAR_SERVER is not set
-BR2_PACKAGE_ETHTOOL=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="vesnin.config"
-BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="vesnin-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="deed9ba0bc6d1d68b416ed3e14853b86838897d7"
-BR2_OPENPOWER_MACHINE_XML_FILENAME="vesnin.xml"
-BR2_OPENPOWER_SYSTEM_XML_FILENAME="VESNIN_hb.system.xml"
-BR2_OPENPOWER_MRW_XML_FILENAME="VESNIN_hb.mrw.xml"
-BR2_OPENPOWER_BIOS_XML_FILENAME="VESNIN_bios.xml"
-BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
-BR2_OPENPOWER_CONFIG_NAME="vesnin"
-BR2_OPENPOWER_PNOR_FILENAME="vesnin.pnor"
-BR2_OPENPOWER_PNOR_UPDATE_FILENAME="vesnin_update.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="VESNIN_HB.targeting.bin"
-BR2_OPENPOWER_TARGETING_ECC_FILENAME="VESNIN_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/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig
index 885491e..5066deb 100644
--- a/openpower/configs/witherspoon_defconfig
+++ b/openpower/configs/witherspoon_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +17,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -41,6 +42,7 @@
 BR2_PACKAGE_NETCAT=y
 BR2_PACKAGE_RSYNC=y
 BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_KEYUTILS=y
 BR2_PACKAGE_UTIL_LINUX_AGETTY=y
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/openpower/configs/zaius_defconfig b/openpower/configs/zaius_defconfig
index 3fa69ed..aa8a03d 100644
--- a/openpower/configs/zaius_defconfig
+++ b/openpower/configs/zaius_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
-BR2_GCC_VERSION_6_X=y
+BR2_GCC_VERSION_8_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -16,7 +17,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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 a8098eb..3195c7e 100644
--- a/openpower/configs/zz_defconfig
+++ b/openpower/configs/zz_defconfig
@@ -1,5 +1,6 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -14,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.4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.68"
 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"
@@ -44,6 +45,7 @@
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_OPENPOWER_PLATFORM=y
 BR2_OPENPOWER_POWER9=y
+# BR2_PACKAGE_PPE42_TOOLCHAIN is not set
 # BR2_PACKAGE_HOST_OPENPOWER_FFS is not set
 # BR2_PACKAGE_HOSTBOOT is not set
 # BR2_PACKAGE_HOSTBOOT_BINARIES is not set
@@ -53,11 +55,7 @@
 # BR2_TARGET_SKIBOOT_XZ is not set
 BR2_PACKAGE_PETITBOOT=y
 BR2_PACKAGE_PETITBOOT_MTD=y
-# BR2_PACKAGE_HCODE is not set
-# BR2_PACKAGE_OCC is not set
 # BR2_PACKAGE_CAPP_UCODE is not set
 BR2_PACKAGE_LOADKEYS=y
-# BR2_PACKAGE_HOST_PPE42_BINUTILS is not set
-# BR2_PACKAGE_HOST_PPE42_GCC is not set
 # BR2_PACKAGE_IMA_CATALOG is not set
 # BR2_PACKAGE_HOST_SB_SIGNING_UTILS is not set
diff --git a/openpower/external.mk b/openpower/external.mk
index e8f46f1..2e4d7ce 100644
--- a/openpower/external.mk
+++ b/openpower/external.mk
@@ -1,3 +1,7 @@
+# OpenPower Toolchain
+include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/toolchain/*/*.mk))
+
+# OpenPower Packages
 include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/package/*.mk))
 include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/package/*/*.mk))
 
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 e2dda15..bb1f1b4 100644
--- a/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
+++ b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Brian King <brking@linux.vnet.ibm.com>
 Date: Wed, 25 Oct 2017 10:42:59 +1100
-Subject: [PATCH 1/3] xhci: Reset controller on xhci shutdown
+Subject: [PATCH 01/19] xhci: Reset controller on xhci shutdown
 
 Fixes kexec boot. Without a hard reset, some USB chips will fail to
 initialize in a kexec booted kernel.
@@ -14,7 +14,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 9b3b1b16eafb..2a3aa1509d40 100644
+index bad154f446f8..19a9bde309a6 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
 @@ -789,6 +789,9 @@ void xhci_shutdown(struct usb_hcd *hcd)
diff --git a/openpower/linux/0002-powerpc-Detect-the-secure-boot-mode-of-the-system.patch b/openpower/linux/0002-powerpc-Detect-the-secure-boot-mode-of-the-system.patch
new file mode 100644
index 0000000..2d6f5a5
--- /dev/null
+++ b/openpower/linux/0002-powerpc-Detect-the-secure-boot-mode-of-the-system.patch
@@ -0,0 +1,131 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Tue, 5 Nov 2019 17:00:22 -0600
+Subject: [PATCH 02/19] powerpc: Detect the secure boot mode of the system
+
+This patch defines a function to detect the secure boot state of a
+PowerNV system.
+
+The PPC_SECURE_BOOT config represents the base enablement of secure
+boot for powerpc.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Eric Richter <erichte@linux.ibm.com>
+[mpe: Fold in change from Nayna to add "ibm,secureboot" to ids]
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/46b003b9-3225-6bf7-9101-ed6580bb748c@linux.ibm.com
+(cherry picked from commit 1a8916ee3ac29054322cdac687d36e1b5894d272)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/Kconfig                   | 10 ++++++++
+ arch/powerpc/include/asm/secure_boot.h | 23 +++++++++++++++++
+ arch/powerpc/kernel/Makefile           |  2 ++
+ arch/powerpc/kernel/secure_boot.c      | 35 ++++++++++++++++++++++++++
+ 4 files changed, 70 insertions(+)
+ create mode 100644 arch/powerpc/include/asm/secure_boot.h
+ create mode 100644 arch/powerpc/kernel/secure_boot.c
+
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index ad620637cbd1..d654bdc9e4dc 100644
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
+@@ -935,6 +935,16 @@ config PPC_MEM_KEYS
+ 
+ 	  If unsure, say y.
+ 
++config PPC_SECURE_BOOT
++	prompt "Enable secure boot support"
++	bool
++	depends on PPC_POWERNV
++	help
++	  Systems with firmware secure boot enabled need to define security
++	  policies to extend secure boot to the OS. This config allows a user
++	  to enable OS secure boot on systems that have firmware support for
++	  it. If in doubt say N.
++
+ endmenu
+ 
+ config ISA_DMA_API
+diff --git a/arch/powerpc/include/asm/secure_boot.h b/arch/powerpc/include/asm/secure_boot.h
+new file mode 100644
+index 000000000000..07d0fe0ca81f
+--- /dev/null
++++ b/arch/powerpc/include/asm/secure_boot.h
+@@ -0,0 +1,23 @@
++/* SPDX-License-Identifier: GPL-2.0 */
++/*
++ * Secure boot definitions
++ *
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Nayna Jain
++ */
++#ifndef _ASM_POWER_SECURE_BOOT_H
++#define _ASM_POWER_SECURE_BOOT_H
++
++#ifdef CONFIG_PPC_SECURE_BOOT
++
++bool is_ppc_secureboot_enabled(void);
++
++#else
++
++static inline bool is_ppc_secureboot_enabled(void)
++{
++	return false;
++}
++
++#endif
++#endif
+diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
+index dc0780f930d5..40170ee52178 100644
+--- a/arch/powerpc/kernel/Makefile
++++ b/arch/powerpc/kernel/Makefile
+@@ -158,6 +158,8 @@ ifneq ($(CONFIG_PPC_POWERNV)$(CONFIG_PPC_SVM),)
+ obj-y				+= ucall.o
+ endif
+ 
++obj-$(CONFIG_PPC_SECURE_BOOT)	+= secure_boot.o
++
+ # Disable GCOV, KCOV & sanitizers in odd or sensitive code
+ GCOV_PROFILE_prom_init.o := n
+ KCOV_INSTRUMENT_prom_init.o := n
+diff --git a/arch/powerpc/kernel/secure_boot.c b/arch/powerpc/kernel/secure_boot.c
+new file mode 100644
+index 000000000000..583c2c4edaf0
+--- /dev/null
++++ b/arch/powerpc/kernel/secure_boot.c
+@@ -0,0 +1,35 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Nayna Jain
++ */
++#include <linux/types.h>
++#include <linux/of.h>
++#include <asm/secure_boot.h>
++
++static struct device_node *get_ppc_fw_sb_node(void)
++{
++	static const struct of_device_id ids[] = {
++		{ .compatible = "ibm,secureboot", },
++		{ .compatible = "ibm,secureboot-v1", },
++		{ .compatible = "ibm,secureboot-v2", },
++		{},
++	};
++
++	return of_find_matching_node(NULL, ids);
++}
++
++bool is_ppc_secureboot_enabled(void)
++{
++	struct device_node *node;
++	bool enabled = false;
++
++	node = get_ppc_fw_sb_node();
++	enabled = of_property_read_bool(node, "os-secureboot-enforcing");
++
++	of_node_put(node);
++
++	pr_info("Secure boot mode %s\n", enabled ? "enabled" : "disabled");
++
++	return enabled;
++}
diff --git a/openpower/linux/0002-powerpc-configs-add-FADump-awareness-to-skiroot_defc.patch b/openpower/linux/0002-powerpc-configs-add-FADump-awareness-to-skiroot_defc.patch
deleted file mode 100644
index 3f92079..0000000
--- a/openpower/linux/0002-powerpc-configs-add-FADump-awareness-to-skiroot_defc.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Hari Bathini <hbathini@linux.ibm.com>
-Date: Wed, 9 Oct 2019 19:34:29 +0530
-Subject: [PATCH 2/3] powerpc/configs: add FADump awareness to
- skiroot_defconfig
-
-FADump is supported on PowerNV platform. To fulfill this support, the
-petitboot kernel must be FADump aware. Enable config PRESERVE_FA_DUMP
-to make the petitboot kernel FADump aware.
-
-Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/157062986936.23016.10146169203560084401.stgit@hbathini.in.ibm.com
-(cherry picked from commit aaa351504449c4babb80753c72920e4b25fbd8a9)
-Signed-off-by: Joel Stanley <joel@jms.id.au>
----
- arch/powerpc/configs/skiroot_defconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
-index 1253482a67c0..1e18454083ff 100644
---- a/arch/powerpc/configs/skiroot_defconfig
-+++ b/arch/powerpc/configs/skiroot_defconfig
-@@ -46,6 +46,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
- CONFIG_CPU_IDLE=y
- CONFIG_HZ_100=y
- CONFIG_KEXEC=y
-+CONFIG_PRESERVE_FA_DUMP=y
- CONFIG_IRQ_ALL_CPUS=y
- CONFIG_NUMA=y
- # CONFIG_COMPACTION is not set
diff --git a/openpower/linux/0003-powerpc-ima-Add-support-to-initialize-ima-policy-rul.patch b/openpower/linux/0003-powerpc-ima-Add-support-to-initialize-ima-policy-rul.patch
new file mode 100644
index 0000000..eef8e16
--- /dev/null
+++ b/openpower/linux/0003-powerpc-ima-Add-support-to-initialize-ima-policy-rul.patch
@@ -0,0 +1,118 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:27 -0400
+Subject: [PATCH 03/19] powerpc/ima: Add support to initialize ima policy rules
+
+PowerNV systems use a Linux-based bootloader, which rely on the IMA
+subsystem to enforce different secure boot modes. Since the
+verification policy may differ based on the secure boot mode of the
+system, the policies must be defined at runtime.
+
+This patch implements arch-specific support to define IMA policy rules
+based on the runtime secure boot mode of the system.
+
+This patch provides arch-specific IMA policies if PPC_SECURE_BOOT
+config is enabled.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-3-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit 4238fad366a660cbc6499ca1ea4be42bd4d1ac5b)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/Kconfig           |  1 +
+ arch/powerpc/kernel/Makefile   |  2 +-
+ arch/powerpc/kernel/ima_arch.c | 43 ++++++++++++++++++++++++++++++++++
+ include/linux/ima.h            |  3 ++-
+ 4 files changed, 47 insertions(+), 2 deletions(-)
+ create mode 100644 arch/powerpc/kernel/ima_arch.c
+
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index d654bdc9e4dc..32ce6c0b43f1 100644
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
+@@ -939,6 +939,7 @@ config PPC_SECURE_BOOT
+ 	prompt "Enable secure boot support"
+ 	bool
+ 	depends on PPC_POWERNV
++	depends on IMA_ARCH_POLICY
+ 	help
+ 	  Systems with firmware secure boot enabled need to define security
+ 	  policies to extend secure boot to the OS. This config allows a user
+diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
+index 40170ee52178..b82f7f5e5121 100644
+--- a/arch/powerpc/kernel/Makefile
++++ b/arch/powerpc/kernel/Makefile
+@@ -158,7 +158,7 @@ ifneq ($(CONFIG_PPC_POWERNV)$(CONFIG_PPC_SVM),)
+ obj-y				+= ucall.o
+ endif
+ 
+-obj-$(CONFIG_PPC_SECURE_BOOT)	+= secure_boot.o
++obj-$(CONFIG_PPC_SECURE_BOOT)	+= secure_boot.o ima_arch.o
+ 
+ # Disable GCOV, KCOV & sanitizers in odd or sensitive code
+ GCOV_PROFILE_prom_init.o := n
+diff --git a/arch/powerpc/kernel/ima_arch.c b/arch/powerpc/kernel/ima_arch.c
+new file mode 100644
+index 000000000000..d88913dc0da7
+--- /dev/null
++++ b/arch/powerpc/kernel/ima_arch.c
+@@ -0,0 +1,43 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Nayna Jain
++ */
++
++#include <linux/ima.h>
++#include <asm/secure_boot.h>
++
++bool arch_ima_get_secureboot(void)
++{
++	return is_ppc_secureboot_enabled();
++}
++
++/*
++ * The "secure_rules" are enabled only on "secureboot" enabled systems.
++ * These rules verify the file signatures against known good values.
++ * The "appraise_type=imasig|modsig" option allows the known good signature
++ * to be stored as an xattr or as an appended signature.
++ *
++ * To avoid duplicate signature verification as much as possible, the IMA
++ * policy rule for module appraisal is added only if CONFIG_MODULE_SIG_FORCE
++ * is not enabled.
++ */
++static const char *const secure_rules[] = {
++	"appraise func=KEXEC_KERNEL_CHECK appraise_type=imasig|modsig",
++#ifndef CONFIG_MODULE_SIG_FORCE
++	"appraise func=MODULE_CHECK appraise_type=imasig|modsig",
++#endif
++	NULL
++};
++
++/*
++ * Returns the relevant IMA arch-specific policies based on the system secure
++ * boot state.
++ */
++const char *const *arch_get_ima_policy(void)
++{
++	if (is_ppc_secureboot_enabled())
++		return secure_rules;
++
++	return NULL;
++}
+diff --git a/include/linux/ima.h b/include/linux/ima.h
+index 1c37f17f7203..6d904754d858 100644
+--- a/include/linux/ima.h
++++ b/include/linux/ima.h
+@@ -29,7 +29,8 @@ extern void ima_kexec_cmdline(const void *buf, int size);
+ extern void ima_add_kexec_buffer(struct kimage *image);
+ #endif
+ 
+-#if (defined(CONFIG_X86) && defined(CONFIG_EFI)) || defined(CONFIG_S390)
++#if (defined(CONFIG_X86) && defined(CONFIG_EFI)) || defined(CONFIG_S390) \
++	|| defined(CONFIG_PPC_SECURE_BOOT)
+ extern bool arch_ima_get_secureboot(void);
+ extern const char * const *arch_get_ima_policy(void);
+ #else
diff --git a/openpower/linux/0004-powerpc-Detect-the-trusted-boot-state-of-the-system.patch b/openpower/linux/0004-powerpc-Detect-the-trusted-boot-state-of-the-system.patch
new file mode 100644
index 0000000..e2c2c78
--- /dev/null
+++ b/openpower/linux/0004-powerpc-Detect-the-trusted-boot-state-of-the-system.patch
@@ -0,0 +1,71 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Tue, 5 Nov 2019 17:02:07 -0600
+Subject: [PATCH 04/19] powerpc: Detect the trusted boot state of the system
+
+While secure boot permits only properly verified signed kernels to be
+booted, trusted boot calculates the file hash of the kernel image and
+stores the measurement prior to boot, that can be subsequently
+compared against good known values via attestation services.
+
+This patch reads the trusted boot state of a PowerNV system. The state
+is used to conditionally enable additional measurement rules in the
+IMA arch-specific policies.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Eric Richter <erichte@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/e9eeee6b-b9bf-1e41-2954-61dbd6fbfbcf@linux.ibm.com
+(cherry picked from commit 2702809a4a1ab414d75c00936cda70ea77c8234e)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/include/asm/secure_boot.h |  6 ++++++
+ arch/powerpc/kernel/secure_boot.c      | 15 +++++++++++++++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/arch/powerpc/include/asm/secure_boot.h b/arch/powerpc/include/asm/secure_boot.h
+index 07d0fe0ca81f..a2ff556916c6 100644
+--- a/arch/powerpc/include/asm/secure_boot.h
++++ b/arch/powerpc/include/asm/secure_boot.h
+@@ -11,6 +11,7 @@
+ #ifdef CONFIG_PPC_SECURE_BOOT
+ 
+ bool is_ppc_secureboot_enabled(void);
++bool is_ppc_trustedboot_enabled(void);
+ 
+ #else
+ 
+@@ -19,5 +20,10 @@ static inline bool is_ppc_secureboot_enabled(void)
+ 	return false;
+ }
+ 
++static inline bool is_ppc_trustedboot_enabled(void)
++{
++	return false;
++}
++
+ #endif
+ #endif
+diff --git a/arch/powerpc/kernel/secure_boot.c b/arch/powerpc/kernel/secure_boot.c
+index 583c2c4edaf0..4b982324d368 100644
+--- a/arch/powerpc/kernel/secure_boot.c
++++ b/arch/powerpc/kernel/secure_boot.c
+@@ -33,3 +33,18 @@ bool is_ppc_secureboot_enabled(void)
+ 
+ 	return enabled;
+ }
++
++bool is_ppc_trustedboot_enabled(void)
++{
++	struct device_node *node;
++	bool enabled = false;
++
++	node = get_ppc_fw_sb_node();
++	enabled = of_property_read_bool(node, "trusted-enabled");
++
++	of_node_put(node);
++
++	pr_info("Trusted boot mode %s\n", enabled ? "enabled" : "disabled");
++
++	return enabled;
++}
diff --git a/openpower/linux/0005-powerpc-ima-Define-trusted-boot-policy.patch b/openpower/linux/0005-powerpc-ima-Define-trusted-boot-policy.patch
new file mode 100644
index 0000000..fcd871c
--- /dev/null
+++ b/openpower/linux/0005-powerpc-ima-Define-trusted-boot-policy.patch
@@ -0,0 +1,69 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:29 -0400
+Subject: [PATCH 05/19] powerpc/ima: Define trusted boot policy
+
+This patch defines an arch-specific trusted boot only policy and a
+combined secure and trusted boot policy.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-5-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit 1917855f4e0658c313e280671ad87774dbfb7b24)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/ima_arch.c | 33 ++++++++++++++++++++++++++++++++-
+ 1 file changed, 32 insertions(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/kernel/ima_arch.c b/arch/powerpc/kernel/ima_arch.c
+index d88913dc0da7..0ef5956c9753 100644
+--- a/arch/powerpc/kernel/ima_arch.c
++++ b/arch/powerpc/kernel/ima_arch.c
+@@ -30,6 +30,32 @@ static const char *const secure_rules[] = {
+ 	NULL
+ };
+ 
++/*
++ * The "trusted_rules" are enabled only on "trustedboot" enabled systems.
++ * These rules add the kexec kernel image and kernel modules file hashes to
++ * the IMA measurement list.
++ */
++static const char *const trusted_rules[] = {
++	"measure func=KEXEC_KERNEL_CHECK",
++	"measure func=MODULE_CHECK",
++	NULL
++};
++
++/*
++ * The "secure_and_trusted_rules" contains rules for both the secure boot and
++ * trusted boot. The "template=ima-modsig" option includes the appended
++ * signature, when available, in the IMA measurement list.
++ */
++static const char *const secure_and_trusted_rules[] = {
++	"measure func=KEXEC_KERNEL_CHECK template=ima-modsig",
++	"measure func=MODULE_CHECK template=ima-modsig",
++	"appraise func=KEXEC_KERNEL_CHECK appraise_type=imasig|modsig",
++#ifndef CONFIG_MODULE_SIG_FORCE
++	"appraise func=MODULE_CHECK appraise_type=imasig|modsig",
++#endif
++	NULL
++};
++
+ /*
+  * Returns the relevant IMA arch-specific policies based on the system secure
+  * boot state.
+@@ -37,7 +63,12 @@ static const char *const secure_rules[] = {
+ const char *const *arch_get_ima_policy(void)
+ {
+ 	if (is_ppc_secureboot_enabled())
+-		return secure_rules;
++		if (is_ppc_trustedboot_enabled())
++			return secure_and_trusted_rules;
++		else
++			return secure_rules;
++	else if (is_ppc_trustedboot_enabled())
++		return trusted_rules;
+ 
+ 	return NULL;
+ }
diff --git a/openpower/linux/0006-ima-Make-process_buffer_measurement-generic.patch b/openpower/linux/0006-ima-Make-process_buffer_measurement-generic.patch
new file mode 100644
index 0000000..7fd748f
--- /dev/null
+++ b/openpower/linux/0006-ima-Make-process_buffer_measurement-generic.patch
@@ -0,0 +1,143 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:30 -0400
+Subject: [PATCH 06/19] ima: Make process_buffer_measurement() generic
+
+process_buffer_measurement() is limited to measuring the kexec boot
+command line. This patch makes process_buffer_measurement() more
+generic, allowing it to measure other types of buffer data (e.g.
+blacklisted binary hashes or key hashes).
+
+process_buffer_measurement() may be called directly from an IMA hook
+or as an auxiliary measurement record. In both cases the buffer
+measurement is based on policy. This patch modifies the function to
+conditionally retrieve the policy defined PCR and template for the IMA
+hook case.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+[zohar@linux.ibm.com: added comment in process_buffer_measurement()]
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-6-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit e14555e3d0e9edfad0a6840c0152f71aba97e793)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ security/integrity/ima/ima.h      |  3 ++
+ security/integrity/ima/ima_main.c | 58 +++++++++++++++++++++----------
+ 2 files changed, 43 insertions(+), 18 deletions(-)
+
+diff --git a/security/integrity/ima/ima.h b/security/integrity/ima/ima.h
+index 8173982e00ab..04800f7f2351 100644
+--- a/security/integrity/ima/ima.h
++++ b/security/integrity/ima/ima.h
+@@ -219,6 +219,9 @@ void ima_store_measurement(struct integrity_iint_cache *iint, struct file *file,
+ 			   struct evm_ima_xattr_data *xattr_value,
+ 			   int xattr_len, const struct modsig *modsig, int pcr,
+ 			   struct ima_template_desc *template_desc);
++void process_buffer_measurement(const void *buf, int size,
++				const char *eventname, enum ima_hooks func,
++				int pcr);
+ void ima_audit_measurement(struct integrity_iint_cache *iint,
+ 			   const unsigned char *filename);
+ int ima_alloc_init_template(struct ima_event_data *event_data,
+diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
+index a768f37a0a4d..bc730e553053 100644
+--- a/security/integrity/ima/ima_main.c
++++ b/security/integrity/ima/ima_main.c
+@@ -626,14 +626,14 @@ int ima_load_data(enum kernel_load_data_id id)
+  * @buf: pointer to the buffer that needs to be added to the log.
+  * @size: size of buffer(in bytes).
+  * @eventname: event name to be used for the buffer entry.
+- * @cred: a pointer to a credentials structure for user validation.
+- * @secid: the secid of the task to be validated.
++ * @func: IMA hook
++ * @pcr: pcr to extend the measurement
+  *
+  * Based on policy, the buffer is measured into the ima log.
+  */
+-static void process_buffer_measurement(const void *buf, int size,
+-				       const char *eventname,
+-				       const struct cred *cred, u32 secid)
++void process_buffer_measurement(const void *buf, int size,
++				const char *eventname, enum ima_hooks func,
++				int pcr)
+ {
+ 	int ret = 0;
+ 	struct ima_template_entry *entry = NULL;
+@@ -642,19 +642,45 @@ static void process_buffer_measurement(const void *buf, int size,
+ 					    .filename = eventname,
+ 					    .buf = buf,
+ 					    .buf_len = size};
+-	struct ima_template_desc *template_desc = NULL;
++	struct ima_template_desc *template = NULL;
+ 	struct {
+ 		struct ima_digest_data hdr;
+ 		char digest[IMA_MAX_DIGEST_SIZE];
+ 	} hash = {};
+ 	int violation = 0;
+-	int pcr = CONFIG_IMA_MEASURE_PCR_IDX;
+ 	int action = 0;
++	u32 secid;
+ 
+-	action = ima_get_action(NULL, cred, secid, 0, KEXEC_CMDLINE, &pcr,
+-				&template_desc);
+-	if (!(action & IMA_MEASURE))
+-		return;
++	/*
++	 * Both LSM hooks and auxilary based buffer measurements are
++	 * based on policy.  To avoid code duplication, differentiate
++	 * between the LSM hooks and auxilary buffer measurements,
++	 * retrieving the policy rule information only for the LSM hook
++	 * buffer measurements.
++	 */
++	if (func) {
++		security_task_getsecid(current, &secid);
++		action = ima_get_action(NULL, current_cred(), secid, 0, func,
++					&pcr, &template);
++		if (!(action & IMA_MEASURE))
++			return;
++	}
++
++	if (!pcr)
++		pcr = CONFIG_IMA_MEASURE_PCR_IDX;
++
++	if (!template) {
++		template = lookup_template_desc("ima-buf");
++		ret = template_desc_init_fields(template->fmt,
++						&(template->fields),
++						&(template->num_fields));
++		if (ret < 0) {
++			pr_err("template %s init failed, result: %d\n",
++			       (strlen(template->name) ?
++				template->name : template->fmt), ret);
++			return;
++		}
++	}
+ 
+ 	iint.ima_hash = &hash.hdr;
+ 	iint.ima_hash->algo = ima_hash_algo;
+@@ -664,7 +690,7 @@ static void process_buffer_measurement(const void *buf, int size,
+ 	if (ret < 0)
+ 		goto out;
+ 
+-	ret = ima_alloc_init_template(&event_data, &entry, template_desc);
++	ret = ima_alloc_init_template(&event_data, &entry, template);
+ 	if (ret < 0)
+ 		goto out;
+ 
+@@ -686,13 +712,9 @@ static void process_buffer_measurement(const void *buf, int size,
+  */
+ void ima_kexec_cmdline(const void *buf, int size)
+ {
+-	u32 secid;
+-
+-	if (buf && size != 0) {
+-		security_task_getsecid(current, &secid);
++	if (buf && size != 0)
+ 		process_buffer_measurement(buf, size, "kexec-cmdline",
+-					   current_cred(), secid);
+-	}
++					   KEXEC_CMDLINE, 0);
+ }
+ 
+ static int __init init_ima(void)
diff --git a/openpower/linux/0007-certs-Add-wrapper-function-to-check-blacklisted-bina.patch b/openpower/linux/0007-certs-Add-wrapper-function-to-check-blacklisted-bina.patch
new file mode 100644
index 0000000..e33fc06
--- /dev/null
+++ b/openpower/linux/0007-certs-Add-wrapper-function-to-check-blacklisted-bina.patch
@@ -0,0 +1,67 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:31 -0400
+Subject: [PATCH 07/19] certs: Add wrapper function to check blacklisted binary
+ hash
+
+The -EKEYREJECTED error returned by existing is_hash_blacklisted() is
+misleading when called for checking against blacklisted hash of a
+binary.
+
+This patch adds a wrapper function is_binary_blacklisted() to return
+-EPERM error if binary is blacklisted.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-7-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit 2434f7d2d488c3301ae81f1031e1c66c6f076fb7)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ certs/blacklist.c             | 9 +++++++++
+ include/keys/system_keyring.h | 6 ++++++
+ 2 files changed, 15 insertions(+)
+
+diff --git a/certs/blacklist.c b/certs/blacklist.c
+index ec00bf337eb6..6514f9ebc943 100644
+--- a/certs/blacklist.c
++++ b/certs/blacklist.c
+@@ -135,6 +135,15 @@ int is_hash_blacklisted(const u8 *hash, size_t hash_len, const char *type)
+ }
+ EXPORT_SYMBOL_GPL(is_hash_blacklisted);
+ 
++int is_binary_blacklisted(const u8 *hash, size_t hash_len)
++{
++	if (is_hash_blacklisted(hash, hash_len, "bin") == -EKEYREJECTED)
++		return -EPERM;
++
++	return 0;
++}
++EXPORT_SYMBOL_GPL(is_binary_blacklisted);
++
+ /*
+  * Initialise the blacklist
+  */
+diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h
+index c1a96fdf598b..fb8b07daa9d1 100644
+--- a/include/keys/system_keyring.h
++++ b/include/keys/system_keyring.h
+@@ -35,12 +35,18 @@ extern int restrict_link_by_builtin_and_secondary_trusted(
+ extern int mark_hash_blacklisted(const char *hash);
+ extern int is_hash_blacklisted(const u8 *hash, size_t hash_len,
+ 			       const char *type);
++extern int is_binary_blacklisted(const u8 *hash, size_t hash_len);
+ #else
+ static inline int is_hash_blacklisted(const u8 *hash, size_t hash_len,
+ 				      const char *type)
+ {
+ 	return 0;
+ }
++
++static inline int is_binary_blacklisted(const u8 *hash, size_t hash_len)
++{
++	return 0;
++}
+ #endif
+ 
+ #ifdef CONFIG_IMA_BLACKLIST_KEYRING
diff --git a/openpower/linux/0008-ima-Check-against-blacklisted-hashes-for-files-with-.patch b/openpower/linux/0008-ima-Check-against-blacklisted-hashes-for-files-with-.patch
new file mode 100644
index 0000000..7d18cc7
--- /dev/null
+++ b/openpower/linux/0008-ima-Check-against-blacklisted-hashes-for-files-with-.patch
@@ -0,0 +1,261 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:32 -0400
+Subject: [PATCH 08/19] ima: Check against blacklisted hashes for files with
+ modsig
+
+Asymmetric private keys are used to sign multiple files. The kernel
+currently supports checking against blacklisted keys. However, if the
+public key is blacklisted, any file signed by the blacklisted key will
+automatically fail signature verification. Blacklisting the public key
+is not fine enough granularity, as we might want to only blacklist a
+particular file.
+
+This patch adds support for checking against the blacklisted hash of
+the file, without the appended signature, based on the IMA policy. It
+defines a new policy option "appraise_flag=check_blacklist".
+
+In addition to the blacklisted binary hashes stored in the firmware
+"dbx" variable, the Linux kernel may be configured to load blacklisted
+binary hashes onto the .blacklist keyring as well. The following
+example shows how to blacklist a specific kernel module hash.
+
+  $ sha256sum kernel/kheaders.ko
+  77fa889b35a05338ec52e51591c1b89d4c8d1c99a21251d7c22b1a8642a6bad3
+  kernel/kheaders.ko
+
+  $ grep BLACKLIST .config
+  CONFIG_SYSTEM_BLACKLIST_KEYRING=y
+  CONFIG_SYSTEM_BLACKLIST_HASH_LIST="blacklist-hash-list"
+
+  $ cat certs/blacklist-hash-list
+  "bin:77fa889b35a05338ec52e51591c1b89d4c8d1c99a21251d7c22b1a8642a6bad3"
+
+Update the IMA custom measurement and appraisal policy
+rules (/etc/ima-policy):
+
+  measure func=MODULE_CHECK template=ima-modsig
+  appraise func=MODULE_CHECK appraise_flag=check_blacklist
+  appraise_type=imasig|modsig
+
+After building, installing, and rebooting the kernel:
+
+   545660333 ---lswrv      0     0   \_ blacklist:
+  bin:77fa889b35a05338ec52e51591c1b89d4c8d1c99a21251d7c22b1a8642a6bad3
+
+  measure func=MODULE_CHECK template=ima-modsig
+  appraise func=MODULE_CHECK appraise_flag=check_blacklist
+  appraise_type=imasig|modsig
+
+  modprobe: ERROR: could not insert 'kheaders': Permission denied
+
+  10 0c9834db5a0182c1fb0cdc5d3adcf11a11fd83dd ima-sig
+  sha256:3bc6ed4f0b4d6e31bc1dbc9ef844605abc7afdc6d81a57d77a1ec9407997c40
+  2 /usr/lib/modules/5.4.0-rc3+/kernel/kernel/kheaders.ko
+
+  10 82aad2bcc3fa8ed94762356b5c14838f3bcfa6a0 ima-modsig
+  sha256:3bc6ed4f0b4d6e31bc1dbc9ef844605abc7afdc6d81a57d77a1ec9407997c40
+  2 /usr/lib/modules/5.4.0rc3+/kernel/kernel/kheaders.ko  sha256:77fa889b3
+  5a05338ec52e51591c1b89d4c8d1c99a21251d7c22b1a8642a6bad3
+  3082029a06092a864886f70d010702a082028b30820287020101310d300b0609608648
+  016503040201300b06092a864886f70d01070131820264....
+
+  10 25b72217cc1152b44b134ce2cd68f12dfb71acb3 ima-buf
+  sha256:8b58427fedcf8f4b20bc8dc007f2e232bf7285d7b93a66476321f9c2a3aa132
+  b blacklisted-hash
+  77fa889b35a05338ec52e51591c1b89d4c8d1c99a21251d7c22b1a8642a6bad3
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+[zohar@linux.ibm.com: updated patch description]
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-8-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit 273df864cf7466fb170b8dcc1abd672cd08ad8d3)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ Documentation/ABI/testing/ima_policy  |  4 ++++
+ security/integrity/ima/ima.h          |  8 +++++++
+ security/integrity/ima/ima_appraise.c | 33 +++++++++++++++++++++++++++
+ security/integrity/ima/ima_main.c     | 12 ++++++----
+ security/integrity/ima/ima_policy.c   | 12 ++++++++--
+ security/integrity/integrity.h        |  1 +
+ 6 files changed, 64 insertions(+), 6 deletions(-)
+
+diff --git a/Documentation/ABI/testing/ima_policy b/Documentation/ABI/testing/ima_policy
+index 29ebe9afdac4..29aaedf33246 100644
+--- a/Documentation/ABI/testing/ima_policy
++++ b/Documentation/ABI/testing/ima_policy
+@@ -25,6 +25,7 @@ Description:
+ 			lsm:	[[subj_user=] [subj_role=] [subj_type=]
+ 				 [obj_user=] [obj_role=] [obj_type=]]
+ 			option:	[[appraise_type=]] [template=] [permit_directio]
++				[appraise_flag=]
+ 		base: 	func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK][MODULE_CHECK]
+ 				[FIRMWARE_CHECK]
+ 				[KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK]
+@@ -38,6 +39,9 @@ Description:
+ 			fowner:= decimal value
+ 		lsm:  	are LSM specific
+ 		option:	appraise_type:= [imasig] [imasig|modsig]
++			appraise_flag:= [check_blacklist]
++			Currently, blacklist check is only for files signed with appended
++			signature.
+ 			template:= name of a defined IMA template type
+ 			(eg, ima-ng). Only valid when action is "measure".
+ 			pcr:= decimal value
+diff --git a/security/integrity/ima/ima.h b/security/integrity/ima/ima.h
+index 04800f7f2351..7d855f2c80fa 100644
+--- a/security/integrity/ima/ima.h
++++ b/security/integrity/ima/ima.h
+@@ -258,6 +258,8 @@ int ima_policy_show(struct seq_file *m, void *v);
+ #define IMA_APPRAISE_KEXEC	0x40
+ 
+ #ifdef CONFIG_IMA_APPRAISE
++int ima_check_blacklist(struct integrity_iint_cache *iint,
++			const struct modsig *modsig, int pcr);
+ int ima_appraise_measurement(enum ima_hooks func,
+ 			     struct integrity_iint_cache *iint,
+ 			     struct file *file, const unsigned char *filename,
+@@ -273,6 +275,12 @@ int ima_read_xattr(struct dentry *dentry,
+ 		   struct evm_ima_xattr_data **xattr_value);
+ 
+ #else
++static inline int ima_check_blacklist(struct integrity_iint_cache *iint,
++				      const struct modsig *modsig, int pcr)
++{
++	return 0;
++}
++
+ static inline int ima_appraise_measurement(enum ima_hooks func,
+ 					   struct integrity_iint_cache *iint,
+ 					   struct file *file,
+diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
+index 23b04c6521b2..176249e4a7ac 100644
+--- a/security/integrity/ima/ima_appraise.c
++++ b/security/integrity/ima/ima_appraise.c
+@@ -12,6 +12,7 @@
+ #include <linux/magic.h>
+ #include <linux/ima.h>
+ #include <linux/evm.h>
++#include <keys/system_keyring.h>
+ 
+ #include "ima.h"
+ 
+@@ -309,6 +310,38 @@ static int modsig_verify(enum ima_hooks func, const struct modsig *modsig,
+ 	return rc;
+ }
+ 
++/*
++ * ima_check_blacklist - determine if the binary is blacklisted.
++ *
++ * Add the hash of the blacklisted binary to the measurement list, based
++ * on policy.
++ *
++ * Returns -EPERM if the hash is blacklisted.
++ */
++int ima_check_blacklist(struct integrity_iint_cache *iint,
++			const struct modsig *modsig, int pcr)
++{
++	enum hash_algo hash_algo;
++	const u8 *digest = NULL;
++	u32 digestsize = 0;
++	int rc = 0;
++
++	if (!(iint->flags & IMA_CHECK_BLACKLIST))
++		return 0;
++
++	if (iint->flags & IMA_MODSIG_ALLOWED && modsig) {
++		ima_get_modsig_digest(modsig, &hash_algo, &digest, &digestsize);
++
++		rc = is_binary_blacklisted(digest, digestsize);
++		if ((rc == -EPERM) && (iint->flags & IMA_MEASURE))
++			process_buffer_measurement(digest, digestsize,
++						   "blacklisted-hash", NONE,
++						   pcr);
++	}
++
++	return rc;
++}
++
+ /*
+  * ima_appraise_measurement - appraise file measurement
+  *
+diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
+index bc730e553053..a16c148ed90d 100644
+--- a/security/integrity/ima/ima_main.c
++++ b/security/integrity/ima/ima_main.c
+@@ -335,10 +335,14 @@ static int process_measurement(struct file *file, const struct cred *cred,
+ 				      xattr_value, xattr_len, modsig, pcr,
+ 				      template_desc);
+ 	if (rc == 0 && (action & IMA_APPRAISE_SUBMASK)) {
+-		inode_lock(inode);
+-		rc = ima_appraise_measurement(func, iint, file, pathname,
+-					      xattr_value, xattr_len, modsig);
+-		inode_unlock(inode);
++		rc = ima_check_blacklist(iint, modsig, pcr);
++		if (rc != -EPERM) {
++			inode_lock(inode);
++			rc = ima_appraise_measurement(func, iint, file,
++						      pathname, xattr_value,
++						      xattr_len, modsig);
++			inode_unlock(inode);
++		}
+ 		if (!rc)
+ 			rc = mmap_violation_check(func, file, &pathbuf,
+ 						  &pathname, filename);
+diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
+index e725d4187271..42f0970b3054 100644
+--- a/security/integrity/ima/ima_policy.c
++++ b/security/integrity/ima/ima_policy.c
+@@ -769,8 +769,8 @@ enum {
+ 	Opt_fsuuid, Opt_uid_eq, Opt_euid_eq, Opt_fowner_eq,
+ 	Opt_uid_gt, Opt_euid_gt, Opt_fowner_gt,
+ 	Opt_uid_lt, Opt_euid_lt, Opt_fowner_lt,
+-	Opt_appraise_type, Opt_permit_directio,
+-	Opt_pcr, Opt_template, Opt_err
++	Opt_appraise_type, Opt_appraise_flag,
++	Opt_permit_directio, Opt_pcr, Opt_template, Opt_err
+ };
+ 
+ static const match_table_t policy_tokens = {
+@@ -802,6 +802,7 @@ static const match_table_t policy_tokens = {
+ 	{Opt_euid_lt, "euid<%s"},
+ 	{Opt_fowner_lt, "fowner<%s"},
+ 	{Opt_appraise_type, "appraise_type=%s"},
++	{Opt_appraise_flag, "appraise_flag=%s"},
+ 	{Opt_permit_directio, "permit_directio"},
+ 	{Opt_pcr, "pcr=%s"},
+ 	{Opt_template, "template=%s"},
+@@ -1182,6 +1183,11 @@ static int ima_parse_rule(char *rule, struct ima_rule_entry *entry)
+ 			else
+ 				result = -EINVAL;
+ 			break;
++		case Opt_appraise_flag:
++			ima_log_string(ab, "appraise_flag", args[0].from);
++			if (strstr(args[0].from, "blacklist"))
++				entry->flags |= IMA_CHECK_BLACKLIST;
++			break;
+ 		case Opt_permit_directio:
+ 			entry->flags |= IMA_PERMIT_DIRECTIO;
+ 			break;
+@@ -1510,6 +1516,8 @@ int ima_policy_show(struct seq_file *m, void *v)
+ 		else
+ 			seq_puts(m, "appraise_type=imasig ");
+ 	}
++	if (entry->flags & IMA_CHECK_BLACKLIST)
++		seq_puts(m, "appraise_flag=check_blacklist ");
+ 	if (entry->flags & IMA_PERMIT_DIRECTIO)
+ 		seq_puts(m, "permit_directio ");
+ 	rcu_read_unlock();
+diff --git a/security/integrity/integrity.h b/security/integrity/integrity.h
+index d9323d31a3a8..73fc286834d7 100644
+--- a/security/integrity/integrity.h
++++ b/security/integrity/integrity.h
+@@ -32,6 +32,7 @@
+ #define EVM_IMMUTABLE_DIGSIG	0x08000000
+ #define IMA_FAIL_UNVERIFIABLE_SIGS	0x10000000
+ #define IMA_MODSIG_ALLOWED	0x20000000
++#define IMA_CHECK_BLACKLIST	0x40000000
+ 
+ #define IMA_DO_MASK		(IMA_MEASURE | IMA_APPRAISE | IMA_AUDIT | \
+ 				 IMA_HASH | IMA_APPRAISE_SUBMASK)
diff --git a/openpower/linux/0009-powerpc-ima-Update-ima-arch-policy-to-check-for-blac.patch b/openpower/linux/0009-powerpc-ima-Update-ima-arch-policy-to-check-for-blac.patch
new file mode 100644
index 0000000..921a675
--- /dev/null
+++ b/openpower/linux/0009-powerpc-ima-Update-ima-arch-policy-to-check-for-blac.patch
@@ -0,0 +1,47 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:33 -0400
+Subject: [PATCH 09/19] powerpc/ima: Update ima arch policy to check for
+ blacklist
+
+This patch updates the arch-specific policies for PowerNV system to
+make sure that the binary hash is not blacklisted.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-9-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit dc87f18615db9dc74a75cfb4a57ed33b07a3903a)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/ima_arch.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/arch/powerpc/kernel/ima_arch.c b/arch/powerpc/kernel/ima_arch.c
+index 0ef5956c9753..b9de0fb45bb9 100644
+--- a/arch/powerpc/kernel/ima_arch.c
++++ b/arch/powerpc/kernel/ima_arch.c
+@@ -23,9 +23,9 @@ bool arch_ima_get_secureboot(void)
+  * is not enabled.
+  */
+ static const char *const secure_rules[] = {
+-	"appraise func=KEXEC_KERNEL_CHECK appraise_type=imasig|modsig",
++	"appraise func=KEXEC_KERNEL_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+ #ifndef CONFIG_MODULE_SIG_FORCE
+-	"appraise func=MODULE_CHECK appraise_type=imasig|modsig",
++	"appraise func=MODULE_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+ #endif
+ 	NULL
+ };
+@@ -49,9 +49,9 @@ static const char *const trusted_rules[] = {
+ static const char *const secure_and_trusted_rules[] = {
+ 	"measure func=KEXEC_KERNEL_CHECK template=ima-modsig",
+ 	"measure func=MODULE_CHECK template=ima-modsig",
+-	"appraise func=KEXEC_KERNEL_CHECK appraise_type=imasig|modsig",
++	"appraise func=KEXEC_KERNEL_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+ #ifndef CONFIG_MODULE_SIG_FORCE
+-	"appraise func=MODULE_CHECK appraise_type=imasig|modsig",
++	"appraise func=MODULE_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+ #endif
+ 	NULL
+ };
diff --git a/openpower/linux/0010-powerpc-powernv-Add-OPAL-API-interface-to-access-sec.patch b/openpower/linux/0010-powerpc-powernv-Add-OPAL-API-interface-to-access-sec.patch
new file mode 100644
index 0000000..8875930
--- /dev/null
+++ b/openpower/linux/0010-powerpc-powernv-Add-OPAL-API-interface-to-access-sec.patch
@@ -0,0 +1,329 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Sun, 10 Nov 2019 21:10:33 -0600
+Subject: [PATCH 10/19] powerpc/powernv: Add OPAL API interface to access
+ secure variable
+
+The X.509 certificates trusted by the platform and required to secure
+boot the OS kernel are wrapped in secure variables, which are
+controlled by OPAL.
+
+This patch adds firmware/kernel interface to read and write OPAL
+secure variables based on the unique key.
+
+This support can be enabled using CONFIG_OPAL_SECVAR.
+
+Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Eric Richter <erichte@linux.ibm.com>
+[mpe: Make secvar_ops __ro_after_init, only build opal-secvar.c if PPC_SECURE_BOOT=y]
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1573441836-3632-2-git-send-email-nayna@linux.ibm.com
+(cherry picked from commit 9155e2341aa8b5df057dc1c77633b33d1a4f17d2)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/include/asm/opal-api.h          |   5 +-
+ arch/powerpc/include/asm/opal.h              |   7 +
+ arch/powerpc/include/asm/secvar.h            |  35 +++++
+ arch/powerpc/kernel/Makefile                 |   2 +-
+ arch/powerpc/kernel/secvar-ops.c             |  17 +++
+ arch/powerpc/platforms/powernv/Makefile      |   1 +
+ arch/powerpc/platforms/powernv/opal-call.c   |   3 +
+ arch/powerpc/platforms/powernv/opal-secvar.c | 140 +++++++++++++++++++
+ arch/powerpc/platforms/powernv/opal.c        |   3 +
+ 9 files changed, 211 insertions(+), 2 deletions(-)
+ create mode 100644 arch/powerpc/include/asm/secvar.h
+ create mode 100644 arch/powerpc/kernel/secvar-ops.c
+ create mode 100644 arch/powerpc/platforms/powernv/opal-secvar.c
+
+diff --git a/arch/powerpc/include/asm/opal-api.h b/arch/powerpc/include/asm/opal-api.h
+index 378e3997845a..c1f25a760eb1 100644
+--- a/arch/powerpc/include/asm/opal-api.h
++++ b/arch/powerpc/include/asm/opal-api.h
+@@ -211,7 +211,10 @@
+ #define OPAL_MPIPL_UPDATE			173
+ #define OPAL_MPIPL_REGISTER_TAG			174
+ #define OPAL_MPIPL_QUERY_TAG			175
+-#define OPAL_LAST				175
++#define OPAL_SECVAR_GET				176
++#define OPAL_SECVAR_GET_NEXT			177
++#define OPAL_SECVAR_ENQUEUE_UPDATE		178
++#define OPAL_LAST				178
+ 
+ #define QUIESCE_HOLD			1 /* Spin all calls at entry */
+ #define QUIESCE_REJECT			2 /* Fail all calls with OPAL_BUSY */
+diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
+index a0cf8fba4d12..9986ac34b8e2 100644
+--- a/arch/powerpc/include/asm/opal.h
++++ b/arch/powerpc/include/asm/opal.h
+@@ -298,6 +298,13 @@ int opal_sensor_group_clear(u32 group_hndl, int token);
+ int opal_sensor_group_enable(u32 group_hndl, int token, bool enable);
+ int opal_nx_coproc_init(uint32_t chip_id, uint32_t ct);
+ 
++int opal_secvar_get(const char *key, uint64_t key_len, u8 *data,
++		    uint64_t *data_size);
++int opal_secvar_get_next(const char *key, uint64_t *key_len,
++			 uint64_t key_buf_size);
++int opal_secvar_enqueue_update(const char *key, uint64_t key_len, u8 *data,
++			       uint64_t data_size);
++
+ s64 opal_mpipl_update(enum opal_mpipl_ops op, u64 src, u64 dest, u64 size);
+ s64 opal_mpipl_register_tag(enum opal_mpipl_tags tag, u64 addr);
+ s64 opal_mpipl_query_tag(enum opal_mpipl_tags tag, u64 *addr);
+diff --git a/arch/powerpc/include/asm/secvar.h b/arch/powerpc/include/asm/secvar.h
+new file mode 100644
+index 000000000000..4cc35b58b986
+--- /dev/null
++++ b/arch/powerpc/include/asm/secvar.h
+@@ -0,0 +1,35 @@
++/* SPDX-License-Identifier: GPL-2.0 */
++/*
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Nayna Jain
++ *
++ * PowerPC secure variable operations.
++ */
++#ifndef SECVAR_OPS_H
++#define SECVAR_OPS_H
++
++#include <linux/types.h>
++#include <linux/errno.h>
++
++extern const struct secvar_operations *secvar_ops;
++
++struct secvar_operations {
++	int (*get)(const char *key, uint64_t key_len, u8 *data,
++		   uint64_t *data_size);
++	int (*get_next)(const char *key, uint64_t *key_len,
++			uint64_t keybufsize);
++	int (*set)(const char *key, uint64_t key_len, u8 *data,
++		   uint64_t data_size);
++};
++
++#ifdef CONFIG_PPC_SECURE_BOOT
++
++extern void set_secvar_ops(const struct secvar_operations *ops);
++
++#else
++
++static inline void set_secvar_ops(const struct secvar_operations *ops) { }
++
++#endif
++
++#endif
+diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
+index b82f7f5e5121..93b0336090f2 100644
+--- a/arch/powerpc/kernel/Makefile
++++ b/arch/powerpc/kernel/Makefile
+@@ -158,7 +158,7 @@ ifneq ($(CONFIG_PPC_POWERNV)$(CONFIG_PPC_SVM),)
+ obj-y				+= ucall.o
+ endif
+ 
+-obj-$(CONFIG_PPC_SECURE_BOOT)	+= secure_boot.o ima_arch.o
++obj-$(CONFIG_PPC_SECURE_BOOT)	+= secure_boot.o ima_arch.o secvar-ops.o
+ 
+ # Disable GCOV, KCOV & sanitizers in odd or sensitive code
+ GCOV_PROFILE_prom_init.o := n
+diff --git a/arch/powerpc/kernel/secvar-ops.c b/arch/powerpc/kernel/secvar-ops.c
+new file mode 100644
+index 000000000000..6a29777d6a2d
+--- /dev/null
++++ b/arch/powerpc/kernel/secvar-ops.c
+@@ -0,0 +1,17 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Nayna Jain
++ *
++ * This file initializes secvar operations for PowerPC Secureboot
++ */
++
++#include <linux/cache.h>
++#include <asm/secvar.h>
++
++const struct secvar_operations *secvar_ops __ro_after_init;
++
++void set_secvar_ops(const struct secvar_operations *ops)
++{
++	secvar_ops = ops;
++}
+diff --git a/arch/powerpc/platforms/powernv/Makefile b/arch/powerpc/platforms/powernv/Makefile
+index a3ac9646119d..c0f8120045c3 100644
+--- a/arch/powerpc/platforms/powernv/Makefile
++++ b/arch/powerpc/platforms/powernv/Makefile
+@@ -20,3 +20,4 @@ obj-$(CONFIG_PPC_MEMTRACE)	+= memtrace.o
+ obj-$(CONFIG_PPC_VAS)	+= vas.o vas-window.o vas-debug.o
+ obj-$(CONFIG_OCXL_BASE)	+= ocxl.o
+ obj-$(CONFIG_SCOM_DEBUGFS) += opal-xscom.o
++obj-$(CONFIG_PPC_SECURE_BOOT) += opal-secvar.o
+diff --git a/arch/powerpc/platforms/powernv/opal-call.c b/arch/powerpc/platforms/powernv/opal-call.c
+index a2aa5e433ac8..5cd0f52d258f 100644
+--- a/arch/powerpc/platforms/powernv/opal-call.c
++++ b/arch/powerpc/platforms/powernv/opal-call.c
+@@ -290,3 +290,6 @@ OPAL_CALL(opal_nx_coproc_init,			OPAL_NX_COPROC_INIT);
+ OPAL_CALL(opal_mpipl_update,			OPAL_MPIPL_UPDATE);
+ OPAL_CALL(opal_mpipl_register_tag,		OPAL_MPIPL_REGISTER_TAG);
+ OPAL_CALL(opal_mpipl_query_tag,			OPAL_MPIPL_QUERY_TAG);
++OPAL_CALL(opal_secvar_get,			OPAL_SECVAR_GET);
++OPAL_CALL(opal_secvar_get_next,			OPAL_SECVAR_GET_NEXT);
++OPAL_CALL(opal_secvar_enqueue_update,		OPAL_SECVAR_ENQUEUE_UPDATE);
+diff --git a/arch/powerpc/platforms/powernv/opal-secvar.c b/arch/powerpc/platforms/powernv/opal-secvar.c
+new file mode 100644
+index 000000000000..14133e120bdd
+--- /dev/null
++++ b/arch/powerpc/platforms/powernv/opal-secvar.c
+@@ -0,0 +1,140 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * PowerNV code for secure variables
++ *
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Claudio Carvalho
++ *         Nayna Jain
++ *
++ * APIs to access secure variables managed by OPAL.
++ */
++
++#define pr_fmt(fmt) "secvar: "fmt
++
++#include <linux/types.h>
++#include <linux/platform_device.h>
++#include <linux/of_platform.h>
++#include <asm/opal.h>
++#include <asm/secvar.h>
++#include <asm/secure_boot.h>
++
++static int opal_status_to_err(int rc)
++{
++	int err;
++
++	switch (rc) {
++	case OPAL_SUCCESS:
++		err = 0;
++		break;
++	case OPAL_UNSUPPORTED:
++		err = -ENXIO;
++		break;
++	case OPAL_PARAMETER:
++		err = -EINVAL;
++		break;
++	case OPAL_RESOURCE:
++		err = -ENOSPC;
++		break;
++	case OPAL_HARDWARE:
++		err = -EIO;
++		break;
++	case OPAL_NO_MEM:
++		err = -ENOMEM;
++		break;
++	case OPAL_EMPTY:
++		err = -ENOENT;
++		break;
++	case OPAL_PARTIAL:
++		err = -EFBIG;
++		break;
++	default:
++		err = -EINVAL;
++	}
++
++	return err;
++}
++
++static int opal_get_variable(const char *key, uint64_t ksize,
++			     u8 *data, uint64_t *dsize)
++{
++	int rc;
++
++	if (!key || !dsize)
++		return -EINVAL;
++
++	*dsize = cpu_to_be64(*dsize);
++
++	rc = opal_secvar_get(key, ksize, data, dsize);
++
++	*dsize = be64_to_cpu(*dsize);
++
++	return opal_status_to_err(rc);
++}
++
++static int opal_get_next_variable(const char *key, uint64_t *keylen,
++				  uint64_t keybufsize)
++{
++	int rc;
++
++	if (!key || !keylen)
++		return -EINVAL;
++
++	*keylen = cpu_to_be64(*keylen);
++
++	rc = opal_secvar_get_next(key, keylen, keybufsize);
++
++	*keylen = be64_to_cpu(*keylen);
++
++	return opal_status_to_err(rc);
++}
++
++static int opal_set_variable(const char *key, uint64_t ksize, u8 *data,
++			     uint64_t dsize)
++{
++	int rc;
++
++	if (!key || !data)
++		return -EINVAL;
++
++	rc = opal_secvar_enqueue_update(key, ksize, data, dsize);
++
++	return opal_status_to_err(rc);
++}
++
++static const struct secvar_operations opal_secvar_ops = {
++	.get = opal_get_variable,
++	.get_next = opal_get_next_variable,
++	.set = opal_set_variable,
++};
++
++static int opal_secvar_probe(struct platform_device *pdev)
++{
++	if (!opal_check_token(OPAL_SECVAR_GET)
++			|| !opal_check_token(OPAL_SECVAR_GET_NEXT)
++			|| !opal_check_token(OPAL_SECVAR_ENQUEUE_UPDATE)) {
++		pr_err("OPAL doesn't support secure variables\n");
++		return -ENODEV;
++	}
++
++	set_secvar_ops(&opal_secvar_ops);
++
++	return 0;
++}
++
++static const struct of_device_id opal_secvar_match[] = {
++	{ .compatible = "ibm,secvar-backend",},
++	{},
++};
++
++static struct platform_driver opal_secvar_driver = {
++	.driver = {
++		.name = "secvar",
++		.of_match_table = opal_secvar_match,
++	},
++};
++
++static int __init opal_secvar_init(void)
++{
++	return platform_driver_probe(&opal_secvar_driver, opal_secvar_probe);
++}
++device_initcall(opal_secvar_init);
+diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
+index 38e90270280b..8355bcd00f93 100644
+--- a/arch/powerpc/platforms/powernv/opal.c
++++ b/arch/powerpc/platforms/powernv/opal.c
+@@ -1002,6 +1002,9 @@ static int __init opal_init(void)
+ 	/* Initialise OPAL Power control interface */
+ 	opal_power_control_init();
+ 
++	/* Initialize OPAL secure variables */
++	opal_pdev_init("ibm,secvar-backend");
++
+ 	return 0;
+ }
+ machine_subsys_initcall(powernv, opal_init);
diff --git a/openpower/linux/0011-powerpc-expose-secure-variables-to-userspace-via-sys.patch b/openpower/linux/0011-powerpc-expose-secure-variables-to-userspace-via-sys.patch
new file mode 100644
index 0000000..518b9c3
--- /dev/null
+++ b/openpower/linux/0011-powerpc-expose-secure-variables-to-userspace-via-sys.patch
@@ -0,0 +1,369 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Sun, 10 Nov 2019 21:10:34 -0600
+Subject: [PATCH 11/19] powerpc: expose secure variables to userspace via sysfs
+
+PowerNV secure variables, which store the keys used for OS kernel
+verification, are managed by the firmware. These secure variables need to
+be accessed by the userspace for addition/deletion of the certificates.
+
+This patch adds the sysfs interface to expose secure variables for PowerNV
+secureboot. The users shall use this interface for manipulating
+the keys stored in the secure variables.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Eric Richter <erichte@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1573441836-3632-3-git-send-email-nayna@linux.ibm.com
+(cherry picked from commit bd5d9c743d38f67d64ea1b512a461f6b5a5f6bec)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ Documentation/ABI/testing/sysfs-secvar |  46 +++++
+ arch/powerpc/Kconfig                   |  11 ++
+ arch/powerpc/kernel/Makefile           |   1 +
+ arch/powerpc/kernel/secvar-sysfs.c     | 248 +++++++++++++++++++++++++
+ 4 files changed, 306 insertions(+)
+ create mode 100644 Documentation/ABI/testing/sysfs-secvar
+ create mode 100644 arch/powerpc/kernel/secvar-sysfs.c
+
+diff --git a/Documentation/ABI/testing/sysfs-secvar b/Documentation/ABI/testing/sysfs-secvar
+new file mode 100644
+index 000000000000..feebb8c57294
+--- /dev/null
++++ b/Documentation/ABI/testing/sysfs-secvar
+@@ -0,0 +1,46 @@
++What:		/sys/firmware/secvar
++Date:		August 2019
++Contact:	Nayna Jain <nayna@linux.ibm.com>
++Description:	This directory is created if the POWER firmware supports OS
++		secureboot, thereby secure variables. It exposes interface
++		for reading/writing the secure variables
++
++What:		/sys/firmware/secvar/vars
++Date:		August 2019
++Contact:	Nayna Jain <nayna@linux.ibm.com>
++Description:	This directory lists all the secure variables that are supported
++		by the firmware.
++
++What:		/sys/firmware/secvar/format
++Date:		August 2019
++Contact:	Nayna Jain <nayna@linux.ibm.com>
++Description:	A string indicating which backend is in use by the firmware.
++		This determines the format of the variable and the accepted
++		format of variable updates.
++
++What:		/sys/firmware/secvar/vars/<variable name>
++Date:		August 2019
++Contact:	Nayna Jain <nayna@linux.ibm.com>
++Description:	Each secure variable is represented as a directory named as
++		<variable_name>. The variable name is unique and is in ASCII
++		representation. The data and size can be determined by reading
++		their respective attribute files.
++
++What:		/sys/firmware/secvar/vars/<variable_name>/size
++Date:		August 2019
++Contact:	Nayna Jain <nayna@linux.ibm.com>
++Description:	An integer representation of the size of the content of the
++		variable. In other words, it represents the size of the data.
++
++What:		/sys/firmware/secvar/vars/<variable_name>/data
++Date:		August 2019
++Contact:	Nayna Jain h<nayna@linux.ibm.com>
++Description:	A read-only file containing the value of the variable. The size
++		of the file represents the maximum size of the variable data.
++
++What:		/sys/firmware/secvar/vars/<variable_name>/update
++Date:		August 2019
++Contact:	Nayna Jain <nayna@linux.ibm.com>
++Description:	A write-only file that is used to submit the new value for the
++		variable. The size of the file represents the maximum size of
++		the variable data that can be written.
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index 32ce6c0b43f1..cc6cdf821604 100644
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
+@@ -946,6 +946,17 @@ config PPC_SECURE_BOOT
+ 	  to enable OS secure boot on systems that have firmware support for
+ 	  it. If in doubt say N.
+ 
++config PPC_SECVAR_SYSFS
++	bool "Enable sysfs interface for POWER secure variables"
++	default y
++	depends on PPC_SECURE_BOOT
++	depends on SYSFS
++	help
++	  POWER secure variables are managed and controlled by firmware.
++	  These variables are exposed to userspace via sysfs to enable
++	  read/write operations on these variables. Say Y if you have
++	  secure boot enabled and want to expose variables to userspace.
++
+ endmenu
+ 
+ config ISA_DMA_API
+diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
+index 93b0336090f2..b97c018a2f53 100644
+--- a/arch/powerpc/kernel/Makefile
++++ b/arch/powerpc/kernel/Makefile
+@@ -159,6 +159,7 @@ obj-y				+= ucall.o
+ endif
+ 
+ obj-$(CONFIG_PPC_SECURE_BOOT)	+= secure_boot.o ima_arch.o secvar-ops.o
++obj-$(CONFIG_PPC_SECVAR_SYSFS)	+= secvar-sysfs.o
+ 
+ # Disable GCOV, KCOV & sanitizers in odd or sensitive code
+ GCOV_PROFILE_prom_init.o := n
+diff --git a/arch/powerpc/kernel/secvar-sysfs.c b/arch/powerpc/kernel/secvar-sysfs.c
+new file mode 100644
+index 000000000000..a0a78aba2083
+--- /dev/null
++++ b/arch/powerpc/kernel/secvar-sysfs.c
+@@ -0,0 +1,248 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright (C) 2019 IBM Corporation <nayna@linux.ibm.com>
++ *
++ * This code exposes secure variables to user via sysfs
++ */
++
++#define pr_fmt(fmt) "secvar-sysfs: "fmt
++
++#include <linux/slab.h>
++#include <linux/compat.h>
++#include <linux/string.h>
++#include <linux/of.h>
++#include <asm/secvar.h>
++
++#define NAME_MAX_SIZE	   1024
++
++static struct kobject *secvar_kobj;
++static struct kset *secvar_kset;
++
++static ssize_t format_show(struct kobject *kobj, struct kobj_attribute *attr,
++			   char *buf)
++{
++	ssize_t rc = 0;
++	struct device_node *node;
++	const char *format;
++
++	node = of_find_compatible_node(NULL, NULL, "ibm,secvar-backend");
++	if (!of_device_is_available(node))
++		return -ENODEV;
++
++	rc = of_property_read_string(node, "format", &format);
++	if (rc)
++		return rc;
++
++	rc = sprintf(buf, "%s\n", format);
++
++	of_node_put(node);
++
++	return rc;
++}
++
++
++static ssize_t size_show(struct kobject *kobj, struct kobj_attribute *attr,
++			 char *buf)
++{
++	uint64_t dsize;
++	int rc;
++
++	rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, NULL, &dsize);
++	if (rc) {
++		pr_err("Error retrieving %s variable size %d\n", kobj->name,
++		       rc);
++		return rc;
++	}
++
++	return sprintf(buf, "%llu\n", dsize);
++}
++
++static ssize_t data_read(struct file *filep, struct kobject *kobj,
++			 struct bin_attribute *attr, char *buf, loff_t off,
++			 size_t count)
++{
++	uint64_t dsize;
++	char *data;
++	int rc;
++
++	rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, NULL, &dsize);
++	if (rc) {
++		pr_err("Error getting %s variable size %d\n", kobj->name, rc);
++		return rc;
++	}
++	pr_debug("dsize is %llu\n", dsize);
++
++	data = kzalloc(dsize, GFP_KERNEL);
++	if (!data)
++		return -ENOMEM;
++
++	rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, data, &dsize);
++	if (rc) {
++		pr_err("Error getting %s variable %d\n", kobj->name, rc);
++		goto data_fail;
++	}
++
++	rc = memory_read_from_buffer(buf, count, &off, data, dsize);
++
++data_fail:
++	kfree(data);
++	return rc;
++}
++
++static ssize_t update_write(struct file *filep, struct kobject *kobj,
++			    struct bin_attribute *attr, char *buf, loff_t off,
++			    size_t count)
++{
++	int rc;
++
++	pr_debug("count is %ld\n", count);
++	rc = secvar_ops->set(kobj->name, strlen(kobj->name) + 1, buf, count);
++	if (rc) {
++		pr_err("Error setting the %s variable %d\n", kobj->name, rc);
++		return rc;
++	}
++
++	return count;
++}
++
++static struct kobj_attribute format_attr = __ATTR_RO(format);
++
++static struct kobj_attribute size_attr = __ATTR_RO(size);
++
++static struct bin_attribute data_attr = __BIN_ATTR_RO(data, 0);
++
++static struct bin_attribute update_attr = __BIN_ATTR_WO(update, 0);
++
++static struct bin_attribute *secvar_bin_attrs[] = {
++	&data_attr,
++	&update_attr,
++	NULL,
++};
++
++static struct attribute *secvar_attrs[] = {
++	&size_attr.attr,
++	NULL,
++};
++
++static const struct attribute_group secvar_attr_group = {
++	.attrs = secvar_attrs,
++	.bin_attrs = secvar_bin_attrs,
++};
++__ATTRIBUTE_GROUPS(secvar_attr);
++
++static struct kobj_type secvar_ktype = {
++	.sysfs_ops	= &kobj_sysfs_ops,
++	.default_groups = secvar_attr_groups,
++};
++
++static int update_kobj_size(void)
++{
++
++	struct device_node *node;
++	u64 varsize;
++	int rc = 0;
++
++	node = of_find_compatible_node(NULL, NULL, "ibm,secvar-backend");
++	if (!of_device_is_available(node)) {
++		rc = -ENODEV;
++		goto out;
++	}
++
++	rc = of_property_read_u64(node, "max-var-size", &varsize);
++	if (rc)
++		goto out;
++
++	data_attr.size = varsize;
++	update_attr.size = varsize;
++
++out:
++	of_node_put(node);
++
++	return rc;
++}
++
++static int secvar_sysfs_load(void)
++{
++	char *name;
++	uint64_t namesize = 0;
++	struct kobject *kobj;
++	int rc;
++
++	name = kzalloc(NAME_MAX_SIZE, GFP_KERNEL);
++	if (!name)
++		return -ENOMEM;
++
++	do {
++		rc = secvar_ops->get_next(name, &namesize, NAME_MAX_SIZE);
++		if (rc) {
++			if (rc != -ENOENT)
++				pr_err("error getting secvar from firmware %d\n",
++				       rc);
++			break;
++		}
++
++		kobj = kzalloc(sizeof(*kobj), GFP_KERNEL);
++		if (!kobj) {
++			rc = -ENOMEM;
++			break;
++		}
++
++		kobject_init(kobj, &secvar_ktype);
++
++		rc = kobject_add(kobj, &secvar_kset->kobj, "%s", name);
++		if (rc) {
++			pr_warn("kobject_add error %d for attribute: %s\n", rc,
++				name);
++			kobject_put(kobj);
++			kobj = NULL;
++		}
++
++		if (kobj)
++			kobject_uevent(kobj, KOBJ_ADD);
++
++	} while (!rc);
++
++	kfree(name);
++	return rc;
++}
++
++static int secvar_sysfs_init(void)
++{
++	int rc;
++
++	if (!secvar_ops) {
++		pr_warn("secvar: failed to retrieve secvar operations.\n");
++		return -ENODEV;
++	}
++
++	secvar_kobj = kobject_create_and_add("secvar", firmware_kobj);
++	if (!secvar_kobj) {
++		pr_err("secvar: Failed to create firmware kobj\n");
++		return -ENOMEM;
++	}
++
++	rc = sysfs_create_file(secvar_kobj, &format_attr.attr);
++	if (rc) {
++		kobject_put(secvar_kobj);
++		return -ENOMEM;
++	}
++
++	secvar_kset = kset_create_and_add("vars", NULL, secvar_kobj);
++	if (!secvar_kset) {
++		pr_err("secvar: sysfs kobject registration failed.\n");
++		kobject_put(secvar_kobj);
++		return -ENOMEM;
++	}
++
++	rc = update_kobj_size();
++	if (rc) {
++		pr_err("Cannot read the size of the attribute\n");
++		return rc;
++	}
++
++	secvar_sysfs_load();
++
++	return 0;
++}
++
++late_initcall(secvar_sysfs_init);
diff --git a/openpower/linux/0012-x86-efi-move-common-keyring-handler-functions-to-new.patch b/openpower/linux/0012-x86-efi-move-common-keyring-handler-functions-to-new.patch
new file mode 100644
index 0000000..e0b01c9
--- /dev/null
+++ b/openpower/linux/0012-x86-efi-move-common-keyring-handler-functions-to-new.patch
@@ -0,0 +1,251 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Sun, 10 Nov 2019 21:10:35 -0600
+Subject: [PATCH 12/19] x86/efi: move common keyring handler functions to new
+ file
+
+The handlers to add the keys to the .platform keyring and blacklisted
+hashes to the .blacklist keyring is common for both the uefi and powerpc
+mechanisms of loading the keys/hashes from the firmware.
+
+This patch moves the common code from load_uefi.c to keyring_handler.c
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Acked-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Eric Richter <erichte@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1573441836-3632-4-git-send-email-nayna@linux.ibm.com
+(cherry picked from commit ad723674d6758478829ee766e3f1a2a24d56236f)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ security/integrity/Makefile                   |  3 +-
+ .../platform_certs/keyring_handler.c          | 80 +++++++++++++++++++
+ .../platform_certs/keyring_handler.h          | 32 ++++++++
+ security/integrity/platform_certs/load_uefi.c | 67 +---------------
+ 4 files changed, 115 insertions(+), 67 deletions(-)
+ create mode 100644 security/integrity/platform_certs/keyring_handler.c
+ create mode 100644 security/integrity/platform_certs/keyring_handler.h
+
+diff --git a/security/integrity/Makefile b/security/integrity/Makefile
+index 35e6ca773734..351c9662994b 100644
+--- a/security/integrity/Makefile
++++ b/security/integrity/Makefile
+@@ -11,7 +11,8 @@ integrity-$(CONFIG_INTEGRITY_SIGNATURE) += digsig.o
+ integrity-$(CONFIG_INTEGRITY_ASYMMETRIC_KEYS) += digsig_asymmetric.o
+ integrity-$(CONFIG_INTEGRITY_PLATFORM_KEYRING) += platform_certs/platform_keyring.o
+ integrity-$(CONFIG_LOAD_UEFI_KEYS) += platform_certs/efi_parser.o \
+-					platform_certs/load_uefi.o
++				      platform_certs/load_uefi.o \
++				      platform_certs/keyring_handler.o
+ integrity-$(CONFIG_LOAD_IPL_KEYS) += platform_certs/load_ipl_s390.o
+ 
+ obj-$(CONFIG_IMA)			+= ima/
+diff --git a/security/integrity/platform_certs/keyring_handler.c b/security/integrity/platform_certs/keyring_handler.c
+new file mode 100644
+index 000000000000..c5ba695c10e3
+--- /dev/null
++++ b/security/integrity/platform_certs/keyring_handler.c
+@@ -0,0 +1,80 @@
++// SPDX-License-Identifier: GPL-2.0
++
++#include <linux/kernel.h>
++#include <linux/sched.h>
++#include <linux/cred.h>
++#include <linux/err.h>
++#include <linux/efi.h>
++#include <linux/slab.h>
++#include <keys/asymmetric-type.h>
++#include <keys/system_keyring.h>
++#include "../integrity.h"
++
++static efi_guid_t efi_cert_x509_guid __initdata = EFI_CERT_X509_GUID;
++static efi_guid_t efi_cert_x509_sha256_guid __initdata =
++	EFI_CERT_X509_SHA256_GUID;
++static efi_guid_t efi_cert_sha256_guid __initdata = EFI_CERT_SHA256_GUID;
++
++/*
++ * Blacklist a hash.
++ */
++static __init void uefi_blacklist_hash(const char *source, const void *data,
++				       size_t len, const char *type,
++				       size_t type_len)
++{
++	char *hash, *p;
++
++	hash = kmalloc(type_len + len * 2 + 1, GFP_KERNEL);
++	if (!hash)
++		return;
++	p = memcpy(hash, type, type_len);
++	p += type_len;
++	bin2hex(p, data, len);
++	p += len * 2;
++	*p = 0;
++
++	mark_hash_blacklisted(hash);
++	kfree(hash);
++}
++
++/*
++ * Blacklist an X509 TBS hash.
++ */
++static __init void uefi_blacklist_x509_tbs(const char *source,
++					   const void *data, size_t len)
++{
++	uefi_blacklist_hash(source, data, len, "tbs:", 4);
++}
++
++/*
++ * Blacklist the hash of an executable.
++ */
++static __init void uefi_blacklist_binary(const char *source,
++					 const void *data, size_t len)
++{
++	uefi_blacklist_hash(source, data, len, "bin:", 4);
++}
++
++/*
++ * Return the appropriate handler for particular signature list types found in
++ * the UEFI db and MokListRT tables.
++ */
++__init efi_element_handler_t get_handler_for_db(const efi_guid_t *sig_type)
++{
++	if (efi_guidcmp(*sig_type, efi_cert_x509_guid) == 0)
++		return add_to_platform_keyring;
++	return 0;
++}
++
++/*
++ * Return the appropriate handler for particular signature list types found in
++ * the UEFI dbx and MokListXRT tables.
++ */
++__init efi_element_handler_t get_handler_for_dbx(const efi_guid_t *sig_type)
++{
++	if (efi_guidcmp(*sig_type, efi_cert_x509_sha256_guid) == 0)
++		return uefi_blacklist_x509_tbs;
++	if (efi_guidcmp(*sig_type, efi_cert_sha256_guid) == 0)
++		return uefi_blacklist_binary;
++	return 0;
++}
+diff --git a/security/integrity/platform_certs/keyring_handler.h b/security/integrity/platform_certs/keyring_handler.h
+new file mode 100644
+index 000000000000..2462bfa08fe3
+--- /dev/null
++++ b/security/integrity/platform_certs/keyring_handler.h
+@@ -0,0 +1,32 @@
++/* SPDX-License-Identifier: GPL-2.0 */
++
++#ifndef PLATFORM_CERTS_INTERNAL_H
++#define PLATFORM_CERTS_INTERNAL_H
++
++#include <linux/efi.h>
++
++void blacklist_hash(const char *source, const void *data,
++		    size_t len, const char *type,
++		    size_t type_len);
++
++/*
++ * Blacklist an X509 TBS hash.
++ */
++void blacklist_x509_tbs(const char *source, const void *data, size_t len);
++
++/*
++ * Blacklist the hash of an executable.
++ */
++void blacklist_binary(const char *source, const void *data, size_t len);
++
++/*
++ * Return the handler for particular signature list types found in the db.
++ */
++efi_element_handler_t get_handler_for_db(const efi_guid_t *sig_type);
++
++/*
++ * Return the handler for particular signature list types found in the dbx.
++ */
++efi_element_handler_t get_handler_for_dbx(const efi_guid_t *sig_type);
++
++#endif
+diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c
+index 020fc7a11ef0..aa874d84e413 100644
+--- a/security/integrity/platform_certs/load_uefi.c
++++ b/security/integrity/platform_certs/load_uefi.c
+@@ -9,6 +9,7 @@
+ #include <keys/asymmetric-type.h>
+ #include <keys/system_keyring.h>
+ #include "../integrity.h"
++#include "keyring_handler.h"
+ 
+ static efi_guid_t efi_cert_x509_guid __initdata = EFI_CERT_X509_GUID;
+ static efi_guid_t efi_cert_x509_sha256_guid __initdata =
+@@ -69,72 +70,6 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
+ 	return db;
+ }
+ 
+-/*
+- * Blacklist a hash.
+- */
+-static __init void uefi_blacklist_hash(const char *source, const void *data,
+-				       size_t len, const char *type,
+-				       size_t type_len)
+-{
+-	char *hash, *p;
+-
+-	hash = kmalloc(type_len + len * 2 + 1, GFP_KERNEL);
+-	if (!hash)
+-		return;
+-	p = memcpy(hash, type, type_len);
+-	p += type_len;
+-	bin2hex(p, data, len);
+-	p += len * 2;
+-	*p = 0;
+-
+-	mark_hash_blacklisted(hash);
+-	kfree(hash);
+-}
+-
+-/*
+- * Blacklist an X509 TBS hash.
+- */
+-static __init void uefi_blacklist_x509_tbs(const char *source,
+-					   const void *data, size_t len)
+-{
+-	uefi_blacklist_hash(source, data, len, "tbs:", 4);
+-}
+-
+-/*
+- * Blacklist the hash of an executable.
+- */
+-static __init void uefi_blacklist_binary(const char *source,
+-					 const void *data, size_t len)
+-{
+-	uefi_blacklist_hash(source, data, len, "bin:", 4);
+-}
+-
+-/*
+- * Return the appropriate handler for particular signature list types found in
+- * the UEFI db and MokListRT tables.
+- */
+-static __init efi_element_handler_t get_handler_for_db(const efi_guid_t *
+-						       sig_type)
+-{
+-	if (efi_guidcmp(*sig_type, efi_cert_x509_guid) == 0)
+-		return add_to_platform_keyring;
+-	return 0;
+-}
+-
+-/*
+- * Return the appropriate handler for particular signature list types found in
+- * the UEFI dbx and MokListXRT tables.
+- */
+-static __init efi_element_handler_t get_handler_for_dbx(const efi_guid_t *
+-							sig_type)
+-{
+-	if (efi_guidcmp(*sig_type, efi_cert_x509_sha256_guid) == 0)
+-		return uefi_blacklist_x509_tbs;
+-	if (efi_guidcmp(*sig_type, efi_cert_sha256_guid) == 0)
+-		return uefi_blacklist_binary;
+-	return 0;
+-}
+-
+ /*
+  * Load the certs contained in the UEFI databases into the platform trusted
+  * keyring and the UEFI blacklisted X.509 cert SHA256 hashes into the blacklist
diff --git a/openpower/linux/0013-powerpc-Load-firmware-trusted-keys-hashes-into-kerne.patch b/openpower/linux/0013-powerpc-Load-firmware-trusted-keys-hashes-into-kerne.patch
new file mode 100644
index 0000000..83a0346
--- /dev/null
+++ b/openpower/linux/0013-powerpc-Load-firmware-trusted-keys-hashes-into-kerne.patch
@@ -0,0 +1,163 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Sun, 10 Nov 2019 21:10:36 -0600
+Subject: [PATCH 13/19] powerpc: Load firmware trusted keys/hashes into kernel
+ keyring
+
+The keys used to verify the Host OS kernel are managed by firmware as
+secure variables. This patch loads the verification keys into the
+.platform keyring and revocation hashes into .blacklist keyring. This
+enables verification and loading of the kernels signed by the boot
+time keys which are trusted by firmware.
+
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Eric Richter <erichte@linux.ibm.com>
+[mpe: Search by compatible in load_powerpc_certs(), not using format]
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1573441836-3632-5-git-send-email-nayna@linux.ibm.com
+(cherry picked from commit 8220e22d11a05049aab9693839ab82e5e177ccde)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ security/integrity/Kconfig                    |  9 ++
+ security/integrity/Makefile                   |  4 +-
+ .../integrity/platform_certs/load_powerpc.c   | 96 +++++++++++++++++++
+ 3 files changed, 108 insertions(+), 1 deletion(-)
+ create mode 100644 security/integrity/platform_certs/load_powerpc.c
+
+diff --git a/security/integrity/Kconfig b/security/integrity/Kconfig
+index 0bae6adb63a9..71f0177e8716 100644
+--- a/security/integrity/Kconfig
++++ b/security/integrity/Kconfig
+@@ -72,6 +72,15 @@ config LOAD_IPL_KEYS
+        depends on S390
+        def_bool y
+ 
++config LOAD_PPC_KEYS
++	bool "Enable loading of platform and blacklisted keys for POWER"
++	depends on INTEGRITY_PLATFORM_KEYRING
++	depends on PPC_SECURE_BOOT
++	default y
++	help
++	  Enable loading of keys to the .platform keyring and blacklisted
++	  hashes to the .blacklist keyring for powerpc based platforms.
++
+ config INTEGRITY_AUDIT
+ 	bool "Enables integrity auditing support "
+ 	depends on AUDIT
+diff --git a/security/integrity/Makefile b/security/integrity/Makefile
+index 351c9662994b..7ee39d66cf16 100644
+--- a/security/integrity/Makefile
++++ b/security/integrity/Makefile
+@@ -14,6 +14,8 @@ integrity-$(CONFIG_LOAD_UEFI_KEYS) += platform_certs/efi_parser.o \
+ 				      platform_certs/load_uefi.o \
+ 				      platform_certs/keyring_handler.o
+ integrity-$(CONFIG_LOAD_IPL_KEYS) += platform_certs/load_ipl_s390.o
+-
++integrity-$(CONFIG_LOAD_PPC_KEYS) += platform_certs/efi_parser.o \
++                                     platform_certs/load_powerpc.o \
++                                     platform_certs/keyring_handler.o
+ obj-$(CONFIG_IMA)			+= ima/
+ obj-$(CONFIG_EVM)			+= evm/
+diff --git a/security/integrity/platform_certs/load_powerpc.c b/security/integrity/platform_certs/load_powerpc.c
+new file mode 100644
+index 000000000000..a2900cb85357
+--- /dev/null
++++ b/security/integrity/platform_certs/load_powerpc.c
+@@ -0,0 +1,96 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * Copyright (C) 2019 IBM Corporation
++ * Author: Nayna Jain
++ *
++ *      - loads keys and hashes stored and controlled by the firmware.
++ */
++#include <linux/kernel.h>
++#include <linux/sched.h>
++#include <linux/cred.h>
++#include <linux/err.h>
++#include <linux/slab.h>
++#include <linux/of.h>
++#include <asm/secure_boot.h>
++#include <asm/secvar.h>
++#include "keyring_handler.h"
++
++/*
++ * Get a certificate list blob from the named secure variable.
++ */
++static __init void *get_cert_list(u8 *key, unsigned long keylen, uint64_t *size)
++{
++	int rc;
++	void *db;
++
++	rc = secvar_ops->get(key, keylen, NULL, size);
++	if (rc) {
++		pr_err("Couldn't get size: %d\n", rc);
++		return NULL;
++	}
++
++	db = kmalloc(*size, GFP_KERNEL);
++	if (!db)
++		return NULL;
++
++	rc = secvar_ops->get(key, keylen, db, size);
++	if (rc) {
++		kfree(db);
++		pr_err("Error reading %s var: %d\n", key, rc);
++		return NULL;
++	}
++
++	return db;
++}
++
++/*
++ * Load the certs contained in the keys databases into the platform trusted
++ * keyring and the blacklisted X.509 cert SHA256 hashes into the blacklist
++ * keyring.
++ */
++static int __init load_powerpc_certs(void)
++{
++	void *db = NULL, *dbx = NULL;
++	uint64_t dbsize = 0, dbxsize = 0;
++	int rc = 0;
++	struct device_node *node;
++
++	if (!secvar_ops)
++		return -ENODEV;
++
++	/* The following only applies for the edk2-compat backend. */
++	node = of_find_compatible_node(NULL, NULL, "ibm,edk2-compat-v1");
++	if (!node)
++		return -ENODEV;
++
++	/*
++	 * Get db, and dbx. They might not exist, so it isn't an error if we
++	 * can't get them.
++	 */
++	db = get_cert_list("db", 3, &dbsize);
++	if (!db) {
++		pr_err("Couldn't get db list from firmware\n");
++	} else {
++		rc = parse_efi_signature_list("powerpc:db", db, dbsize,
++					      get_handler_for_db);
++		if (rc)
++			pr_err("Couldn't parse db signatures: %d\n", rc);
++		kfree(db);
++	}
++
++	dbx = get_cert_list("dbx", 4,  &dbxsize);
++	if (!dbx) {
++		pr_info("Couldn't get dbx list from firmware\n");
++	} else {
++		rc = parse_efi_signature_list("powerpc:dbx", dbx, dbxsize,
++					      get_handler_for_dbx);
++		if (rc)
++			pr_err("Couldn't parse dbx signatures: %d\n", rc);
++		kfree(dbx);
++	}
++
++	of_node_put(node);
++
++	return rc;
++}
++late_initcall(load_powerpc_certs);
diff --git a/openpower/linux/0014-powerpc-xmon-Allow-listing-and-clearing-breakpoints-.patch b/openpower/linux/0014-powerpc-xmon-Allow-listing-and-clearing-breakpoints-.patch
new file mode 100644
index 0000000..5559a8a
--- /dev/null
+++ b/openpower/linux/0014-powerpc-xmon-Allow-listing-and-clearing-breakpoints-.patch
@@ -0,0 +1,73 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Christopher M. Riedl" <cmr@informatik.wtf>
+Date: Sat, 7 Sep 2019 01:11:23 -0500
+Subject: [PATCH 14/19] powerpc/xmon: Allow listing and clearing breakpoints in
+ read-only mode
+
+Read-only mode should not prevent listing and clearing any active
+breakpoints.
+
+Tested-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Axtens <dja@axtens.net>
+Signed-off-by: Christopher M. Riedl <cmr@informatik.wtf>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/20190907061124.1947-2-cmr@informatik.wtf
+(cherry picked from commit 96664dee5cf1815777286227b09884b4f019727f)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/xmon/xmon.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
+index 6d130c89fbd8..ab6371aedfcb 100644
+--- a/arch/powerpc/xmon/xmon.c
++++ b/arch/powerpc/xmon/xmon.c
+@@ -1096,10 +1096,6 @@ cmds(struct pt_regs *excp)
+ 			set_lpp_cmd();
+ 			break;
+ 		case 'b':
+-			if (xmon_is_ro) {
+-				printf(xmon_ro_msg);
+-				break;
+-			}
+ 			bpt_cmds();
+ 			break;
+ 		case 'C':
+@@ -1368,11 +1364,16 @@ bpt_cmds(void)
+ 	struct bpt *bp;
+ 
+ 	cmd = inchar();
++
+ 	switch (cmd) {
+ #ifndef CONFIG_PPC_8xx
+ 	static const char badaddr[] = "Only kernel addresses are permitted for breakpoints\n";
+ 	int mode;
+ 	case 'd':	/* bd - hardware data breakpoint */
++		if (xmon_is_ro) {
++			printf(xmon_ro_msg);
++			break;
++		}
+ 		if (!ppc_breakpoint_available()) {
+ 			printf("Hardware data breakpoint not supported on this cpu\n");
+ 			break;
+@@ -1400,6 +1401,10 @@ bpt_cmds(void)
+ 		break;
+ 
+ 	case 'i':	/* bi - hardware instr breakpoint */
++		if (xmon_is_ro) {
++			printf(xmon_ro_msg);
++			break;
++		}
+ 		if (!cpu_has_feature(CPU_FTR_ARCH_207S)) {
+ 			printf("Hardware instruction breakpoint "
+ 			       "not supported on this cpu\n");
+@@ -1458,7 +1463,8 @@ bpt_cmds(void)
+ 			break;
+ 		}
+ 		termch = cmd;
+-		if (!scanhex(&a)) {
++
++		if (xmon_is_ro || !scanhex(&a)) {
+ 			/* print all breakpoints */
+ 			printf("   type            address\n");
+ 			if (dabr.enabled) {
diff --git a/openpower/linux/0015-powerpc-ima-Indicate-kernel-modules-appended-signatu.patch b/openpower/linux/0015-powerpc-ima-Indicate-kernel-modules-appended-signatu.patch
new file mode 100644
index 0000000..69f5314
--- /dev/null
+++ b/openpower/linux/0015-powerpc-ima-Indicate-kernel-modules-appended-signatu.patch
@@ -0,0 +1,46 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mimi Zohar <zohar@linux.ibm.com>
+Date: Wed, 30 Oct 2019 23:31:34 -0400
+Subject: [PATCH 15/19] powerpc/ima: Indicate kernel modules appended
+ signatures are enforced
+
+The arch specific kernel module policy rule requires kernel modules to
+be signed, either as an IMA signature, stored as an xattr, or as an
+appended signature. As a result, kernel modules appended signatures
+could be enforced without "sig_enforce" being set or reflected in
+/sys/module/module/parameters/sig_enforce. This patch sets
+"sig_enforce".
+
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/1572492694-6520-10-git-send-email-zohar@linux.ibm.com
+(cherry picked from commit d72ea4915c7e6fa5e7b9022a34df66e375bfe46c)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/ima_arch.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/arch/powerpc/kernel/ima_arch.c b/arch/powerpc/kernel/ima_arch.c
+index b9de0fb45bb9..e34116255ced 100644
+--- a/arch/powerpc/kernel/ima_arch.c
++++ b/arch/powerpc/kernel/ima_arch.c
+@@ -62,13 +62,17 @@ static const char *const secure_and_trusted_rules[] = {
+  */
+ const char *const *arch_get_ima_policy(void)
+ {
+-	if (is_ppc_secureboot_enabled())
++	if (is_ppc_secureboot_enabled()) {
++		if (IS_ENABLED(CONFIG_MODULE_SIG))
++			set_module_sig_enforced();
++
+ 		if (is_ppc_trustedboot_enabled())
+ 			return secure_and_trusted_rules;
+ 		else
+ 			return secure_rules;
+-	else if (is_ppc_trustedboot_enabled())
++	} else if (is_ppc_trustedboot_enabled()) {
+ 		return trusted_rules;
++	}
+ 
+ 	return NULL;
+ }
diff --git a/openpower/linux/0016-powerpc-ima-Fix-secure-boot-rules-in-ima-arch-policy.patch b/openpower/linux/0016-powerpc-ima-Fix-secure-boot-rules-in-ima-arch-policy.patch
new file mode 100644
index 0000000..1ba2c2f
--- /dev/null
+++ b/openpower/linux/0016-powerpc-ima-Fix-secure-boot-rules-in-ima-arch-policy.patch
@@ -0,0 +1,58 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nayna Jain <nayna@linux.ibm.com>
+Date: Fri, 1 May 2020 10:16:52 -0400
+Subject: [PATCH 16/19] powerpc/ima: Fix secure boot rules in ima arch policy
+
+To prevent verifying the kernel module appended signature
+twice (finit_module), once by the module_sig_check() and again by IMA,
+powerpc secure boot rules define an IMA architecture specific policy
+rule only if CONFIG_MODULE_SIG_FORCE is not enabled. This,
+unfortunately, does not take into account the ability of enabling
+"sig_enforce" on the boot command line (module.sig_enforce=1).
+
+Including the IMA module appraise rule results in failing the
+finit_module syscall, unless the module signing public key is loaded
+onto the IMA keyring.
+
+This patch fixes secure boot policy rules to be based on
+CONFIG_MODULE_SIG instead.
+
+Fixes: 4238fad366a6 ("powerpc/ima: Add support to initialize ima policy rules")
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
+Link: https://lore.kernel.org/r/1588342612-14532-1-git-send-email-nayna@linux.ibm.com
+(cherry picked from commit fa4f3f56ccd28ac031ab275e673ed4098855fed4)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/ima_arch.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/powerpc/kernel/ima_arch.c b/arch/powerpc/kernel/ima_arch.c
+index e34116255ced..957abd592075 100644
+--- a/arch/powerpc/kernel/ima_arch.c
++++ b/arch/powerpc/kernel/ima_arch.c
+@@ -19,12 +19,12 @@ bool arch_ima_get_secureboot(void)
+  * to be stored as an xattr or as an appended signature.
+  *
+  * To avoid duplicate signature verification as much as possible, the IMA
+- * policy rule for module appraisal is added only if CONFIG_MODULE_SIG_FORCE
++ * policy rule for module appraisal is added only if CONFIG_MODULE_SIG
+  * is not enabled.
+  */
+ static const char *const secure_rules[] = {
+ 	"appraise func=KEXEC_KERNEL_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+-#ifndef CONFIG_MODULE_SIG_FORCE
++#ifndef CONFIG_MODULE_SIG
+ 	"appraise func=MODULE_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+ #endif
+ 	NULL
+@@ -50,7 +50,7 @@ static const char *const secure_and_trusted_rules[] = {
+ 	"measure func=KEXEC_KERNEL_CHECK template=ima-modsig",
+ 	"measure func=MODULE_CHECK template=ima-modsig",
+ 	"appraise func=KEXEC_KERNEL_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+-#ifndef CONFIG_MODULE_SIG_FORCE
++#ifndef CONFIG_MODULE_SIG
+ 	"appraise func=MODULE_CHECK appraise_flag=check_blacklist appraise_type=imasig|modsig",
+ #endif
+ 	NULL
diff --git a/openpower/linux/0017-powerpc-configs-Update-to-upstream-and-enable-secure.patch b/openpower/linux/0017-powerpc-configs-Update-to-upstream-and-enable-secure.patch
new file mode 100644
index 0000000..3fbe01a
--- /dev/null
+++ b/openpower/linux/0017-powerpc-configs-Update-to-upstream-and-enable-secure.patch
@@ -0,0 +1,222 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Joel Stanley <joel@jms.id.au>
+Date: Tue, 23 Jun 2020 16:22:10 +0930
+Subject: [PATCH 17/19] powerpc/configs: Update to upstream and enable
+ secureboot
+
+Pulls in the following updates from upstream:
+
+ scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled
+ powerpc/configs/skiroot: Enable some more hardening options
+ powerpc/configs/skiroot: Disable xmon default & enable reboot on panic
+ powerpc/configs/skiroot: Enable security features
+ powerpc/configs/skiroot: Update for symbol movement only
+ powerpc/configs/skiroot: Drop default n CONFIG_CRYPTO_ECHAINIV
+ powerpc/configs/skiroot: Drop HID_LOGITECH
+ powerpc/configs: Drop NET_VENDOR_HP which moved to staging
+ powerpc/configs: NET_CADENCE became NET_VENDOR_CADENCE
+ powerpc/configs: Drop CONFIG_QLGE which moved to staging
+ powerpc/configs: remove obsolete CONFIG_INET_XFRM_MODE_* and CONFIG_INET6_XFRM_MODE_*
+ powerpc/configs: add FADump awareness to skiroot_defconfig
+
+In addition, it enables IMA and secureboot options.
+
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/configs/skiroot_defconfig | 83 ++++++++++++++++----------
+ 1 file changed, 53 insertions(+), 30 deletions(-)
+
+diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
+index 2e25b264f70f..44309e12d84a 100644
+--- a/arch/powerpc/configs/skiroot_defconfig
++++ b/arch/powerpc/configs/skiroot_defconfig
+@@ -1,13 +1,9 @@
+-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
+ CONFIG_POSIX_MQUEUE=y
+ # CONFIG_CROSS_MEMORY_ATTACH is not set
++CONFIG_AUDIT=y
+ CONFIG_NO_HZ=y
+ CONFIG_HIGH_RES_TIMERS=y
+ # CONFIG_CPU_ISOLATION is not set
+@@ -28,17 +24,15 @@ CONFIG_EXPERT=y
+ # CONFIG_AIO is not set
+ CONFIG_PERF_EVENTS=y
+ # CONFIG_COMPAT_BRK is not set
++# CONFIG_SLAB_MERGE_DEFAULT is not set
++CONFIG_SLAB_FREELIST_RANDOM=y
+ CONFIG_SLAB_FREELIST_HARDENED=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_PPC64=y
++CONFIG_ALTIVEC=y
++CONFIG_VSX=y
++CONFIG_NR_CPUS=2048
++CONFIG_CPU_LITTLE_ENDIAN=y
++CONFIG_PANIC_TIMEOUT=30
+ # CONFIG_PPC_VAS is not set
+ # CONFIG_PPC_PSERIES is not set
+ # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
+@@ -46,16 +40,27 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+ CONFIG_CPU_IDLE=y
+ CONFIG_HZ_100=y
+ CONFIG_KEXEC=y
++CONFIG_KEXEC_FILE=y
++CONFIG_PRESERVE_FA_DUMP=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_PPC_SECURE_BOOT=y
++CONFIG_JUMP_LABEL=y
++CONFIG_MODULES=y
++CONFIG_MODULE_UNLOAD=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_COMPACTION is not set
++# CONFIG_MIGRATION is not set
+ CONFIG_NET=y
+ CONFIG_PACKET=y
+ CONFIG_UNIX=y
+@@ -63,9 +68,6 @@ CONFIG_INET=y
+ CONFIG_IP_MULTICAST=y
+ CONFIG_NET_IPIP=y
+ CONFIG_SYN_COOKIES=y
+-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+-# CONFIG_INET_XFRM_MODE_BEET is not set
+ CONFIG_DNS_RESOLVER=y
+ # CONFIG_WIRELESS is not set
+ CONFIG_DEVTMPFS=y
+@@ -139,7 +141,6 @@ CONFIG_TIGON3=m
+ 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
+@@ -148,7 +149,6 @@ CONFIG_CHELSIO_T1=m
+ # CONFIG_NET_VENDOR_DLINK is not set
+ CONFIG_BE2NET=m
+ # CONFIG_NET_VENDOR_EZCHIP is not set
+-# CONFIG_NET_VENDOR_HP is not set
+ # CONFIG_NET_VENDOR_HUAWEI is not set
+ CONFIG_E1000=m
+ CONFIG_E1000E=m
+@@ -156,7 +156,6 @@ CONFIG_IGB=m
+ 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
+@@ -167,12 +166,12 @@ CONFIG_MLX5_CORE_EN=y
+ # 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
+ # CONFIG_NET_VENDOR_OKI is not set
+ # CONFIG_NET_VENDOR_PACKET_ENGINES is not set
+-CONFIG_QLGE=m
+ CONFIG_NETXEN_NIC=m
+ CONFIG_QED=m
+ CONFIG_QEDE=m
+@@ -210,7 +209,6 @@ CONFIG_IPMI_DEVICE_INTERFACE=y
+ CONFIG_IPMI_POWERNV=y
+ CONFIG_IPMI_WATCHDOG=y
+ CONFIG_HW_RANDOM=y
+-CONFIG_TCG_TPM=y
+ CONFIG_TCG_TIS_I2C_NUVOTON=y
+ # CONFIG_DEVPORT is not set
+ CONFIG_I2C=y
+@@ -239,7 +237,6 @@ CONFIG_HID_CYPRESS=y
+ CONFIG_HID_EZKEY=y
+ CONFIG_HID_ITE=y
+ CONFIG_HID_KENSINGTON=y
+-CONFIG_HID_LOGITECH=y
+ CONFIG_HID_MICROSOFT=y
+ CONFIG_HID_MONTEREY=y
+ CONFIG_USB_HIDDEV=y
+@@ -276,6 +273,29 @@ CONFIG_NLS_CODEPAGE_437=y
+ CONFIG_NLS_ASCII=y
+ CONFIG_NLS_ISO8859_1=y
+ CONFIG_NLS_UTF8=y
++CONFIG_ENCRYPTED_KEYS=y
++CONFIG_SECURITY=y
++CONFIG_HARDENED_USERCOPY=y
++# CONFIG_HARDENED_USERCOPY_FALLBACK is not set
++CONFIG_HARDENED_USERCOPY_PAGESPAN=y
++CONFIG_FORTIFY_SOURCE=y
++CONFIG_SECURITY_LOCKDOWN_LSM=y
++CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
++CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY=y
++CONFIG_INTEGRITY_SIGNATURE=y
++CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
++CONFIG_INTEGRITY_PLATFORM_KEYRING=y
++CONFIG_IMA=y
++CONFIG_IMA_KEXEC=y
++CONFIG_IMA_SIG_TEMPLATE=y
++CONFIG_IMA_DEFAULT_HASH_SHA256=y
++CONFIG_IMA_READ_POLICY=y
++CONFIG_IMA_APPRAISE=y
++CONFIG_IMA_ARCH_POLICY=y
++CONFIG_IMA_APPRAISE_MODSIG=y
++CONFIG_LSM="yama,loadpin,safesetid,integrity"
++# CONFIG_CRYPTO_HW is not set
++CONFIG_SYSTEM_BLACKLIST_KEYRING=y
+ CONFIG_CRC16=y
+ CONFIG_CRC_ITU_T=y
+ CONFIG_LIBCRC32C=y
+@@ -286,17 +306,20 @@ CONFIG_LIBCRC32C=y
+ # CONFIG_XZ_DEC_SPARC is not set
+ CONFIG_PRINTK_TIME=y
+ CONFIG_MAGIC_SYSRQ=y
++CONFIG_SLUB_DEBUG_ON=y
+ CONFIG_DEBUG_STACKOVERFLOW=y
+ CONFIG_SOFTLOCKUP_DETECTOR=y
+ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+ CONFIG_HARDLOCKUP_DETECTOR=y
+ CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
+ CONFIG_WQ_WATCHDOG=y
++CONFIG_PANIC_ON_OOPS=y
+ # CONFIG_SCHED_DEBUG is not set
++CONFIG_SCHED_STACK_END_CHECK=y
++CONFIG_DEBUG_SG=y
++CONFIG_DEBUG_NOTIFIERS=y
++CONFIG_DEBUG_CREDENTIALS=y
+ # CONFIG_FTRACE is not set
+ # CONFIG_RUNTIME_TESTING_MENU is not set
++CONFIG_BUG_ON_DATA_CORRUPTION=y
+ 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/linux/0018-linux-configure-CONFIG_I2C_OPAL-as-in-built.patch b/openpower/linux/0018-linux-configure-CONFIG_I2C_OPAL-as-in-built.patch
new file mode 100644
index 0000000..b679564
--- /dev/null
+++ b/openpower/linux/0018-linux-configure-CONFIG_I2C_OPAL-as-in-built.patch
@@ -0,0 +1,56 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Joel Stanley <joel@jms.id.au>
+Date: Tue, 29 Sep 2020 16:07:53 +0930
+Subject: [PATCH 18/19] linux: configure CONFIG_I2C_OPAL as in-built.
+
+Currently, skiroot_defconfig CONFIG_I2C_OPAL is built as a loadable
+module rather than builtin, even if CONFIG_I2C=y is defined. This
+results in a delay in the TPM initialization, causing IMA to go into
+TPM bypass mode. As a result, the IMA measurements are added to the
+measurement list, but do not extend the TPM. Because of this, it is
+impossible to verify or attest to the system's integrity, either from
+skiroot or the target Host OS.
+
+Mimi Zohar <zohar@linux.ibm.com> explains more:
+
+  The concept of trusted boot requires the measurement to be added to the
+  measurement list and extend the TPM, prior to allowing access to the
+  file. By allowing access to a file before its measurement is included
+  in the measurement list and extended into the TPM PCR, a malicious file
+  could potentially prevent its own measurement from being added. As the
+  PCRs are tamper proof, measuring and extending the TPM prior to giving
+  access to the file, guarantees that all file measurements are included
+  in the measurement list, including the malicious file.
+
+  IMA needs to be enabled before any files are accessed in order to
+  verify a file's integrity and extend the TPM with the file
+  measurement.  Queueing file measurements breaks the measure and extend,
+  before usage, trusted boot paradigm.
+
+  The ima-evm-utils package includes a test for walking the IMA
+  measurement list, calculating the expected TPM PCRs, and comparing the
+  calculated PCR values with the physical TPM.  Testing is important to
+  ensure the TPM is initialized prior to IMA.  Failure to validate the
+  IMA measurement list may indicate IMA went into TPM bypass mode, like
+  in this case.
+
+Reported-by: Mimi Zohar <zohar@linux.ibm.com>
+Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/configs/skiroot_defconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
+index 44309e12d84a..a555adb23591 100644
+--- a/arch/powerpc/configs/skiroot_defconfig
++++ b/arch/powerpc/configs/skiroot_defconfig
+@@ -216,7 +216,7 @@ CONFIG_I2C=y
+ CONFIG_I2C_CHARDEV=y
+ # CONFIG_I2C_HELPER_AUTO is not set
+ CONFIG_I2C_ALGOBIT=y
+-CONFIG_I2C_OPAL=m
++CONFIG_I2C_OPAL=y
+ CONFIG_PPS=y
+ CONFIG_SENSORS_IBMPOWERNV=m
+ CONFIG_DRM=m
diff --git a/openpower/linux/0003-Release-OpenPower-kernel.patch b/openpower/linux/0019-Release-OpenPower-kernel.patch
similarity index 75%
rename from openpower/linux/0003-Release-OpenPower-kernel.patch
rename to openpower/linux/0019-Release-OpenPower-kernel.patch
index 1121b1a..46af0ec 100644
--- a/openpower/linux/0003-Release-OpenPower-kernel.patch
+++ b/openpower/linux/0019-Release-OpenPower-kernel.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Joel Stanley <joel@jms.id.au>
-Date: Tue, 16 Jul 2019 11:40:02 +0930
-Subject: [PATCH 3/3] Release OpenPower kernel
+Date: Tue, 29 Sep 2020 15:39:53 +0930
+Subject: [PATCH 19/19] 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 e16d2e58ed4b..cabff177cbb4 100644
+index acb2499d9b05..6f2e1028c57b 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -2,7 +2,7 @@
  VERSION = 5
  PATCHLEVEL = 4
- SUBLEVEL = 18
+ SUBLEVEL = 68
 -EXTRAVERSION =
 +EXTRAVERSION = -openpower1
  NAME = Kleptomaniac Octopus
diff --git a/openpower/overlay/etc/init.d/S99signal-linux-complete b/openpower/overlay/etc/init.d/S99signal-linux-complete
new file mode 100755
index 0000000..daf81fd
--- /dev/null
+++ b/openpower/overlay/etc/init.d/S99signal-linux-complete
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# Copyright © 2020 Stewart Smith
+# Released under the GNU GPL v3
+
+COMPAT_NODE=/sys/bus/platform/devices/ibm,opal:oppanel/of_node/compatible
+
+case "$1" in
+    start)
+	# Only talk to the rcs,ipl-observer device this way
+	# it's a little bit of a hack, but it's functionally
+	# equivalent to the Raptor build but not relying on debugfs
+	grep rcs,ipl-observer $COMPAT_NODE > /dev/null \
+	    && printf '\xfe\xfe\xfe' > /dev/op_panel
+	;;
+esac
+
+exit 0
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index ebbb6ac..c360f13 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -1,10 +1,7 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-ffs/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-p8/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-p10/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-binaries/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-mrw/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/common-p8-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/machine-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/rainier-2u-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/rainier-4u-xml/Config.in"
@@ -12,18 +9,14 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor-p10/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/petitboot/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/p8-pore-binutils/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hcode/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hcode-p10/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ-p8/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ-p10/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/capp-ucode/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/skiboot/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/libflash/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/loadkeys/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-binutils/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-gcc/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ima-catalog/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sbe/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sbe-p10/Config.in"
diff --git a/openpower/package/common-p8-xml/Config.in b/openpower/package/common-p8-xml/Config.in
deleted file mode 100644
index 560c1d6..0000000
--- a/openpower/package/common-p8-xml/Config.in
+++ /dev/null
@@ -1,4 +0,0 @@
-config BR2_PACKAGE_COMMON_P8_XML
-        bool "Common P8 XML files"
-        default y if BR2_PACKAGE_HOSTBOOT_P8
-        select BR2_PACKAGE_OPENPOWER_MRW
diff --git a/openpower/package/common-p8-xml/common-p8-xml.mk b/openpower/package/common-p8-xml/common-p8-xml.mk
deleted file mode 100644
index cd0afe4..0000000
--- a/openpower/package/common-p8-xml/common-p8-xml.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-#
-# common-p8-xml
-#
-################################################################################
-
-COMMON_P8_XML_VERSION ?= e02b6f6ddd5f225ddb70c286a10685df5b9267db
-COMMON_P8_XML_SITE ?= $(call github,open-power,common-p8-xml,$(COMMON_P8_XML_VERSION))
-
-COMMON_P8_XML_LICENSE = Apache-2.0
-COMMON_P8_XML_LICENSE_FILES = LICENSE
-COMMON_P8_XML_DEPENDENCIES =
-
-COMMON_P8_XML_INSTALL_IMAGES = YES
-COMMON_P8_XML_INSTALL_TARGET = NO
-
-XML_INSTALL_DIRECTORY=$(STAGING_DIR)/openpower_mrw_scratch/
-
-define COMMON_P8_XML_INSTALL_IMAGES_CMDS
-        bash -c 'mkdir -p $(XML_INSTALL_DIRECTORY) && cp -r $(@D)/* $(XML_INSTALL_DIRECTORY)'
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/hcode/Config.in b/openpower/package/hcode/Config.in
index 434bc99..c2a1578 100644
--- a/openpower/package/hcode/Config.in
+++ b/openpower/package/hcode/Config.in
@@ -1,7 +1,9 @@
 config BR2_PACKAGE_HCODE
         bool "hcode"
         default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9)
+        depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
         select BR2_CPP
+        select BR2_PACKAGE_HOSTBOOT_BINARIES
         help
             Project to build the hcode firmware codebase
 
@@ -31,7 +33,7 @@
 
 config BR2_HCODE_VERSION
 	string
-	default "hw021320a.opmst" if BR2_HCODE_LATEST_VERSION
+	default "hw012721b.opmst" if BR2_HCODE_LATEST_VERSION
 	default BR2_HCODE_CUSTOM_VERSION_VALUE \
 		if BR2_HCODE_CUSTOM_VERSION
 
diff --git a/openpower/package/hcode/hcode.mk b/openpower/package/hcode/hcode.mk
index c97d54a..1e4e889 100644
--- a/openpower/package/hcode/hcode.mk
+++ b/openpower/package/hcode/hcode.mk
@@ -12,7 +12,7 @@
 HCODE_INSTALL_IMAGES = YES
 HCODE_INSTALL_TARGET = NO
 
-HCODE_DEPENDENCIES = host-binutils host-ppe42-gcc hostboot-binaries
+HCODE_DEPENDENCIES = host-binutils host-ppe42-toolchain hostboot-binaries
 
 HW_IMAGE_BIN_PATH=output/images/hw_image
 HW_IMAGE_BIN=p9n.hw_image.bin
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index 2fa2d7f..bff9670 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -17,25 +17,11 @@
 HOSTBOOT_BINARIES_INSTALL_IMAGES = YES
 HOSTBOOT_BINARIES_INSTALL_TARGET = NO
 
-# Creating Install Commands specific to P8 and P9
-# -- P8 does not need the nimbus and axone ring files
+# Creating Install Commands specific to P9
 # -- P9 does not need the SBE files ('sbe' package is used in P9)
 # -- P9 uses the 'hcode' package to build the BR2_HOSTBOOT_BINARY_WINK_FILENAME
 
 ###################################
-# P8:
-ifeq ($(BR2_OPENPOWER_POWER8),y)
-define HOSTBOOT_BINARIES_INSTALL_IMAGES_CMDS
-     $(INSTALL) -D $(@D)/cvpd.bin  $(STAGING_DIR)/hostboot_binaries/cvpd.bin
-     $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_WINK_FILENAME) $(STAGING_DIR)/hostboot_binaries/
-     $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_IONV_FILENAME)  $(STAGING_DIR)/hostboot_binaries/
-     $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_SBEC_FILENAME) $(STAGING_DIR)/hostboot_binaries/
-     $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_SBE_FILENAME)  $(STAGING_DIR)/hostboot_binaries/
-     $(INSTALL) -D $(@D)/gpu_gpe1.bin  $(STAGING_DIR)/hostboot_binaries/gpu_gpe1.bin
-endef
-endif
-
-###################################
 # P9:
 ifeq ($(BR2_OPENPOWER_POWER9),y)
 
diff --git a/openpower/package/hostboot-p8/0001-Increase-uart-delay.patch b/openpower/package/hostboot-p8/0001-Increase-uart-delay.patch
deleted file mode 100644
index 5c916d2..0000000
--- a/openpower/package/hostboot-p8/0001-Increase-uart-delay.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0c69e87e86e62253bc5a33cadf41e3d5f80971f0 Mon Sep 17 00:00:00 2001
-From: Brian Silver <bsilver@us.ibm.com>
-Date: Wed, 5 Nov 2014 14:16:36 -0600
-Subject: [PATCH] Changes for Habanero bringup, uart delay and centaur/vddr
-
-Change-Id: I381732be6facd25fb27bbd1f8ac0d75eb5b4980e
----
- src/usr/console/uart.C                         |  2 +-
- src/usr/hwpf/hwp/dram_training/palmetto_vddr.C | 18 +++++++++++++-----
- 2 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/src/usr/console/uart.C b/src/usr/console/uart.C
-index 385a05c..a269168 100644
---- a/src/usr/console/uart.C
-+++ b/src/usr/console/uart.C
-@@ -116,7 +116,7 @@ namespace CONSOLE
-             // Wait for transmit FIFO to have space.
-             {
-                 const uint64_t DELAY_NS = 100;
--                const uint64_t DELAY_LOOPS = 10000;
-+                const uint64_t DELAY_LOOPS = 100000000;
- 
-                 uint8_t data = 0;
-                 uint64_t loops = 0;
--- 
-1.9.1
-
diff --git a/openpower/package/hostboot-p8/0002-GCC-4.9-Make-compiler-use-ELFv1-ABI.patch b/openpower/package/hostboot-p8/0002-GCC-4.9-Make-compiler-use-ELFv1-ABI.patch
deleted file mode 100644
index 66bc026..0000000
--- a/openpower/package/hostboot-p8/0002-GCC-4.9-Make-compiler-use-ELFv1-ABI.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 005cac73915ee6f6b67e9b01ae840b798c1fc80e Mon Sep 17 00:00:00 2001
-From: Andrew Geissler <andrewg@us.ibm.com>
-Date: Mon, 16 Feb 2015 13:43:51 -0600
-Subject: [PATCH] GCC 4.9: Make compiler use ELFv1 ABI.
-
-GCC4.9 defaults to ELFv2 ABI support but we do not have all
-of the needed tools to suppor this.
-
-Change-Id: Iacf49c46b1fb25776ba60d6506ccadff7b46bf60
-RTC: 123430
----
- src/build/mkrules/cflags.env.mk |    9 ++++++---
- 1 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/src/build/mkrules/cflags.env.mk b/src/build/mkrules/cflags.env.mk
-index 8ca32b1..c729341 100644
---- a/src/build/mkrules/cflags.env.mk
-+++ b/src/build/mkrules/cflags.env.mk
-@@ -36,10 +37,12 @@ CFLAGS += -D__HOSTBOOT_MODULE=$(MODULE)
- endif
- 
- COMMONFLAGS += $(OPT_LEVEL) -nostdlib
-+# TODO RTC: 123994 - ELFv2 ABI support (-mabi=elfv1)
- CFLAGS += $(COMMONFLAGS) -mcpu=power7 -nostdinc -g -mno-vsx -mno-altivec\
-           -Wall -Werror -mtraceback=no -pipe \
--	  -ffunction-sections -fdata-sections -ffreestanding -mbig-endian
--ASMFLAGS += $(COMMONFLAGS) -mcpu=power7 -mbig-endian
-+	  -ffunction-sections -fdata-sections -ffreestanding -mbig-endian \
-+      -mabi=elfv1
-+ASMFLAGS += $(COMMONFLAGS) -mcpu=power7 -mbig-endian -mabi=elfv1
- CXXFLAGS += $(CFLAGS) -nostdinc++ -fno-rtti -fno-exceptions -Wall \
- 	    -fuse-cxa-atexit
- LDFLAGS += --nostdlib --sort-common -EB $(COMMONFLAGS)
--- 
-1.7.4.1
-
diff --git a/openpower/package/hostboot-p8/0003-Default-to-std-gnu-03.patch b/openpower/package/hostboot-p8/0003-Default-to-std-gnu-03.patch
deleted file mode 100644
index f6c6710..0000000
--- a/openpower/package/hostboot-p8/0003-Default-to-std-gnu-03.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From bc7b8b21549752274b162c64dbce3c81d20f2cab Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 25 Aug 2016 20:22:30 +1000
-Subject: [PATCH 03/10] Default to std=gnu++03
-
-Seeing as no C++ dialect was previously selected, GCC < 6 defaulted
-to GNU++98 as the standard C++ mode. However... it seems that C++03
-is a better match for HostBoot code (confirmed by Patrick Williams
-in https://github.com/open-power/hostboot/pull/62#discussion_r76830612 )
-
-Change-Id: I6661b5b61319c85c2a90926beb6e2662e96dcf06
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/build/mkrules/cflags.env.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/build/mkrules/cflags.env.mk b/src/build/mkrules/cflags.env.mk
-index c805999..0bae0ec 100644
---- a/src/build/mkrules/cflags.env.mk
-+++ b/src/build/mkrules/cflags.env.mk
-@@ -41,7 +41,7 @@ CFLAGS += $(COMMONFLAGS) -mcpu=power7 -nostdinc -g -mno-vsx -mno-altivec\
- 	  -ffunction-sections -fdata-sections -ffreestanding -mbig-endian
- ASMFLAGS += $(COMMONFLAGS) -mcpu=power7 -mbig-endian
- CXXFLAGS += $(CFLAGS) -nostdinc++ -fno-rtti -fno-exceptions -Wall \
--	    -fuse-cxa-atexit
-+	    -fuse-cxa-atexit -std=gnu++03
- LDFLAGS += --nostdlib --sort-common -EB $(COMMONFLAGS)
- 
- INCFLAGS = $(addprefix -I, $(INCDIR) )
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0004-fix-build-error-return-statement-with-a-value-in-fun.patch b/openpower/package/hostboot-p8/0004-fix-build-error-return-statement-with-a-value-in-fun.patch
deleted file mode 100644
index b1ecacd..0000000
--- a/openpower/package/hostboot-p8/0004-fix-build-error-return-statement-with-a-value-in-fun.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6ae906e70c7209e69b750f6566263fe4998dfb48 Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 25 Aug 2016 19:22:00 +1000
-Subject: [PATCH 04/10] fix build error: return-statement with a value, in
- function returning 'void'
-
-Change-Id: I9dc8b698fec95488e209cbc40b928769a26b6de6
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/include/usr/devicefw/driverif.H | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/include/usr/devicefw/driverif.H b/src/include/usr/devicefw/driverif.H
-index a148725..fb43073 100644
---- a/src/include/usr/devicefw/driverif.H
-+++ b/src/include/usr/devicefw/driverif.H
-@@ -266,7 +266,7 @@ namespace DeviceFW
-                              TargType i_targetType,
-                              deviceOp_t i_regRoute)
-     {
--        return InvalidParameterType(); // Cause a compile fail if not one of
-+        InvalidParameterType(); // Cause a compile fail if not one of
-                                        // the explicit template specializations.
-     }
- 
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0005-error-dereferencing-type-punned-pointer-will-break-s.patch b/openpower/package/hostboot-p8/0005-error-dereferencing-type-punned-pointer-will-break-s.patch
deleted file mode 100644
index fcfe570..0000000
--- a/openpower/package/hostboot-p8/0005-error-dereferencing-type-punned-pointer-will-break-s.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 550d36dca3cdec84d47f05711c2569990d3b4708 Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 25 Aug 2016 19:27:04 +1000
-Subject: [PATCH 05/10] error: dereferencing type-punned pointer will break
- strict-aliasing rules
-
-Change-Id: I63accd3e881c941736ece4b4498c2c9d06ff8761
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.H             | 7 +++++++
- .../usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.H        | 1 -
- src/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.C        | 6 +++---
- 3 files changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.H b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.H
-index e5af2c9..7edf2bf 100755
---- a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.H
-+++ b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.H
-@@ -227,6 +227,13 @@ namespace getAttrData
-         uint8_t              iv_systemType;
-         uint8_t              iv_systemType_ext;
-         uint8_t              iv_dataVersion;
-+    public:
-+	MBvpdVMKeyword() : iv_version(0),iv_systemType(0),
-+			   iv_systemType_ext(0),iv_dataVersion(0) {};
-+	operator uint32_t() const {
-+		return iv_version << 24 | iv_systemType << 16 |
-+			iv_systemType_ext << 8 | iv_dataVersion;
-+	}
-     };
- //  Attribute definition
-     struct MBvpdAttrDef
-diff --git a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.H b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.H
-index f172508..85460b2 100644
---- a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.H
-+++ b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.H
-@@ -33,7 +33,6 @@
- #define _HWP_GETMBVPDMEMDATAVERSION_
- 
- #include <fapi.H>
--#define VM_KEYWORD_DEFAULT_VALUE 0x00000000
- 
- // function pointer typedef definition for HWP call support
- typedef fapi::ReturnCode (*getMBvpdMemoryDataVersion_FP_t)
-diff --git a/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.C b/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.C
-index 2f83fa2..ef64515 100644
---- a/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.C
-+++ b/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdMemoryDataVersion.C
-@@ -50,7 +50,7 @@ fapi::ReturnCode getMBvpdMemoryDataVersion(
-     fapi::ReturnCode l_fapirc;
-     DimmType l_dimmType = ISDIMM;
-     fapi::MBvpdRecord  l_record  = fapi::MBVPD_RECORD_SPDX;
--    uint32_t l_vpdMemoryDataVersion = VM_KEYWORD_DEFAULT_VALUE;   
-+    MBvpdVMKeyword l_vpdMemoryDataVersion;
-     uint32_t l_bufSize = sizeof(l_vpdMemoryDataVersion);
- 
-     FAPI_DBG("getMBvpdMemoryDataVersion: entry ");
-@@ -140,8 +140,8 @@ fapi::ReturnCode getMBvpdMemoryDataVersion(
-         }
-                     
-         // Check if the format byte in the value returned is in between valid range
--        if (( ((MBvpdVMKeyword *)(&l_vpdMemoryDataVersion))->iv_version >  VM_SUPPORTED_HIGH_VER )||
--            ( ((MBvpdVMKeyword *)(&l_vpdMemoryDataVersion))->iv_version == VM_NOT_SUPPORTED ))
-+        if ((l_vpdMemoryDataVersion.iv_version >  VM_SUPPORTED_HIGH_VER )||
-+            (l_vpdMemoryDataVersion.iv_version == VM_NOT_SUPPORTED ))
-         {
-             FAPI_ERR("getMBvpdMemoryDataVersion:"
-                      " keyword data returned is invalid : %d ",
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0006-Change-cv_forcedMemPeriodic-to-uint8_t-as-bool-is-in.patch b/openpower/package/hostboot-p8/0006-Change-cv_forcedMemPeriodic-to-uint8_t-as-bool-is-in.patch
deleted file mode 100644
index 666c747..0000000
--- a/openpower/package/hostboot-p8/0006-Change-cv_forcedMemPeriodic-to-uint8_t-as-bool-is-in.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 74d099aaffa37498859c0840771052f50253ce4d Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 25 Aug 2016 19:33:42 +1000
-Subject: [PATCH 06/10] Change cv_forcedMemPeriodic to uint8_t as bool is
- invalid
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-GCC6 throws the following error:
-operand type ‘bool*’ is incompatible with argument 1 of ‘__sync_fetch_and_and’
-
-GCC documents that bool is invalid for __sync builtins over at:
-https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins
-" GCC allows any scalar type that is 1, 2, 4 or 8 bytes in size other than the C type _Bool or the C++ type bool"
-
-Change-Id: Iab6415348cb19f590921d8ccc5349867fa57a42d
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/include/kernel/cpumgr.H | 2 +-
- src/kernel/cpumgr.C         | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H
-index 68f8972..6e9b697 100644
---- a/src/include/kernel/cpumgr.H
-+++ b/src/include/kernel/cpumgr.H
-@@ -215,7 +215,7 @@ class CpuManager
-              */
-         static uint64_t cv_cpuSeq;
- 
--        static bool cv_forcedMemPeriodic;       //!<  force free / coalesce.
-+        static uint8_t cv_forcedMemPeriodic;       //!<  force free / coalesce.
- 
-         // If a shutdown of all CPUs is requested
-         static bool cv_shutdown_requested;
-diff --git a/src/kernel/cpumgr.C b/src/kernel/cpumgr.C
-index 44f61a1..ce7516f 100644
---- a/src/kernel/cpumgr.C
-+++ b/src/kernel/cpumgr.C
-@@ -50,7 +50,7 @@ cpu_t** CpuManager::cv_cpus[KERNEL_MAX_SUPPORTED_NODES];
- bool CpuManager::cv_shutdown_requested = false;
- uint64_t CpuManager::cv_shutdown_status = 0;
- size_t CpuManager::cv_cpuSeq = 0;
--bool CpuManager::cv_forcedMemPeriodic = false;
-+uint8_t CpuManager::cv_forcedMemPeriodic = 0;
- InteractiveDebug CpuManager::cv_interactive_debug;
- 
- CpuManager::CpuManager() : iv_lastStartTimebase(0)
-@@ -361,7 +361,7 @@ void CpuManager::executePeriodics(cpu_t * i_cpu)
-         }
- 
-         bool forceMemoryPeriodic = __sync_fetch_and_and(&cv_forcedMemPeriodic,
--                                                        false);
-+                                                        0);
- 
-         ++(i_cpu->periodic_count);
-         if((0 == (i_cpu->periodic_count % CPU_PERIODIC_CHECK_MEMORY)) ||
-@@ -461,7 +461,7 @@ size_t CpuManager::getThreadCount()
- 
- void CpuManager::forceMemoryPeriodic()
- {
--    cv_forcedMemPeriodic = true;
-+    cv_forcedMemPeriodic = 1;
- }
- 
- 
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0007-error-the-compiler-can-assume-that-the-address-of-r-.patch b/openpower/package/hostboot-p8/0007-error-the-compiler-can-assume-that-the-address-of-r-.patch
deleted file mode 100644
index 9c2c8f4..0000000
--- a/openpower/package/hostboot-p8/0007-error-the-compiler-can-assume-that-the-address-of-r-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8797f215a09a89c271dab484b892ceedd2486615 Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 25 Aug 2016 20:13:11 +1000
-Subject: [PATCH 07/10] =?UTF-8?q?error:=20the=20compiler=20can=20assume=20?=
- =?UTF-8?q?that=20the=20address=20of=20=E2=80=98r=E2=80=99=20will=20never?=
- =?UTF-8?q?=20be=20NULL?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-     PRDF_ASSERT( &r  != NULL );
-
-Change-Id: I2d60075f9e2232512efe45a5c6aa5563f3a565f5
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C b/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C
-index 9ee1358..ef7279b 100755
---- a/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C
-+++ b/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C
-@@ -120,8 +120,6 @@ ErrorRegister::ErrorRegister( SCAN_COMM_REGISTER_CLASS & r, ResolutionMap & rm,
-     ErrorRegisterType(), scr(r), scr_rc(SUCCESS), rMap(rm),
-     xNoErrorOnZeroScr(false), xScrId(scrId)
- {
--    PRDF_ASSERT( &r  != NULL );
--    PRDF_ASSERT( &rm != NULL );
- }
- 
- /*---------------------------------------------------------------------*/
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0008-Fix-compiler-can-assume-address-will-never-be-NULL-e.patch b/openpower/package/hostboot-p8/0008-Fix-compiler-can-assume-address-will-never-be-NULL-e.patch
deleted file mode 100644
index 73adecc..0000000
--- a/openpower/package/hostboot-p8/0008-Fix-compiler-can-assume-address-will-never-be-NULL-e.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From b315c53f2803b84e35fe646aa82702b82e8ecd98 Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 25 Aug 2016 20:07:58 +1000
-Subject: [PATCH 08/10] Fix compiler can assume address will never be NULL
- error with GCC6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-So, it turns out that relying on the address of something passed by
-reference being able to be NULL isn't exactly a good idea, or remotely
-obvious code. So, instead, do the sane thing and pass a pointer and
-check it.
-
-../../../../src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H:
-In constructor ‘PRDF::AttnTypeRegister::AttnTypeRegister(PRDF::SCAN_COMM_REGISTE
-R_CLASS&, PRDF::SCAN_COMM_REGISTER_CLASS&, PRDF::SCAN_COMM_REGISTER_CLASS&, PRDF
-::SCAN_COMM_REGISTER_CLASS&)’:
-../../../../src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H:4
-42:21: error: the compiler can assume that the address of ‘i_check’ will never b
-e NULL [-Werror=address]
-         iv_check(  NULL == &i_check   ? &cv_null : &i_check),
-                   ~~^~~~~~~~~~~
-../../../../src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H:4
-43:21: error: the compiler can assume that the address of ‘i_recov’ will never b
-e NULL [-Werror=address]
-         iv_recov(  NULL == &i_recov   ? &cv_null : &i_recov),
-                   ~~^~~~~~~~~~~
-../../../../src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H:4
-44:22: error: the compiler can assume that the address of ‘i_special’ will never
- be NULL [-Werror=address]
-         iv_special(NULL == &i_special ? &cv_null : &i_special),
-                    ~~^~~~~~~~~~~~~
-../../../../src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H:4
-45:22: error: the compiler can assume that the address of ‘i_proccs’ will never
-be NULL [-Werror=address]
-         iv_proccs( NULL == &i_proccs  ? &cv_null : &i_proccs),
-                    ~~^~~~~~~~~~~~
-
-Change-Id: Iecd8636da67aac24f64f73fd82b1f7ccbfced900
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- .../common/framework/register/prdfOperatorRegister.H     | 16 ++++++++--------
- .../prdf/common/framework/register/prdfScanFacility.C    |  2 +-
- 2 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H b/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H
-index b0513e4..a26a76e 100755
---- a/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H
-+++ b/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H
-@@ -434,15 +434,15 @@ class AttnTypeRegister : public SCAN_COMM_REGISTER_CLASS
-         iv_bs = &iv_iBS;
-     }
- 
--    AttnTypeRegister( SCAN_COMM_REGISTER_CLASS & i_check,
--                      SCAN_COMM_REGISTER_CLASS & i_recov,
--                      SCAN_COMM_REGISTER_CLASS & i_special,
--                      SCAN_COMM_REGISTER_CLASS & i_proccs ) :
-+    AttnTypeRegister( SCAN_COMM_REGISTER_CLASS *i_check,
-+                      SCAN_COMM_REGISTER_CLASS *i_recov,
-+                      SCAN_COMM_REGISTER_CLASS *i_special,
-+                      SCAN_COMM_REGISTER_CLASS *i_proccs ) :
-         SCAN_COMM_REGISTER_CLASS( ),
--        iv_check(  NULL == &i_check   ? &cv_null : &i_check),
--        iv_recov(  NULL == &i_recov   ? &cv_null : &i_recov),
--        iv_special(NULL == &i_special ? &cv_null : &i_special),
--        iv_proccs( NULL == &i_proccs  ? &cv_null : &i_proccs),
-+        iv_check(  NULL == i_check   ? &cv_null : i_check),
-+        iv_recov(  NULL == i_recov   ? &cv_null : i_recov),
-+        iv_special(NULL == i_special ? &cv_null : i_special),
-+        iv_proccs( NULL == i_proccs  ? &cv_null : i_proccs),
-         iv_iBS(0)         // will fully initialize this inside ctor.
-     {
-         uint32_t l_length = 1024;
-diff --git a/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C b/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C
-index 0d379cf..cad5ce8 100755
---- a/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C
-+++ b/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C
-@@ -166,7 +166,7 @@ SCAN_COMM_REGISTER_CLASS &  ScanFacility::GetAttnTypeRegister(
-                                            SCAN_COMM_REGISTER_CLASS * i_special,
-                                            SCAN_COMM_REGISTER_CLASS * i_proccs )
- {
--  AttnTypeRegister r(*i_check, *i_recov, *i_special, *i_proccs);
-+  AttnTypeRegister r(i_check, i_recov, i_special, i_proccs);
-   return iv_attnRegFw.get(r);
- }
- 
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0009-error-in-C-98-l_vmVersionBuf-must-be-initialized-by-.patch b/openpower/package/hostboot-p8/0009-error-in-C-98-l_vmVersionBuf-must-be-initialized-by-.patch
deleted file mode 100644
index 7e17bf9..0000000
--- a/openpower/package/hostboot-p8/0009-error-in-C-98-l_vmVersionBuf-must-be-initialized-by-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9279a2bf255392321594b9457a67b796195b0891 Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Wed, 31 Aug 2016 13:07:17 +1000
-Subject: [PATCH 09/10] =?UTF-8?q?error:=20in=20C++98=20=E2=80=98l=5FvmVers?=
- =?UTF-8?q?ionBuf=E2=80=99=20must=20be=20initialized=20by=20constructor?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-fix GCC6 thrown error
-
-Change-Id: I9aa508843f54c99ebb59822c39590811423ad0b1
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.C | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.C b/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.C
-index 3739c75..a4685ad 100755
---- a/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.C
-+++ b/src/usr/hwpf/hwp/mvpd_accessors/getMBvpdAttr.C
-@@ -392,7 +392,7 @@ fapi::ReturnCode getVersion  (const fapi::Target    & i_mbaTarget,
-     fapi::Target l_mbTarget;
-     fapi::MBvpdKeyword l_keyword = fapi::MBVPD_KEYWORD_VM;  // try VM first
-     fapi::MBvpdRecord  l_record  = fapi::MBVPD_RECORD_SPDX; // default to SPDX
--    MBvpdVMKeyword l_vmVersionBuf={};
-+    MBvpdVMKeyword l_vmVersionBuf;
-     uint32_t l_version = 0;
-     uint32_t l_vmBufSize = sizeof(MBvpdVMKeyword); // VM keyword is of 4 bytes.
-     uint16_t l_versionBuf = 0;
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0010-Use-std-gnu-03-for-host-g-invocations.patch b/openpower/package/hostboot-p8/0010-Use-std-gnu-03-for-host-g-invocations.patch
deleted file mode 100644
index a9cef3f..0000000
--- a/openpower/package/hostboot-p8/0010-Use-std-gnu-03-for-host-g-invocations.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 9852975319c864b47759cc8d7814bf6f9f0f1f4c Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 3 Nov 2016 14:36:19 +1100
-Subject: [PATCH 10/10] Use -std=gnu++03 for host g++ invocations
-
-Seeing as the ancient GCC on RHEL6 doesn't actually support -std=gnu++03
-we have to go through some hoops to detect it (we use the same magic
-Make as we use in skiboot to do the same)
-
-Change-Id: I338560ae2ebdac842c8055c07519d542564c3923
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/usr/hwpf/makefile | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/src/usr/hwpf/makefile b/src/usr/hwpf/makefile
-index 8d0bb72..ee8cf13 100644
---- a/src/usr/hwpf/makefile
-+++ b/src/usr/hwpf/makefile
-@@ -5,7 +5,7 @@
- #
- # OpenPOWER HostBoot Project
- #
--# Contributors Listed Below - COPYRIGHT 2011,2015
-+# Contributors Listed Below - COPYRIGHT 2011,2016
- # [+] International Business Machines Corp.
- #
- #
-@@ -402,18 +402,26 @@ $(call GENTARGET, ${IF_CMP_FLEX_TARGET}) : \
- 	$(C2) "    FLEX       $(notdir $<)"
- 	$(C1)flex -o$@ $^
- 
-+try = $(shell set -e; if ($(1)) >/dev/null 2>&1; \
-+        then echo "$(2)"; \
-+        else echo "$(3)"; fi )
-+
-+try-cflag = $(call try,$(1) $(2) -x c -c /dev/null -o /dev/null,$(2))
-+HOSTCFLAGS:=-O3
-+HOSTCFLAGS+=$(call try-cflag,$(HOST_PREFIX)g++,-std=gnu++03)
-+
- $(GENDIR)/$(IF_CMP_SUBDIR)/%.host.o: \
- 	    ifcompiler/%.C $(IF_COMPILER_H_FILES) \
- 	    $(GENDIR)/$(IF_CMP_YACC_H_TARGET)
- 	$(C2) "    CXX        $(notdir $<)"
--	$(C1)$(CCACHE) $(HOST_PREFIX)g++ -O3 $< -I ifcompiler -I $(GENDIR) \
-+	$(C1)$(CCACHE) $(HOST_PREFIX)g++ $(HOSTCFLAGS) $< -I ifcompiler -I $(GENDIR) \
- 			-I $(GENDIR)/$(IF_CMP_SUBDIR) \
- 			-I $(ROOTPATH)/src/include/usr/hwpf/hwp -c -o $@
- 
- $(GENDIR)/$(IF_CMP_YACC_C_TARGET:.c=.host.o): \
-     $(GENDIR)/$(IF_CMP_YACC_C_TARGET) $(IF_COMPILER_H_FILES)
- 	$(C2) "    CXX        $(notdir $<)"
--	$(C1)$(CCACHE) $(HOST_PREFIX)g++ -O3 $< -I ifcompiler -I $(GENDIR) \
-+	$(C1)$(CCACHE) $(HOST_PREFIX)g++ $(HOSTCFLAGS) $< -I ifcompiler -I $(GENDIR) \
- 			-I $(GENDIR)/$(IF_CMP_SUBDIR) \
- 			-I $(ROOTPATH)/src/include/usr/hwpf/hwp -c -o $@
- 
-@@ -421,7 +429,7 @@ $(GENDIR)/$(IF_CMP_FLEX_TARGET:.c=.host.o): \
-     $(GENDIR)/$(IF_CMP_FLEX_TARGET) $(IF_COMPILER_H_FILES) \
-     $(GENDIR)/$(IF_CMP_YACC_H_TARGET)
- 	$(C2) "    CXX        $(notdir $<)"
--	$(C1)$(CCACHE) $(HOST_PREFIX)g++ -O3 -DHOSTBOOT_COMPILE $< -I ifcompiler -I $(GENDIR) \
-+	$(C1)$(CCACHE) $(HOST_PREFIX)g++ $(HOSTCFLAGS) -DHOSTBOOT_COMPILE $< -I ifcompiler -I $(GENDIR) \
- 			-I $(GENDIR)/$(IF_CMP_SUBDIR) \
- 			-I $(ROOTPATH)/src/include/usr/hwpf/hwp -c -o $@
- 
--- 
-2.7.4
-
diff --git a/openpower/package/hostboot-p8/0012-kernel-Update-assembly-for-modern-binutils.patch b/openpower/package/hostboot-p8/0012-kernel-Update-assembly-for-modern-binutils.patch
deleted file mode 100644
index 2c51fd3..0000000
--- a/openpower/package/hostboot-p8/0012-kernel-Update-assembly-for-modern-binutils.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 63c3b788eebfa28f0b4032c209e90cc2df7b2c98 Mon Sep 17 00:00:00 2001
-From: Joel Stanley <joel.stanley@au1.ibm.com>
-Date: Tue, 27 Jun 2017 18:00:09 +0930
-Subject: [PATCH] kernel: Update assembly for modern binutils
-
-From Linux 80f23935cadb ("powerpc: Convert cmp to cmpd in idle enter sequence"):
-
-  PowerPC's "cmp" instruction has four operands. Normally people write
-  "cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently
-  people forget, and write "cmp" with just three operands.
-
-  With older binutils this is silently accepted as if this was "cmpw",
-  while often "cmpd" is wanted. With newer binutils GAS will complain
-  about this for 64-bit code. For 32-bit code it still silently assumes
-  "cmpw" is what is meant.
-
-The first two instances are dealing with SPRs, which are 32-bit, so cmpw is correct.
-
-It is not clear what to do in the third use of cmp, but given old toolchains
-have generated cmpw lets assume that we should maintain the behaviour.
-
-Change-Id: Iee5dd5903dcd7ac4028bab0176e08ce3db23b2d5
-Signed-off-by: Joel Stanley <joel.stanley@au1.ibm.com>
----
- src/kernel/shutdown.S | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/src/kernel/shutdown.S b/src/kernel/shutdown.S
-index 629645b26c81..cad5c66b8137 100644
---- a/src/kernel/shutdown.S
-+++ b/src/kernel/shutdown.S
-@@ -5,7 +5,9 @@
- #
- # OpenPOWER HostBoot Project
- #
--# COPYRIGHT International Business Machines Corp. 2012,2014
-+# Contributors Listed Below - COPYRIGHT 2012,2017
-+# [+] International Business Machines Corp.
-+#
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
-@@ -92,7 +94,7 @@ kernel_shutdown_ea0_1_mode:
-         ;// as it was the one that updated the cpu_count & lowest_pir
-         ;// barrier - 1 wait for all nodes to report
-     mfspr  r10, PIR
--    cmp    cr0, r10, r7
-+    cmpw    cr0, r10, r7
-     bne+ 2f       ;// inside KERNEL_BARRIER below
- 
-         ;// Perform barrier - 1
-@@ -131,7 +133,7 @@ kernel_shutdown_ea0_1_mode:
-     addi r8, r8, 8
-             ;// Check for PIR == r7.
-     mfspr r10, PIR
--    cmp cr0, r10, r7
-+    cmpw cr0, r10, r7
-     beq 3f
-         ;// Increment thread count.
- 1:
-@@ -164,7 +166,7 @@ kernel_shutdown_ea0_1_mode:
- 1:
-     or 1,1,1
-     ld r11, 0(r8)
--    cmp cr0, r3, r11
-+    cmpw cr0, r3, r11
-     bne+ 1b
-     isync
-         ;// All other threads have left, so wait a little bit...
--- 
-2.13.1
-
diff --git a/openpower/package/hostboot-p8/Config.in b/openpower/package/hostboot-p8/Config.in
deleted file mode 100644
index 4dacfab..0000000
--- a/openpower/package/hostboot-p8/Config.in
+++ /dev/null
@@ -1,17 +0,0 @@
-config BR2_PACKAGE_HOSTBOOT_P8
-        bool "hostboot-p8"
-        default y if (BR2_OPENPOWER_POWER8)
-        select BR2_CPP
-        help
-            Project to build the hostboot firmware codebase
-
-if BR2_PACKAGE_HOSTBOOT_P8
-
-config BR2_HOSTBOOT_P8_CONFIG_FILE
-        string "Hostboot configuration file for compilation"
-        default default
-        help
-            String used to define hw specific make config file
-
-endif
-
diff --git a/openpower/package/hostboot-p8/hostboot-p8.mk b/openpower/package/hostboot-p8/hostboot-p8.mk
deleted file mode 100644
index fed9f12..0000000
--- a/openpower/package/hostboot-p8/hostboot-p8.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-################################################################################
-#
-# hostboot for POWER8
-#
-################################################################################
-HOSTBOOT_P8_VERSION ?= 4eee07524dfdac2bd515605ca796b701562b3e95
-
-HOSTBOOT_P8_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_P8_VERSION))
-
-HOSTBOOT_P8_LICENSE = Apache-2.0
-HOSTBOOT_P8_LICENSE_FILES = LICENSE
-HOSTBOOT_P8_DEPENDENCIES = host-binutils
-
-HOSTBOOT_P8_INSTALL_IMAGES = YES
-HOSTBOOT_P8_INSTALL_TARGET = NO
-
-HOSTBOOT_P8_ENV_VARS=$(TARGET_MAKE_ENV) \
-    CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_P8_CONFIG_FILE) \
-    OPENPOWER_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \
-    HOSTBOOT_P8_VERSION=`cat $(HOSTBOOT_P8_VERSION_FILE)` 
-
-HOSTBOOT_P8_POST_PATCH_HOOKS += HOSTBOOT_P8_APPLY_PATCHES
-
-define HOSTBOOT_P8_BUILD_CMDS
-        $(HOSTBOOT_P8_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE)'
-endef
-
-define HOSTBOOT_P8_INSTALL_IMAGES_CMDS
-        cd $(@D) && source ./env.bash && $(@D)/src/build/tools/hbDistribute --openpower $(STAGING_DIR)/hostboot_build_images/
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/hostboot/Config.in b/openpower/package/hostboot/Config.in
index 3ec891c..8c16ba0 100644
--- a/openpower/package/hostboot/Config.in
+++ b/openpower/package/hostboot/Config.in
@@ -25,7 +25,7 @@
 
 config BR2_HOSTBOOT_VERSION
 	string
-	default "46174931e05562140af4ef53b5074420cf142332" if BR2_HOSTBOOT_LATEST_VERSION
+	default "15795187349adc018e36cb88f865acbb0e20834f" if BR2_HOSTBOOT_LATEST_VERSION
 	default BR2_HOSTBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_HOSTBOOT_CUSTOM_VERSION
 
diff --git a/openpower/package/machine-xml/Config.in b/openpower/package/machine-xml/Config.in
index 63d31e2..c9d7082 100755
--- a/openpower/package/machine-xml/Config.in
+++ b/openpower/package/machine-xml/Config.in
@@ -3,7 +3,6 @@
 config BR2_PACKAGE_MACHINE_XML
         bool "machine_xml"
         default y if (BR2_OPENPOWER_PLATFORM)
-        select BR2_PACKAGE_COMMON_P8_XML if (BR2_OPENPOWER_POWER8)
 
 choice
 	prompt "Machine XML location"
diff --git a/openpower/package/machine-xml/machine-xml.mk b/openpower/package/machine-xml/machine-xml.mk
index 61070e3..2f625d3 100644
--- a/openpower/package/machine-xml/machine-xml.mk
+++ b/openpower/package/machine-xml/machine-xml.mk
@@ -21,9 +21,6 @@
 ifeq ($(BR2_OPENPOWER_POWER9),y)
 MACHINE_XML_DEPENDENCIES += hostboot
 endif
-ifeq ($(BR2_OPENPOWER_POWER8),y)
-MACHINE_XML_DEPENDENCIES += hostboot-p8 openpower-mrw common-p8-xml
-endif
 
 MACHINE_XML_INSTALL_IMAGES = YES
 MACHINE_XML_INSTALL_TARGET = YES
diff --git a/openpower/package/occ-p8/Config.in b/openpower/package/occ-p8/Config.in
deleted file mode 100644
index 0137e94..0000000
--- a/openpower/package/occ-p8/Config.in
+++ /dev/null
@@ -1,16 +0,0 @@
-config BR2_PACKAGE_OCC_P8
-        bool "OCC for P8"
-        default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER8)
-        select BR2_CPP
-        help
-            Project to build OCC
-
-if BR2_PACKAGE_OCC_P8
-
-config BR2_OCC_P8_BIN_FILENAME
-        string "Name of OCC P8 image file"
-	default "occ.bin"
-        help
-            String used to define name of the OCC binary image file
-
-endif
diff --git a/openpower/package/occ-p8/occ-p8.mk b/openpower/package/occ-p8/occ-p8.mk
deleted file mode 100644
index 0ef38a2..0000000
--- a/openpower/package/occ-p8/occ-p8.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-################################################################################
-#
-# occ for power8
-#
-################################################################################
-
-OCC_P8_VERSION ?= 28b9f6edc698d19ccb721beaf8de8b786c11f990
-OCC_P8_SITE ?= $(call github,open-power,occ,$(OCC_P8_VERSION))
-OCC_P8_LICENSE = Apache-2.0
-
-OCC_P8_LICENSE_FILES = src/LICENSE
-
-OCC_P8_INSTALL_IMAGES = YES
-OCC_P8_INSTALL_TARGET = NO
-
-OCC_P8_STAGING_DIR = $(STAGING_DIR)/occ
-
-OCC_P8_IMAGE_BIN_PATH = src/image.bin
-OCC_P8_DEPENDENCIES = host-binutils host-p8-pore-binutils
-
-define OCC_P8_BUILD_CMDS
-        cd $(@D)/src && \
-        make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) all && \
-        make tracehash && \
-        make combineImage
-endef
-
-OCC_P8_BUILD_CMDS ?= $(OCC_P8_BUILD_CMDS_P8)
-
-define OCC_P8_INSTALL_IMAGES_CMDS
-       mkdir -p $(STAGING_DIR)/occ
-       cp $(@D)/$(OCC_P8_IMAGE_BIN_PATH) $(OCC_P8_STAGING_DIR)/$(BR2_OCC_P8_BIN_FILENAME)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/occ/Config.in b/openpower/package/occ/Config.in
index 4ebb73d..b55a58a 100644
--- a/openpower/package/occ/Config.in
+++ b/openpower/package/occ/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OCC
         bool "OCC (POWER9)"
         default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9)
+        depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
         select BR2_CPP
         help
             Project to build OCC
@@ -43,7 +44,7 @@
 
 config BR2_OCC_VERSION
 	string
-	default "3ab29212518e6574019fd569588a58cba9ba9823" if BR2_OCC_LATEST_VERSION
+	default "16131c38c2e593206447403c3ac79b18fb86e21a" if BR2_OCC_LATEST_VERSION
 	default BR2_OCC_CUSTOM_VERSION_VALUE \
 		if BR2_OCC_CUSTOM_VERSION
 
diff --git a/openpower/package/occ/occ.mk b/openpower/package/occ/occ.mk
index 39ad15e..7d8c582 100644
--- a/openpower/package/occ/occ.mk
+++ b/openpower/package/occ/occ.mk
@@ -18,7 +18,7 @@
 
 OCC_IMAGE_BIN_PATH = obj/image.bin
 
-OCC_DEPENDENCIES = host-binutils host-ppe42-gcc
+OCC_DEPENDENCIES = host-binutils host-ppe42-toolchain
 ifeq ($(BR2_OCC_GPU_BIN_BUILD),y)
 	OCC_DEPENDENCIES += hostboot-binaries
 endif
diff --git a/openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk b/openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
similarity index 92%
rename from openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk
rename to openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
index c456b0d..c3f6796 100644
--- a/openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk
+++ b/openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
@@ -23,7 +23,7 @@
 
 # Commands to extract and install the Open Capi Memory Buffer Firmware (OCMBFW)
 define OCMB_EXPLORER_FW_INSTALL_IMAGES_CMDS
-      $(INSTALL) -D $(@D)/$(OCMBFW_FILENAME) $(BINARIES_DIR)/
+      $(INSTALL) -D $(@D)/$(call qstrip,$(BR2_OCMBFW_FILENAME)) $(BINARIES_DIR)/
 endef
 
 define OCMB_EXPLORER_FW_EXTRACT_CMDS
diff --git a/openpower/package/openpower-mrw/Config.in b/openpower/package/openpower-mrw/Config.in
deleted file mode 100644
index ea052b4..0000000
--- a/openpower/package/openpower-mrw/Config.in
+++ /dev/null
@@ -1,3 +0,0 @@
-config BR2_PACKAGE_OPENPOWER_MRW
-        bool "Machine Readable Workbook (MRW) infrastructure"
-        default y if BR2_PACKAGE_HOSTBOOT_P8
diff --git a/openpower/package/openpower-mrw/openpower-mrw.mk b/openpower/package/openpower-mrw/openpower-mrw.mk
deleted file mode 100644
index e70cbd6..0000000
--- a/openpower/package/openpower-mrw/openpower-mrw.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-################################################################################
-#
-# openpower-mrw
-#
-################################################################################
-
-OPENPOWER_MRW_VERSION = 0729a4a68c0e731a8d3720f1a5aee190d165400b
-OPENPOWER_MRW_SITE = $(call github,open-power,openpower-mrw,$(OPENPOWER_MRW_VERSION))
-
-OPENPOWER_MRW_LICENSE = Apache-2.0
-OPENPOWER_MRW_LICENSE_FILES = LICENSE
-OPENPOWER_MRW_DEPENDENCIES =
-
-OPENPOWER_MRW_INSTALL_IMAGES = YES
-OPENPOWER_MRW_INSTALL_TARGET = NO
-
-OPENPOWER_MRW_ENV_VARS=INSTALL_DIRECTORY=$(STAGING_DIR)/usr/bin/
-
-define OPENPOWER_MRW_BUILD_CMDS
-        $(OPENPOWER_MRW_ENV_VARS) bash -c 'cd $(@D) && $(MAKE)'
-endef
-
-define OPENPOWER_MRW_INSTALL_IMAGES_CMDS
-        $(OPENPOWER_MRW_ENV_VARS) bash -c 'cd $(@D) && $(MAKE) install'
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index a25bf52..18443b4 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -1,22 +1,17 @@
 config BR2_PACKAGE_OPENPOWER_PNOR
         bool "openpower_pnor"
-        default y if (BR2_OPENPOWER_PLATFORM)
+        default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9)
         depends on (!BR2_PACKAGE_OPENPOWER_PNOR_P10)
-        select BR2_PACKAGE_HOSTBOOT_P10 if (! (BR2_OPENPOWER_POWER8 || BR2_OPENPOWER_POWER9) )
-        select BR2_PACKAGE_HOSTBOOT if BR2_OPENPOWER_POWER9
-        select BR2_PACKAGE_HOSTBOOT_P8 if BR2_OPENPOWER_POWER8
+        select BR2_PACKAGE_HOSTBOOT
         select BR2_PACKAGE_HOSTBOOT_BINARIES
         select BR2_PACKAGE_SKIBOOT
         select BR2_PACKAGE_OPENPOWER_FFS
-        select BR2_PACKAGE_OCC_P10 if (! (BR2_OPENPOWER_POWER8 || BR2_OPENPOWER_POWER9 ) )
-        select BR2_PACKAGE_OCC if BR2_OPENPOWER_POWER9
-        select BR2_PACKAGE_OCC_P8 if BR2_OPENPOWER_POWER8
+        select BR2_PACKAGE_OCC
         select BR2_PACKAGE_CAPP_UCODE
         select BR2_PACKAGE_IMA_CATALOG
         select BR2_PACKAGE_HOST_OPENPOWER_VPNOR
         select BR2_PACKAGE_MACHINE_XML
-        select BR2_PACKAGE_HCODE_P10 if (BR2_OPENPOWER_POWER10)
-        select BR2_PACKAGE_HCODE if (BR2_OPENPOWER_POWER9)
+        select BR2_PACKAGE_HCODE if BR2_OPENPOWER_POWER9
         help
             Utilites for building a targeting binary image
 
@@ -178,8 +173,4 @@
         bool "Create a virtual PNOR image along with the standard image"
         default n
 
-config BR2_OPENPOWER_MAKE_LIDS
-        bool "Create a package of content and signature binaries to be used for lid creation"
-        default n
-
 endmenu
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index e5fa930..a114c3c 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -4,28 +4,29 @@
 #
 ################################################################################
 
-OPENPOWER_PNOR_VERSION ?= aa76df051c5196b311039337e757e0fbe1ae78a9
-
-# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
-# after that, when code is propagated to a public repo
-#OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
-OPENPOWER_PNOR_SITE = git@github.ibm.com:open-power/pnor.git
-OPENPOWER_PNOR_SITE_METHOD=git
+OPENPOWER_PNOR_VERSION ?= aa4c350255616b6406830fd6b564aebefaf7add4
+OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
 
 OPENPOWER_PNOR_LICENSE = Apache-2.0
 OPENPOWER_PNOR_LICENSE_FILES = LICENSE
 OPENPOWER_PNOR_DEPENDENCIES = hostboot-binaries machine-xml skiboot host-openpower-ffs capp-ucode host-openpower-pnor-util
 
-SBE_P10_VERSION = $(call qstrip,$(BR2_SBE_P10_VERSION))
-
 ifeq ($(BR2_OPENPOWER_POWER9),y)
-    OPENPOWER_PNOR_DEPENDENCIES += hcode
+OPENPOWER_PNOR_DEPENDENCIES += hcode
 endif
 
 ifeq ($(BR2_PACKAGE_IMA_CATALOG),y)
 OPENPOWER_PNOR_DEPENDENCIES += ima-catalog
 endif
 
+ifneq ($(BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD),y)
+
+ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
+OPENPOWER_PNOR_DEPENDENCIES += linux
+endif
+
+endif
+
 ifeq ($(BR2_OPENPOWER_PNOR_XZ_ENABLED),y)
 OPENPOWER_PNOR_DEPENDENCIES += host-xz
 XZ_ARG=-xz_compression
@@ -43,12 +44,8 @@
 SIGN_MODE_ARG=-sign_mode $(BR2_OPENPOWER_SECUREBOOT_SIGN_MODE)
 endif
 
-ifeq ($(BR2_OPENPOWER_POWER10),y)
-    OPENPOWER_RELEASE=p10
-else ifeq ($(BR2_OPENPOWER_POWER9),y)
+ifeq ($(BR2_OPENPOWER_POWER9),y)
     OPENPOWER_RELEASE=p9
-else
-    OPENPOWER_RELEASE=p8
 endif
 
 OPENPOWER_PNOR_INSTALL_IMAGES = YES
@@ -66,14 +63,8 @@
 OUTPUT_BUILD_DIR = $(STAGING_DIR)/../../../build/
 OUTPUT_IMAGES_DIR = $(STAGING_DIR)/../../../images/
 HOSTBOOT_BUILD_IMAGES_DIR = $(STAGING_DIR)/hostboot_build_images/
-FSP_TRACE_IMAGES_DIR = $(STAGING_DIR)/fsp-trace/
-SBE_IMAGE_DIR = $(STAGING_DIR)/../../../build/sbe-p10-"$(SBE_P10_VERSION)"/images
-DEVTREE_BIN_DIR = $(STAGING_DIR)/usr/share/pdata/
-# The pdata generated device tree file name will be based on machine xml filename
-QSTRIP_OP_MACHINE_XML_FILENAME = $(call qstrip,$(BR2_OPENPOWER_MACHINE_XML_FILENAME))
-$(eval BMC_POWER_TARGET_FILENAME = $$(patsubst %.xml,%.dtb,$(QSTRIP_OP_MACHINE_XML_FILENAME)))
 # See Open-Power's Hostboot repo, file: src/build/buildpnor/PnorUtils.pm,
-# function: loadPnorLayout(); at the end of that function the generated PNOR layout XML file
+# function: loadPnorLayout(); at the end of that function the generated XML file
 # is concatenated with "WithOffsets.xml"
 GENERATED_PNOR_LAYOUT_FILES = $(shell find "$(OPENPOWER_PNOR_SCRATCH_DIR)" -maxdepth 1 -name "*WithOffsets.xml")
 
@@ -83,22 +74,18 @@
                $(OUTPUT_BUILD_DIR)/linux-$(LINUX_VERSION)/.config \
                $(OUTPUT_BUILD_DIR)/linux-$(LINUX_VERSION)/vmlinux \
                $(OUTPUT_BUILD_DIR)/linux-$(LINUX_VERSION)/System.map \
- 	       $(FSP_TRACE_IMAGES_DIR)/fsp-trace \
                $(OUTPUT_IMAGES_DIR)/zImage.epapr \
                $(GENERATED_PNOR_LAYOUT_FILES)
 
 # Subpackages we want to include in the version info (do not include openpower-pnor)
 OPENPOWER_VERSIONED_SUBPACKAGES = skiboot
 
-ifeq ($(BR2_PACKAGE_HOSTBOOT_P8),y)
-    OPENPOWER_VERSIONED_SUBPACKAGES += hostboot-p8 occ-p8
-else ifeq ($(BR2_PACKAGE_HOSTBOOT_P10),y)
-    OPENPOWER_VERSIONED_SUBPACKAGES += hostboot-p10 occ-p10 sbe-p10 hcode-p10 ocmb-explorer-fw
-	OPENPOWER_PNOR_DEPENDENCIES += hostboot-p10 occ-p10 sbe-p10 hcode-p10 ocmb-explorer-fw
-else ifeq ($(BR2_PACKAGE_HOSTBOOT),y)
-    OPENPOWER_VERSIONED_SUBPACKAGES += hostboot occ
+ifeq ($(BR2_PACKAGE_HOSTBOOT),y)
+OPENPOWER_VERSIONED_SUBPACKAGES += hostboot occ
 endif
-
+ifeq ($(BR2_PACKAGE_OCMB_EXPLORER_FW),y)
+OPENPOWER_VERSIONED_SUBPACKAGES += ocmb-explorer-fw
+endif
 OPENPOWER_VERSIONED_SUBPACKAGES += linux petitboot machine-xml hostboot-binaries capp-ucode
 OPENPOWER_PNOR = openpower-pnor
 
@@ -107,11 +94,7 @@
     OPENPOWER_VERSIONED_SUBPACKAGES += sbe hcode
 endif
 
-ifeq ($(BR2_PACKAGE_OCC_P10),y)
-    OCC_BIN_FILENAME=$(BR2_OCC_P10_BIN_FILENAME)
-else ifeq ($(BR2_PACKAGE_OCC_P8),y)
-    OCC_BIN_FILENAME=$(BR2_OCC_P8_BIN_FILENAME)
-else
+ifeq ($(BR2_PACKAGE_OCC),y)
     OCC_BIN_FILENAME=$(BR2_OCC_BIN_FILENAME)
 endif
 
@@ -119,12 +102,6 @@
     OCMB_EXPLORER_FW_URL=$(call qstrip,$(OCMB_EXPLORER_FW_SITE)/$(OCMB_EXPLORER_FW_SOURCE))
 endif
 
-DEVTREE_BLOB_FILENAME = ""
-ifeq ($(BR2_OPENPOWER_POWER10),y)
-    DEVTREE_BLOB_FILENAME = $(DEVTREE_BIN_DIR)/$(BMC_POWER_TARGET_FILENAME)
-    OPENPOWER_PNOR_DEPENDENCIES += pdata
-endif
-
 define OPENPOWER_PNOR_INSTALL_IMAGES_CMDS
         mkdir -p $(OPENPOWER_PNOR_SCRATCH_DIR)
 
@@ -160,8 +137,6 @@
 	    -ocmbfw_original_filename $(BINARIES_DIR)/$(BR2_OCMBFW_FILENAME) \
 	    -ocmbfw_binary_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_PROCESSED_FILENAME) \
             -pnor_layout $(@D)/"$(OPENPOWER_RELEASE)"Layouts/$(BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME) \
-            -sbe_img_dir $(SBE_IMAGE_DIR) \
-            -devtree_binary_filename $(DEVTREE_BLOB_FILENAME) \
             $(XZ_ARG) $(KEY_TRANSITION_ARG) $(SIGN_MODE_ARG) \
 
         mkdir -p $(STAGING_DIR)/pnor/
@@ -184,8 +159,7 @@
             -wofdata_binary_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/$(BR2_WOFDATA_BINARY_FILENAME) \
             -memddata_binary_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/$(BR2_MEMDDATA_BINARY_FILENAME) \
             -ocmbfw_binary_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_PROCESSED_FILENAME) \
-            -openpower_version_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/openpower_pnor_version.bin  \
-            -devtree_binary_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/DEVTREE.bin
+            -openpower_version_filename $(OPENPOWER_PNOR_SCRATCH_DIR)/openpower_pnor_version.bin
 
         $(INSTALL) $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME) $(BINARIES_DIR)
 
@@ -201,22 +175,11 @@
         if [ "$(BR2_BUILD_PNOR_SQUASHFS)" == "y" ]; then \
             PATH=$(HOST_DIR)/usr/bin:$(PATH) $(HOST_DIR)/usr/bin/generate-tar -i squashfs -m $(BR2_OPENPOWER_CONFIG_NAME) -f $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME).squashfs.tar $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME) -s; \
             $(INSTALL) $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME).squashfs.tar $(BINARIES_DIR); \
-            cd $(STAGING_DIR)/pnor/; PATH=$(HOST_DIR)/usr/sbin:$(PATH) $(HOST_DIR)/usr/bin/generate-ubi $(BR2_OPENPOWER_PNOR_FILENAME).squashfs.tar; \
-            $(INSTALL) $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME).ubi.mtd $(BINARIES_DIR); \
         else \
             PATH=$(HOST_DIR)/usr/bin:$(PATH) $(HOST_DIR)/usr/bin/generate-tar -i static -m $(BR2_OPENPOWER_CONFIG_NAME) -f $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME).static.tar.gz $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME) -s; \
             $(INSTALL) $(STAGING_DIR)/pnor/$(BR2_OPENPOWER_PNOR_FILENAME).static.tar.gz $(BINARIES_DIR); \
         fi
 
-        # Make the lids
-        if [ "$(BR2_OPENPOWER_MAKE_LIDS)" == "y" ]; then \
-            $(TARGET_MAKE_ENV) $(@D)/makelidpkg \
-                 $(OUTPUT_IMAGES_DIR)/ebmc_lids.tar.gz \
-                 $(OPENPOWER_PNOR_SCRATCH_DIR); \
-        else \
-            echo "Not making LIDs"; \
-        fi
-
 	#Create Debug Tarball
 	mkdir -p $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/
 	cp -r $(FILES_TO_TAR) $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/
@@ -226,4 +189,4 @@
 
 $(eval $(generic-package))
 # Generate openPOWER pnor version string by combining subpackage version string files
-$(eval $(OPENPOWER_VERSION))
+$(eval $(call OPENPOWER_VERSION,$(OPENPOWER_PNOR)))
diff --git a/openpower/package/p8-pore-binutils/Config.in b/openpower/package/p8-pore-binutils/Config.in
deleted file mode 100644
index a29397a..0000000
--- a/openpower/package/p8-pore-binutils/Config.in
+++ /dev/null
@@ -1,6 +0,0 @@
-config BR2_PACKAGE_HOST_P8_PORE_BINUTILS
-        bool "p8-pore-binutils"
-        default y if (BR2_OPENPOWER_POWER8)
-        select BR2_CPP
-        help
-            Project to build the P8 PORE binutils
diff --git a/openpower/package/p8-pore-binutils/p8-pore-binutils.mk b/openpower/package/p8-pore-binutils/p8-pore-binutils.mk
deleted file mode 100644
index 880dc09..0000000
--- a/openpower/package/p8-pore-binutils/p8-pore-binutils.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-################################################################################
-#
-# p8-pore-binutils
-#
-################################################################################
-
-P8_PORE_BINUTILS_VERSION ?= 91069b732e4c253055cd94fff6ad179116563df9
-P8_PORE_BINUTILS_SITE ?= $(call github,open-power,p8-pore-binutils,$(P8_PORE_BINUTILS_VERSION))
-P8_PORE_BINUTILS_LICENSE = GPLv3+
-P8_PORE_BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB
-HOST_P8_PORE_BINUTILS_DEPENDENCIES = host-binutils
-
-P8_PORE_BINUTILS_DIR = $(STAGING_DIR)/p8-pore-binutils
-P8_PORE_BINUTILS_BIN = $(STAGING_DIR)/p8-pore-binutils/linux
-
-define HOST_P8_PORE_BINUTILS_BUILD_CMDS
-        cd $(@D) && \
-        ./configure --prefix=$(P8_PORE_BINUTILS_DIR) \
-                    --exec-prefix=$(P8_PORE_BINUTILS_BIN) \
-                    --target=pore-elf64 && \
-        make configure-host && \
-        make CFLAGS=-Wno-error LDFLAGS=-all-static
-endef
-
-define HOST_P8_PORE_BINUTILS_INSTALL_CMDS
-        bash -c 'cd $(@D) && make install'
-endef
-
-$(eval $(host-generic-package))
diff --git a/openpower/package/ppe42-binutils/Config.in b/openpower/package/ppe42-binutils/Config.in
index 341e8ad..a878732 100644
--- a/openpower/package/ppe42-binutils/Config.in
+++ b/openpower/package/ppe42-binutils/Config.in
@@ -1,6 +1,5 @@
 config BR2_PACKAGE_HOST_PPE42_BINUTILS
         bool "ppe42-binutils"
-        default y if (BR2_OPENPOWER_PLATFORM && (BR2_OPENPOWER_POWER10 || BR2_OPENPOWER_POWER9))
         select BR2_CPP
         help
             Project to build the PPE42 PORE binutils
diff --git a/openpower/package/ppe42-binutils/ppe42-binutils.mk b/openpower/package/ppe42-binutils/ppe42-binutils.mk
index 0c365b8..90abbf4 100644
--- a/openpower/package/ppe42-binutils/ppe42-binutils.mk
+++ b/openpower/package/ppe42-binutils/ppe42-binutils.mk
@@ -10,8 +10,8 @@
 
 PPE42_BINUTILS_DEPENDENCIES = host-binutils
 
-PPE42_BINUTILS_DIR = $(STAGING_DIR)/ppe42-binutils
-PPE42_BINUTILS_BIN = $(STAGING_DIR)/ppe42-binutils/linux
+PPE42_BINUTILS_DIR = $(HOST_DIR)/$(PPE42_TOOLCHAIN_DIR)
+PPE42_BINUTILS_BIN = $(HOST_DIR)/$(PPE42_TOOLCHAIN_BIN)
 
 define HOST_PPE42_BINUTILS_BUILD_CMDS
         cd $(@D) && \
diff --git a/openpower/package/ppe42-gcc/Config.in b/openpower/package/ppe42-gcc/Config.in
index 54ae38b..b7361bb 100644
--- a/openpower/package/ppe42-gcc/Config.in
+++ b/openpower/package/ppe42-gcc/Config.in
@@ -1,6 +1,12 @@
 config BR2_PACKAGE_HOST_PPE42_GCC
         bool "ppe42-gcc"
-        default y if (BR2_OPENPOWER_PLATFORM && (BR2_OPENPOWER_POWER10 || BR2_OPENPOWER_POWER9))
+        select BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
+        select BR2_PACKAGE_PPE42_BINUTILS
         select BR2_CPP
         help
             Project to build the PPE42 gcc
+
+if BR2_PACKAGE_HOST_PPE42_GCC
+config BR2_PACKAGE_PROVIDES_PPE42_TOOLCHAIN
+        default "ppe42-gcc"
+endif
diff --git a/openpower/package/ppe42-gcc/ppe42-gcc.mk b/openpower/package/ppe42-gcc/ppe42-gcc.mk
index 31496cc..faae762 100644
--- a/openpower/package/ppe42-gcc/ppe42-gcc.mk
+++ b/openpower/package/ppe42-gcc/ppe42-gcc.mk
@@ -10,9 +10,10 @@
 
 PPE42_GCC_DEPENDENCIES = ppe42-binutils gmp mpfr mpc
 HOST_PPE42_GCC_DEPENDENCIES = host-ppe42-binutils host-gmp host-mpfr host-mpc
+PPE42_GCC_PROVIDES = ppe42-toolchain
 
-PPE42_GCC_DIR = $(STAGING_DIR)/ppe42-binutils
-PPE42_GCC_BIN = $(STAGING_DIR)/ppe42-binutils/linux
+PPE42_GCC_DIR = $(HOST_DIR)/$(PPE42_TOOLCHAIN_DIR)
+PPE42_GCC_BIN = $(HOST_DIR)/$(PPE42_TOOLCHAIN_BIN)
 
 define HOST_PPE42_GCC_BUILD_CMDS
         cd $(@D) && \
diff --git a/openpower/package/ppe42-toolchain-external/Config.in b/openpower/package/ppe42-toolchain-external/Config.in
new file mode 100644
index 0000000..10b58db
--- /dev/null
+++ b/openpower/package/ppe42-toolchain-external/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_PPE42_TOOLCHAIN_EXTERNAL
+	bool "ppe42-toolchain-external"
+	select BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
+	help
+	  Use an external PPE42 toolchain
+
+if BR2_PACKAGE_PPE42_TOOLCHAIN_EXTERNAL
+config BR2_PACKAGE_PROVIDES_PPE42_TOOLCHAIN
+	default "ppe42-toolchain-external"
+
+config BR2_PPE42_TOOLCHAIN_EXTERNAL_PATH
+	string "External PPE42 toolchain path"
+	help
+	  Pathname to where the external PPE42 toolchain is
+	  installed. The compiler is expected to be fully
+	  contained within the "sysroot/ppe42-toolchain"
+	  directory
+endif
diff --git a/openpower/package/ppe42-toolchain-external/ppe42-toolchain-external.mk b/openpower/package/ppe42-toolchain-external/ppe42-toolchain-external.mk
new file mode 100644
index 0000000..1fb9f00
--- /dev/null
+++ b/openpower/package/ppe42-toolchain-external/ppe42-toolchain-external.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# ppe42-toolchain-external
+#
+################################################################################
+PPE42_TOOLCHAIN_EXTERNAL_REDISTRIBUTE = NO
+PPE42_TOOLCHAIN_EXTERNAL_SITE =
+PPE42_TOOLCHAIN_EXTERNAL_SOURCE =
+PPE42_TOOLCHAIN_EXTERNAL_PROVIDES = ppe42-toolchain
+PPE42_TOOLCHAIN_EXTERNAL_PATH = \
+	$(call qstrip,$(BR2_PPE42_TOOLCHAIN_EXTERNAL_PATH))/$(PPE42_TOOLCHAIN_DIR)
+
+define HOST_PPE42_TOOLCHAIN_EXTERNAL_CONFIGURE_CMDS
+        test -e $(PPE42_TOOLCHAIN_EXTERNAL_PATH)
+endef
+
+define HOST_PPE42_TOOLCHAIN_EXTERNAL_INSTALL_CMDS
+        ln -snf $(PPE42_TOOLCHAIN_EXTERNAL_PATH) $(HOST_DIR)/$(PPE42_TOOLCHAIN_DIR)
+
+endef
+
+$(eval $(host-generic-package))
+
diff --git a/openpower/package/sb-signing-utils/keys/README.md b/openpower/package/sb-signing-utils/keys/README.md
index f70e6c2..b4c4835 100644
--- a/openpower/package/sb-signing-utils/keys/README.md
+++ b/openpower/package/sb-signing-utils/keys/README.md
@@ -2,7 +2,7 @@
 
 ## Background
 
-IBM P8 OpenPOWER systems support a limited set of Secure and Trusted Boot
+IBM P9 OpenPOWER systems support a limited set of Secure and Trusted Boot
 functionality.  Secure Boot implements a processor based chain of trust.  The
 chain starts with an implicitly trusted component with other components being
 authenticated and integrity checked before being executed on the host processor
@@ -10,7 +10,7 @@
 for Measurement (CRTM).  Immutable Read Only Memory (ROM - fixed in the POWER
 processor chip) verifies the initial firmware load.  That firmware verifies
 cryptographic signatures on all subsequent "to be trusted" firmware that is
-loaded for execution on the P8 cores.  Trusted Boot also makes use of this same
+loaded for execution on the P9 cores.  Trusted Boot also makes use of this same
 CRTM by measuring and recording FW images via a Trusted Platform Module (TPM)
 before control is passed on to the next layer in the boot stack.  The CRTM
 design is based on a Public Key Infrastructure (PKI) process to validate the
@@ -20,7 +20,7 @@
 hypervisors, and operating systems.  Each platform manufacturer wants to
 maintain control over its own code and sign it with its own keys.  A single key
 hash is stored in host processor module SEEPROM representing the anchoring root
-set of hardware keys.  The P8 Trusted Boot supports a key management flow that
+set of hardware keys.  The P9 Trusted Boot supports a key management flow that
 makes use of two kinds of hardware root keys, a wide open, well-known, openly
 published public/private key pair (imprint keys) and a set of production keys
 where the private key is protected by a hardware security module (HSM) internal
diff --git a/openpower/package/sb-signing-utils/sb-signing-utils.mk b/openpower/package/sb-signing-utils/sb-signing-utils.mk
index 70b1ae4..efc0f64 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.8
+SB_SIGNING_UTILS_VERSION ?= v0.9
 
 HOST_SB_SIGNING_UTILS_DEPENDENCIES = host-openssl
 
diff --git a/openpower/package/sbe/Config.in b/openpower/package/sbe/Config.in
index fe2bc97..ba1030a 100644
--- a/openpower/package/sbe/Config.in
+++ b/openpower/package/sbe/Config.in
@@ -3,6 +3,7 @@
         default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9)
         select BR2_CPP
         depends on BR2_PACKAGE_HCODE
+        depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
         help
             Project to build the sbe firmware codebase
 
@@ -26,7 +27,7 @@
 
 config BR2_SBE_VERSION
 	string
-	default "512f92467c65876005f92ebe1d3f2abe078db265" if BR2_SBE_LATEST_VERSION
+	default "57ebdcc1478d96220d8e71e0397a128b09df5435" if BR2_SBE_LATEST_VERSION
 	default BR2_SBE_CUSTOM_VERSION_VALUE \
 		if BR2_SBE_CUSTOM_VERSION
 
diff --git a/openpower/package/sbe/sbe.mk b/openpower/package/sbe/sbe.mk
index 121e2c4..2f6d5b4 100644
--- a/openpower/package/sbe/sbe.mk
+++ b/openpower/package/sbe/sbe.mk
@@ -8,7 +8,7 @@
 SBE_SITE = $(call github,open-power,sbe,$(SBE_VERSION))
 
 SBE_LICENSE = Apache-2.0
-SBE_DEPENDENCIES = host-ppe42-gcc hcode
+SBE_DEPENDENCIES = host-ppe42-toolchain hcode
 
 SBE_INSTALL_IMAGES = YES
 SBE_INSTALL_TARGET = NO
diff --git a/openpower/package/skiboot/skiboot.mk b/openpower/package/skiboot/skiboot.mk
index 708cef7..6b7d6aa 100644
--- a/openpower/package/skiboot/skiboot.mk
+++ b/openpower/package/skiboot/skiboot.mk
@@ -18,40 +18,34 @@
 SKIBOOT_INSTALL_IMAGES = YES
 SKIBOOT_INSTALL_TARGET = NO
 
-ifeq ($(BR2_SKIBOOT_DEVICETREE),y)
-SKIBOOT_DEPENDENCIES += host-dtc
-endif
 
-SKIBOOT_MAKE_OPTS += CC="$(TARGET_CC)" LD="$(TARGET_LD)" \
-		     AS="$(TARGET_AS)" AR="$(TARGET_AR)" NM="$(TARGET_NM)" \
-		     OBJCOPY="$(TARGET_OBJCOPY)" OBJDUMP="$(TARGET_OBJDUMP)" \
-		     SIZE="$(TARGET_CROSS)size"
-
-ifeq ($(BR2_TARGET_SKIBOOT_EMBED_PAYLOAD),y)
-SKIBOOT_MAKE_OPTS += KERNEL="$(BINARIES_DIR)/$(LINUX_IMAGE_NAME)"
-
-ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
-SKIBOOT_DEPENDENCIES += linux-rebuild-with-initramfs
-else
+ifeq ($(BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD),y)
+SKIBOOT_MAKE_OPTS += KERNEL=$(BINARIES_DIR)/$(LINUX_IMAGE_NAME)
 SKIBOOT_DEPENDENCIES += linux
 endif
 
+ifeq ($(BR2_SKIBOOT_DEVICETREE),y)
+SKIBOOT_DEPENDENCIES += host-dtc
+define SKIBOOT_BUILD_DEVICETREE
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/external/devicetree all
+endef
+define SKIBOOT_INSTALL_DEVICETREE
+	$(INSTALL) -D -m 644 $(@D)/external/devicetree/*.dtb $(BINARIES_DIR)
+endef
 endif
 
+# Pass Configure opts as env to not override Skiboot's
+# Additionally, Skiboot expects SKIBOOT_VERSION as env
 define SKIBOOT_BUILD_CMDS
-	$(TARGET_CONFIGURE_OPTS) SKIBOOT_VERSION=`cat $(SKIBOOT_VERSION_FILE)` \
-		$(MAKE) $(SKIBOOT_MAKE_OPTS) -C $(@D) all
-
-	$(if $(BR2_SKIBOOT_DEVICETREE), \
-		$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/external/devicetree)
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
+		SKIBOOT_VERSION=`cat $(SKIBOOT_VERSION_FILE)` \
+		$(MAKE) -C $(@D) $(SKIBOOT_MAKE_OPTS) all
+	$(SKIBOOT_BUILD_DEVICETREE)
 endef
 
 define SKIBOOT_INSTALL_IMAGES_CMDS
 	$(INSTALL) -D -m 755 $(@D)/skiboot.lid $(BINARIES_DIR)
-
-	$(if $(BR2_SKIBOOT_DEVICETREE), \
-		$(INSTALL) -D -m 644 \
-			$(@D)/external/devicetree/*.dtb $(BINARIES_DIR))
+	$(SKIBOOT_INSTALL_DEVICETREE)
 endef
 
 $(eval $(generic-package))
diff --git a/openpower/patches/blackbird-patches/hostboot/0001-Add-detailed-ISTEP-output-option-to-hostboot.patch b/openpower/patches/blackbird-patches/hostboot/0001-Add-detailed-ISTEP-output-option-to-hostboot.patch
new file mode 100644
index 0000000..67baa48
--- /dev/null
+++ b/openpower/patches/blackbird-patches/hostboot/0001-Add-detailed-ISTEP-output-option-to-hostboot.patch
@@ -0,0 +1,71 @@
+From d90e6c513094231f622a427030f3dbca1eeb5ed5 Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineering.com>
+Date: Thu, 18 Apr 2019 06:28:50 +0000
+Subject: [PATCH] Add detailed ISTEP output option to hostboot
+
+Output detailed ISTEP data over LPC port 81h/82h in support of RCS
+Talos II systems.  These systems will deadlock due to FSI silicon bugs
+in the CPUs unless the BMC is aware of the current ISTEP data in order
+to properly sequence BMC-side FSI service startup.
+---
+ src/usr/initservice/istepdispatcher/HBconfig  |  5 ++++
+ .../istepdispatcher/istepdispatcher.C         | 27 +++++++++++++++++++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/src/usr/initservice/istepdispatcher/HBconfig b/src/usr/initservice/istepdispatcher/HBconfig
+index 7987f8ef3..ccbd43854 100644
+--- a/src/usr/initservice/istepdispatcher/HBconfig
++++ b/src/usr/initservice/istepdispatcher/HBconfig
+@@ -21,6 +21,11 @@ config ISTEP_LPC_PORT80_DEBUG
+     help
+         Writes ISTEP progress to LPC port 80h.
+ 
++config ISTEP_LPC_PORT8X_DEBUG
++    default n
++    help
++        Writes detailed ISTEP progress to LPC port 81h / 82h.
++
+ config HANG_ON_MFG_SRC_TERM
+     default y
+     help
+diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
+index e8db88f33..8f2d57298 100644
+--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
++++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
+@@ -2521,6 +2521,33 @@ errlHndl_t IStepDispatcher::sendProgressCode(bool i_needsLock)
+     port80_val++;
+ #endif
+ 
++#ifdef CONFIG_ISTEP_LPC_PORT8X_DEBUG
++    // Detailed istep output for consumption by BMC on e.g. RCS Talos II systems.
++    //
++    // Due to FSI silicon issues, those platforms may fail to start correctly
++    // if the BMC is not aware of the exact ISTEP being run to control BMC
++    // service sequencing.
++    //
++    // NEVER output fake values here, only real ISTEP data.
++    // Data is latched in on write to port 82h
++    uint8_t port81_val = iv_curIStep & 0xff;
++    uint8_t port82_val = iv_curSubStep & 0xff;
++    size_t port81_len = sizeof(port81_val);
++    size_t port82_len = sizeof(port82_val);
++    // Write port 81h first
++    err = deviceWrite(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL,
++                      &port81_val, port81_len,
++                      DEVICE_LPC_ADDRESS(LPC::TRANS_IO, 0x81));
++    delete err; // this is debug only, ignore any errors
++    err = NULL;
++    // Then write port 82h, latching in the full 16-bit value for read
++    err = deviceWrite(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL,
++                      &port82_val, port82_len,
++                      DEVICE_LPC_ADDRESS(LPC::TRANS_IO, 0x82));
++    delete err; // this is debug only, ignore any errors
++    err = NULL;
++#endif
++
+ #ifdef CONFIG_CONSOLE_OUTPUT_PROGRESS
+     //--- Display step on serial console
+     if ((iv_curIStep != lastIstep) || (iv_curSubStep != lastSubstep))
+-- 
+2.23.0
+
diff --git a/openpower/patches/mihawk-patches/hostboot/hostboot-20200728-changed-Delay-registers-and-RD-VERF-registers-values.patch b/openpower/patches/mihawk-patches/hostboot/hostboot-20200728-changed-Delay-registers-and-RD-VERF-registers-values.patch
new file mode 100644
index 0000000..98198ad
--- /dev/null
+++ b/openpower/patches/mihawk-patches/hostboot/hostboot-20200728-changed-Delay-registers-and-RD-VERF-registers-values.patch
@@ -0,0 +1,378 @@
+diff -Nuar hostboot-A/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_training.C hostboot-B/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_training.C
+--- hostboot-A/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_training.C	2020-06-23 00:00:29.000000000 +0800
++++ hostboot-B/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_training.C	2020-07-28 14:01:06.787757875 +0800
+@@ -473,6 +473,8 @@
+ 
+     // Sets up the RD VREF sense workaround
+     FAPI_TRY( mss::workarounds::dp16::rd_vref_vref_sense_cleanup( i_target ) );
++    
++    FAPI_TRY( mss::workarounds::dp16::Modify_rd_vref_val( i_target ) );
+ 
+ fapi_try_exit:
+     return fapi2::current_err;
+diff -Nuar hostboot-A/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C hostboot-B/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C
+--- hostboot-A/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C	2020-06-23 00:00:29.000000000 +0800
++++ hostboot-B/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C	2020-07-28 15:05:57.606781063 +0800
+@@ -130,6 +130,204 @@
+     return fapi2::current_err;
+ }
+ 
++fapi2::ReturnCode delay_setting_registers(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target,const uint64_t i_rp  )
++{
++    // Runs the cleanup here
++    static const std::vector<uint64_t> l_addrs =
++    {
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR0_P0_0, 
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY0_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY1_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY2_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY3_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY4_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY5_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY6_RANK_PAIR3_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR0_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR0_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR0_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR0_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR0_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR1_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR1_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR1_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR1_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR1_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR2_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR2_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR2_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR2_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR2_P0_4,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR3_P0_0,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR3_P0_1,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR3_P0_2,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR3_P0_3,
++        MCA_DDRPHY_DP16_READ_DELAY7_RANK_PAIR3_P0_4,
++    };    
++
++    char dest[19];
++    char ans[]="pu.mca:k0:n0:s0:p00";
++    const char*src = mss::c_str(i_target);
++    strncpy(dest, src, 19);
++    int add = 0;
++
++    if(strncmp(dest,ans,19) == 0){
++          add = 1542;   
++      }
++    else{
++        add = 1028;
++    }
++ 
++    for(const auto& l_reg : l_addrs)
++    {       
++        fapi2::buffer<uint64_t> l_data;
++        
++        // Gets the data
++        FAPI_TRY(mss::getScom(i_target, l_reg, l_data));
++		  
++			  l_data=l_data+add;
++
++        // Writes the data
++        FAPI_TRY(mss::putScom(i_target, l_reg, l_data));       
++    }
++
++    
++fapi_try_exit:
++    return fapi2::current_err;
++}
++
+ } // close namespace nvdimm
+ 
+ namespace dp16
+@@ -216,6 +414,104 @@
+     return fapi2::current_err;
+ }
+ 
++fapi2::ReturnCode MCBIST0_modify_vref_val(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target)
++{
++    // Runs the cleanup here
++    //MCBIST0
++	  static const std::vector<uint64_t> l_addrs_mcbist0 =
++    {
++		// DP0
++        MCA_DDRPHY_DP16_RD_VREF_DAC_0_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_1_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_2_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_3_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_4_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_5_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_6_P0_0,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_7_P0_0,
++
++        // DP1
++        MCA_DDRPHY_DP16_RD_VREF_DAC_0_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_1_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_2_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_3_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_4_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_5_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_6_P0_1,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_7_P0_1,
++
++        // DP2
++        MCA_DDRPHY_DP16_RD_VREF_DAC_0_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_1_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_2_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_3_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_4_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_5_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_6_P0_2,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_7_P0_2,
++
++        // DP3
++        MCA_DDRPHY_DP16_RD_VREF_DAC_0_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_1_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_2_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_3_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_4_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_5_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_6_P0_3,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_7_P0_3,
++
++        // DP4 - we only have 8 bits here, so 4 registers
++        MCA_DDRPHY_DP16_RD_VREF_DAC_0_P0_4,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_1_P0_4,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_2_P0_4,
++        MCA_DDRPHY_DP16_RD_VREF_DAC_3_P0_4,
++    };
++		
++	  char dest[19];
++    char ans[]="pu.mca:k0:n0:s0:p00";
++    const char*src = mss::c_str(i_target);
++    strncpy(dest, src, 19);
++	  int decrease = 0;
++	  if(strncmp(dest,ans,19) == 0){
++        decrease=2;   
++    }
++    else{
++        decrease=3;
++	  }
++	
++    // Note: this bit does not exist in our scom def, so constexpr'ing it here
++    //constexpr uint64_t VREFSENSE_BIT = 62; //62
++	
++    for(const auto& l_reg : l_addrs_mcbist0)
++    {
++        fapi2::buffer<uint64_t> l_data;
++        // Gets the data
++        FAPI_TRY(mss::getScom(i_target, l_reg, l_data));
++					
++			  l_data=l_data-decrease;
++             
++        // Writes the data
++        FAPI_TRY(mss::putScom(i_target, l_reg, l_data));
++    }
++		
++fapi_try_exit:
++    return fapi2::current_err;
++}
++
++fapi2::ReturnCode Modify_rd_vref_val( const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target )
++{
++    // If the workaround does not need to be run, return success
++    if(mss::chip_ec_feature_skip_rd_vref_vrefsense_override(i_target))
++    {
++        return fapi2::FAPI2_RC_SUCCESS;
++    }
++	
++	  //Modify the value for MCBIST0 (decrease p00:5 p01:3)
++	  MCBIST0_modify_vref_val( i_target);
++     
++    return fapi2::FAPI2_RC_SUCCESS;
++}
++
+ ///
+ /// @brief Workarounds for after training
+ /// @param[in] i_target the fapi2 target of the port
+diff -Nuar hostboot-A/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H hostboot-B/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H
+--- hostboot-A/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H	2020-06-23 00:00:29.000000000 +0800
++++ hostboot-B/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H	2020-07-28 14:01:06.803758043 +0800
+@@ -92,6 +92,8 @@
+ ///
+ fapi2::ReturnCode adjust_rd_dq_delay( const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, const uint64_t i_rp );
+ 
++fapi2::ReturnCode delay_setting_registers(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target,const uint64_t i_rp );
++
+ } // close namespace nvdimm
+ 
+ namespace dp16
+@@ -311,6 +313,14 @@
+ 
+ ///
+ /// @brief Cleans up the VREF sense values after training
++/// @param[in] i_target the fapi2 target of the port
++/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok
++/// @note This function is called after training - it will only be run after coarse wr/rd
++///
++fapi2::ReturnCode Modify_rd_vref_val( const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target );
++
++///
++/// @brief Cleans up the VREF sense values after training
+ /// @param[in] i_target the fapi2 target of the port
+ /// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok
+ /// @note This function is called after training - it will only be run after coarse wr/rd
+diff -Nuar hostboot-A/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C hostboot-B/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C
+--- hostboot-A/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C	2020-06-23 00:00:29.000000000 +0800
++++ hostboot-B/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C	2020-07-28 14:01:06.767757666 +0800
+@@ -112,9 +112,11 @@
+             // Returned from set_rank_pairs, it tells us how many rank pairs
+             // we configured on this port.
+             std::vector<uint64_t> l_pairs;
+-
++            int size;
++            
+             // Get our rank pairs.
+             FAPI_TRY( mss::rank::get_rank_pairs(p, l_pairs), "Error in p9_mss_draminit_training" );
++            size=l_pairs.size();
+ 
+             // For each rank pair we need to calibrate, pop a ccs instruction in an array and execute it.
+             // NOTE: IF YOU CALIBRATE MORE THAN ONE RANK PAIR PER CCS PROGRAM, MAKE SURE TO CHANGE
+@@ -129,6 +131,12 @@
+ 
+                 // Adjusts values for NVDIMM's
+                 FAPI_TRY(mss::workarounds::nvdimm::adjust_rd_dq_delay(p, rp));
++                
++                if (rp ==l_pairs[size-1])
++                {                  
++                //Modify the value for delay
++                FAPI_TRY( mss::workarounds::nvdimm::delay_setting_registers(p,rp)); 
++                }	
diff --git a/openpower/patches/mihawk-patches/openpower-pnor/openpower-pnor-20191118-change-kernel-size-to-24MB.patch b/openpower/patches/mihawk-patches/openpower-pnor/openpower-pnor-20200618-change-kernel-size-to-24MB.patch
similarity index 69%
rename from openpower/patches/mihawk-patches/openpower-pnor/openpower-pnor-20191118-change-kernel-size-to-24MB.patch
rename to openpower/patches/mihawk-patches/openpower-pnor/openpower-pnor-20200618-change-kernel-size-to-24MB.patch
index 92a70a2..d8a20a5 100644
--- a/openpower/patches/mihawk-patches/openpower-pnor/openpower-pnor-20191118-change-kernel-size-to-24MB.patch
+++ b/openpower/patches/mihawk-patches/openpower-pnor/openpower-pnor-20200618-change-kernel-size-to-24MB.patch
@@ -1,5 +1,3 @@
-diff --git a/p9Layouts/defaultPnorLayout_64.xml b/p9Layouts/defaultPnorLayout_64.xml
-index 3f74223..86b8053 100644
 --- a/p9Layouts/defaultPnorLayout_64.xml
 +++ b/p9Layouts/defaultPnorLayout_64.xml
 @@ -222,10 +222,10 @@ Layout Description
@@ -9,7 +7,7 @@
 -        <description>Bootloader Kernel (15.5MB)</description>
 +        <description>Bootloader Kernel (24MB)</description>
          <eyeCatch>BOOTKERNEL</eyeCatch>
-         <physicalOffset>0x2141000</physicalOffset>
+         <physicalOffset>0x21C1000</physicalOffset>
 -        <physicalRegionSize>0xF80000</physicalRegionSize>
 +        <physicalRegionSize>0x1800000</physicalRegionSize>
          <side>A</side>
@@ -19,8 +17,8 @@
      <section>
          <description>OCC Lid (1.125M)</description>
          <eyeCatch>OCC</eyeCatch>
--        <physicalOffset>0x30C1000</physicalOffset>
-+        <physicalOffset>0x3941000</physicalOffset>
+-        <physicalOffset>0x3141000</physicalOffset>
++        <physicalOffset>0x39C1000</physicalOffset>
          <physicalRegionSize>0x120000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -28,8 +26,8 @@
      <section>
          <description>Checkstop FIR data (12K)</description>
          <eyeCatch>FIRDATA</eyeCatch>
--        <physicalOffset>0x31E1000</physicalOffset>
-+        <physicalOffset>0x3A61000</physicalOffset>
+-        <physicalOffset>0x3261000</physicalOffset>
++        <physicalOffset>0x3AE1000</physicalOffset>
          <physicalRegionSize>0x3000</physicalRegionSize>
          <side>A</side>
          <ecc/>
@@ -37,8 +35,8 @@
      <section>
          <description>CAPP Lid (144K)</description>
          <eyeCatch>CAPP</eyeCatch>
--        <physicalOffset>0x31E4000</physicalOffset>
-+        <physicalOffset>0x3A64000</physicalOffset>
+-        <physicalOffset>0x3264000</physicalOffset>
++        <physicalOffset>0x3AE4000</physicalOffset>
          <physicalRegionSize>0x24000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -46,8 +44,8 @@
      <section>
          <description>BMC Inventory (36K)</description>
          <eyeCatch>BMC_INV</eyeCatch>
--        <physicalOffset>0x3208000</physicalOffset>
-+        <physicalOffset>0x3A88000</physicalOffset>
+-        <physicalOffset>0x3288000</physicalOffset>
++        <physicalOffset>0x3B08000</physicalOffset>
          <physicalRegionSize>0x9000</physicalRegionSize>
          <side>sideless</side>
          <reprovision/>
@@ -55,8 +53,8 @@
      <section>
          <description>Hostboot Bootloader (28K)</description>
          <eyeCatch>HBBL</eyeCatch>
--        <physicalOffset>0x3211000</physicalOffset>
-+        <physicalOffset>0x3A91000</physicalOffset>
+-        <physicalOffset>0x3291000</physicalOffset>
++        <physicalOffset>0x3B11000</physicalOffset>
          <!-- Physical Size includes Header rounded to ECC valid size -->
          <!-- Max size of actual HBBL content is 20K and 22.5K with ECC -->
          <physicalRegionSize>0x7000</physicalRegionSize>
@@ -64,8 +62,8 @@
      <section>
          <description>Temporary Attribute Override (32K)</description>
          <eyeCatch>ATTR_TMP</eyeCatch>
--        <physicalOffset>0x3218000</physicalOffset>
-+        <physicalOffset>0x3A98000</physicalOffset>
+-        <physicalOffset>0x3298000</physicalOffset>
++        <physicalOffset>0x3B18000</physicalOffset>
          <physicalRegionSize>0x8000</physicalRegionSize>
          <side>A</side>
          <reprovision/>
@@ -73,8 +71,8 @@
      <section>
          <description>Permanent Attribute Override (32K)</description>
          <eyeCatch>ATTR_PERM</eyeCatch>
--        <physicalOffset>0x3220000</physicalOffset>
-+        <physicalOffset>0x3AA0000</physicalOffset>
+-        <physicalOffset>0x32A0000</physicalOffset>
++        <physicalOffset>0x3B20000</physicalOffset>
          <physicalRegionSize>0x8000</physicalRegionSize>
          <side>A</side>
          <ecc/>
@@ -82,8 +80,8 @@
      <section>
          <description>PNOR Version (4K)</description>
          <eyeCatch>VERSION</eyeCatch>
--        <physicalOffset>0x3228000</physicalOffset>
-+        <physicalOffset>0x3AA8000</physicalOffset>
+-        <physicalOffset>0x32A8000</physicalOffset>
++        <physicalOffset>0x3B28000</physicalOffset>
          <physicalRegionSize>0x2000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -91,8 +89,8 @@
      <section>
          <description>IMA Catalog (256K)</description>
          <eyeCatch>IMA_CATALOG</eyeCatch>
--        <physicalOffset>0x322A000</physicalOffset>
-+        <physicalOffset>0x3AAA000</physicalOffset>
+-        <physicalOffset>0x32AA000</physicalOffset>
++        <physicalOffset>0x3B2A000</physicalOffset>
          <physicalRegionSize>0x40000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -100,8 +98,8 @@
      <section>
          <description>Ref Image Ring Overrides (128K)</description>
          <eyeCatch>RINGOVD</eyeCatch>
--        <physicalOffset>0x326A000</physicalOffset>
-+        <physicalOffset>0x3AEA000</physicalOffset>
+-        <physicalOffset>0x32EA000</physicalOffset>
++        <physicalOffset>0x3B6A000</physicalOffset>
          <physicalRegionSize>0x20000</physicalRegionSize>
          <side>A</side>
      </section>
@@ -109,8 +107,8 @@
          <!-- We need 266KB per module sort, going to support
               10 sorts by default, plus ECC  -->
          <eyeCatch>WOFDATA</eyeCatch>
--        <physicalOffset>0x328A000</physicalOffset>
-+        <physicalOffset>0x3B0A000</physicalOffset>
+-        <physicalOffset>0x330A000</physicalOffset>
++        <physicalOffset>0x3B8A000</physicalOffset>
          <physicalRegionSize>0x300000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -118,8 +116,8 @@
      <section>
          <description>Hostboot deconfig area (64KB)</description>
          <eyeCatch>HB_VOLATILE</eyeCatch>
--        <physicalOffset>0x358A000</physicalOffset>
-+        <physicalOffset>0x3E0A000</physicalOffset>
+-        <physicalOffset>0x360A000</physicalOffset>
++        <physicalOffset>0x3E8A000</physicalOffset>
          <physicalRegionSize>0x5000</physicalRegionSize>
          <side>A</side>
          <reprovision/>
@@ -127,8 +125,8 @@
      <section>
          <description>Memory config data (28K)</description>
          <eyeCatch>MEMD</eyeCatch>
--        <physicalOffset>0x358F000</physicalOffset>
-+        <physicalOffset>0x3E0F000</physicalOffset>
+-        <physicalOffset>0x360F000</physicalOffset>
++        <physicalOffset>0x3E8F000</physicalOffset>
          <physicalRegionSize>0xE000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -136,8 +134,8 @@
      <section>
          <description>SecureBoot Key Transition Partition (16K)</description>
          <eyeCatch>SBKT</eyeCatch>
--        <physicalOffset>0x359D000</physicalOffset>
-+        <physicalOffset>0x3E1D000</physicalOffset>
+-        <physicalOffset>0x361D000</physicalOffset>
++        <physicalOffset>0x3E9D000</physicalOffset>
          <physicalRegionSize>0x4000</physicalRegionSize>
          <side>A</side>
          <sha512Version/>
@@ -145,8 +143,8 @@
      <section>
          <description>HDAT binary data (32KB)</description>
          <eyeCatch>HDAT</eyeCatch>
--        <physicalOffset>0x35A1000</physicalOffset>
-+        <physicalOffset>0x3E21000</physicalOffset>
+-        <physicalOffset>0x3621000</physicalOffset>
++        <physicalOffset>0x3EA1000</physicalOffset>
          <physicalRegionSize>0x8000</physicalRegionSize>
          <side>sideless</side>
          <sha512Version/>
@@ -154,8 +152,17 @@
      <section>
          <description>Ultravisor binary image (1MB)</description>
          <eyeCatch>UVISOR</eyeCatch>
--        <physicalOffset>0x35A9000</physicalOffset>
-+        <physicalOffset>0x3E29000</physicalOffset>
+-        <physicalOffset>0x3629000</physicalOffset>
++        <physicalOffset>0x3EA9000</physicalOffset>
          <physicalRegionSize>0x100000</physicalRegionSize>
          <side>sideless</side>
          <sha512Version/>
+@@ -389,7 +389,7 @@ Layout Description
+     <section>
+         <description>Hostboot Runtime Proxy (32KB)</description>
+         <eyeCatch>HBRT_PROXY</eyeCatch>
+-        <physicalOffset>0x3729000</physicalOffset>
++        <physicalOffset>0x3FA9000</physicalOffset>
+         <physicalRegionSize>0x8000</physicalRegionSize>
+         <side>A</side>
+         <sha512Version/>
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
deleted file mode 100644
index acdb1c0..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0001-Memory-Interleaving-Grouping-change-for-p8dtu.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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
deleted file mode 100644
index 9b3c4b0..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0002-Support-130W-Turismo-Parts.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-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
deleted file mode 100644
index 4f6b021..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0003-Add-support-for-memory-voltage-control-for-p8dtu.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-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
deleted file mode 100644
index 3215bc2..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0004-change-esel-command-netfn-to-IBM-0x3a.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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
deleted file mode 100644
index 943b471..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0005-change-pnor-response-command-to-0x7.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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
deleted file mode 100644
index 58ddb2d..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0006-send-board-ID-to-ipmi.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-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
deleted file mode 100644
index af19f74..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0007-read-riser-id-from-CPLD.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-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
deleted file mode 100644
index 41c24b3..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0008-Fill-board-mfg-time-and-date-in-FRU3.-It-is-read-fro.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-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
deleted file mode 100644
index c6f4a1c..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0009-Hardcode-DIMM-pairing-for-RAS.-Fix-the-issue-that-MB.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-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
deleted file mode 100644
index 172d6ac..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0010-Adjust-APSS-gain-and-offset-from-PWS-FRU-information.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-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
deleted file mode 100644
index bc4f492..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0012-Set-OPAL_MODEL-to-p8dtu1u-or-p8dtu2u-for-1U-and-2U-s.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-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
deleted file mode 100644
index 64709c0..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0013-enable-TPM-required-sensor.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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
deleted file mode 100644
index fe5d816..0000000
--- a/openpower/patches/p8dtu-patches/hostboot-p8/0014-add-gain-and-offset-for-1300w-48V-DC-power-supply.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-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
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0001-Increase-default-watchdog-timeout-to-300-seconds.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0001-Increase-default-watchdog-timeout-to-300-seconds.patch
deleted file mode 100644
index b1d816a..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0001-Increase-default-watchdog-timeout-to-300-seconds.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a4259b9799ebb0f31223d52def871f4851217315 Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 13 Mar 2018 14:50:56 +0300
-Subject: [PATCH] Increase default watchdog timeout to 300 seconds
-
-We need more than 2 minutes to go through some IPL, for instance
-step "13.10 mss_draminit_trainadv" tooks 215 seconds to initialize 8 TiB RAM.
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/include/usr/ipmi/ipmiwatchdog.H | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/include/usr/ipmi/ipmiwatchdog.H b/src/include/usr/ipmi/ipmiwatchdog.H
-index d730e6bc4..37f73624b 100644
---- a/src/include/usr/ipmi/ipmiwatchdog.H
-+++ b/src/include/usr/ipmi/ipmiwatchdog.H
-@@ -58,7 +58,7 @@ namespace IPMIWATCHDOG
- #ifdef CONFIG_BMC_IPMI_LONG_WATCHDOG
- const uint16_t  DEFAULT_WATCHDOG_COUNTDOWN = 2400;
- #else
--const uint16_t  DEFAULT_WATCHDOG_COUNTDOWN = 120;
-+const uint16_t  DEFAULT_WATCHDOG_COUNTDOWN = 300;
- #endif
- 
- /**
--- 
-2.14.1
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0002-Fix-POS-and-SPD-VPD_REC_NUM.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0002-Fix-POS-and-SPD-VPD_REC_NUM.patch
deleted file mode 100644
index cb8a796..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0002-Fix-POS-and-SPD-VPD_REC_NUM.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 1dcf087af57a93ec7f24aa8be73e7ff0ffad22ca Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 13 Mar 2018 15:03:41 +0300
-Subject: [PATCH] Fix POS and SPD-VPD_REC_NUM
-
-Hank Chang: When bringup this 4Socket 128DIMMs system, we hit the following
-VPD/SPD issue and suspected it might be related to the VPD_REC_NUM numbering
-algorithm issue then caused the SPD cache overlap for the 4 sockets case.
-So we simply tried to jump the $aff_pos offset from 16 to 64 for each Proc and
-the issue was fixed/gone.
-
-Originally created by MSI (S188)
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/usr/targeting/common/Targets.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index 35f08428c..4eaba16e7 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -744,7 +744,7 @@ sub processMcs
-                         $self->setAttribute($dimm,"MBA_PORT",$port_num);
-                         $self->setAttribute($dimm,"MBA_DIMM",$dimm_num);
- 
--                        my $aff_pos=16*$proc+$mcs*$self->{MAX_MCS}+4*$mba+
-+                        my $aff_pos=64*$proc+$mcs*$self->{MAX_MCS}+4*$mba+
-                                     2*$port_num+$dimm_num;
-                         $self->setAttribute($dimm, "AFFINITY_PATH",
-                             $parent_affinity
--- 
-2.14.1
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0003-Add-present-bits-info-based-on-pos.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0003-Add-present-bits-info-based-on-pos.patch
deleted file mode 100644
index 02f6c29..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0003-Add-present-bits-info-based-on-pos.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 4310ba2a3b6e6439b0938e10435e435cef1d5738 Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Thu, 29 Mar 2018 11:19:14 +0300
-Subject: [PATCH] Add present bits info based on pos
-
-Originally created by MSI (S188)
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/usr/hwas/hostbootIstep.C | 50 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 50 insertions(+)
-
-diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C
-index af3770295..1330a7e65 100644
---- a/src/usr/hwas/hostbootIstep.C
-+++ b/src/usr/hwas/hostbootIstep.C
-@@ -188,6 +188,11 @@ void* host_discover_targets( void *io_pArgs )
- 
-     // Put out some helpful messages that show which targets we actually found
-     std::map<TARGETING::TYPE,uint64_t> l_presData;
-+    std::map<TARGETING::TYPE,uint64_t> Present_Dimm_P0; //for dimms on CPU P0
-+    std::map<TARGETING::TYPE,uint64_t> Present_Dimm_P1; //for dimms on CPU P1
-+    std::map<TARGETING::TYPE,uint64_t> Present_Dimm_P2; //for dimms on CPU P2
-+    std::map<TARGETING::TYPE,uint64_t> Present_Dimm_P3; //for dimms on CPU P3
-+
-     for (TargetIterator target = targetService().begin();
-          target != targetService().end();
-          ++target)
-@@ -198,11 +203,49 @@ void* host_discover_targets( void *io_pArgs )
-         }
-         TARGETING::TYPE l_type = target->getAttr<TARGETING::ATTR_TYPE>();
-         TARGETING::ATTR_POSITION_type l_pos = 0;
-+        TARGETING::ATTR_HUID_type l_huid = target->getAttr<TARGETING::ATTR_HUID>(); //for showing HUID
-+
-         if( target->tryGetAttr<TARGETING::ATTR_POSITION>(l_pos) )
-         {
-             l_presData[l_type] |= (0x8000000000000000 >> l_pos);
-+
-+            if (l_type == TARGETING::TYPE_DIMM)
-+            {
-+                if (l_pos < 64)
-+                {
-+                    //for dimms on CPU P0
-+                    Present_Dimm_P0[l_type] |= (0x8000000000000000 >> l_pos);
-+                    CONSOLE::displayf(NULL, "MEMORY-INFO| l_pos=0x%X, l_type=0x%0X, l_huid=0x%X, Present_Dimm_P0[l_type]=%.8X%.8X", l_pos, l_type, l_huid, Present_Dimm_P0[l_type] >> 32, Present_Dimm_P0[l_type] & 0xFFFFFFFF);
-+                }
-+                else if ((l_pos >= 64) && (l_pos < 128))
-+                {
-+                    //for dimms on CPU P1
-+                    Present_Dimm_P1[l_type] |= (0x8000000000000000 >> (l_pos - 64));
-+                    CONSOLE::displayf(NULL, "MEMORY-INFO| l_pos=0x%X, l_type=0x%0X, l_huid=0x%X, Present_Dimm_P1[l_type]=%.8X%.8X", l_pos, l_type, l_huid, Present_Dimm_P1[l_type] >> 32, Present_Dimm_P1[l_type] & 0xFFFFFFFF);
-+                }
-+                else if ((l_pos >= 128) && (l_pos < 192))
-+                {
-+                    //for dimms on CPU P2
-+                    Present_Dimm_P2[l_type] |= (0x8000000000000000 >> (l_pos - 128));
-+                    CONSOLE::displayf(NULL, "MEMORY-INFO| l_pos=0x%X, l_type=0x%0X, l_huid=0x%X, Present_Dimm_P2[l_type]=%.8X%.8X", l_pos, l_type, l_huid, Present_Dimm_P2[l_type] >> 32, Present_Dimm_P2[l_type] & 0xFFFFFFFF);
-+                }
-+                else if (l_pos >= 192)
-+                {
-+                    //for dimms on CPU P3
-+                    Present_Dimm_P3[l_type] |= (0x8000000000000000 >> (l_pos - 192));
-+                    CONSOLE::displayf(NULL, "MEMORY-INFO| l_pos=0x%X, l_type=0x%0X, l_huid=0x%X, Present_Dimm_P3[l_type]=%.8X%.8X", l_pos, l_type, l_huid, Present_Dimm_P3[l_type] >> 32, Present_Dimm_P3[l_type] & 0xFFFFFFFF);
-+                }
-+            }
-         }
-     }
-+
-+    CONSOLE::displayf("HWAS", "=========================================");
-+    CONSOLE::displayf("HWAS", "PRESENT> DIMM_P0=%.8X%.8X", Present_Dimm_P0[TARGETING::TYPE_DIMM] >> 32, Present_Dimm_P0[TARGETING::TYPE_DIMM] & 0xFFFFFFFF);
-+    CONSOLE::displayf("HWAS", "PRESENT> DIMM_P1=%.8X%.8X", Present_Dimm_P1[TARGETING::TYPE_DIMM] >> 32, Present_Dimm_P1[TARGETING::TYPE_DIMM] & 0xFFFFFFFF);
-+    CONSOLE::displayf("HWAS", "PRESENT> DIMM_P2=%.8X%.8X", Present_Dimm_P2[TARGETING::TYPE_DIMM] >> 32, Present_Dimm_P2[TARGETING::TYPE_DIMM] & 0xFFFFFFFF);
-+    CONSOLE::displayf("HWAS", "PRESENT> DIMM_P3=%.8X%.8X", Present_Dimm_P3[TARGETING::TYPE_DIMM] >> 32, Present_Dimm_P3[TARGETING::TYPE_DIMM] & 0xFFFFFFFF);
-+    CONSOLE::displayf("HWAS", "=========================================");
-+
-     TARGETING::EntityPath l_epath; //use EntityPath's translation functions
-     for( std::map<TARGETING::TYPE,uint64_t>::iterator itr = l_presData.begin();
-          itr != l_presData.end();
-@@ -210,6 +253,13 @@ void* host_discover_targets( void *io_pArgs )
-     {
-         uint8_t l_type = itr->first;
-         uint64_t l_val = itr->second;
-+
-+        if (l_type == TARGETING::TYPE_DIMM)
-+        {
-+            //to skip DIMM type
-+            continue;
-+        }
-+
-         TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"PRESENT> %s[%.2X]=%.8X%.8X",
-                 l_epath.pathElementTypeAsString(itr->first), l_type, l_val>>32, l_val&0xFFFFFFFF);
- #if (!defined(CONFIG_CONSOLE_OUTPUT_TRACE) && defined(CONFIG_CONSOLE))
--- 
-2.14.1
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0004-Force-print-MCS-grouping-info-to-console.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0004-Force-print-MCS-grouping-info-to-console.patch
deleted file mode 100644
index 9744e1d..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0004-Force-print-MCS-grouping-info-to-console.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 9eea226dc3be928ae297ff2d7284a43f8e43efac Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 13 Mar 2018 15:32:45 +0300
-Subject: [PATCH] Force print MCS grouping info to console
-
-Used to dump interleave mode state.
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- .../mc_config/mss_eff_config/mss_eff_grouping.C    | 25 +++++++++++++---------
- 1 file changed, 15 insertions(+), 10 deletions(-)
-
-diff --git a/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_grouping.C b/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_grouping.C
-index 98f76cd0a..fa4c78f72 100644
---- a/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_grouping.C
-+++ b/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_grouping.C
-@@ -85,6 +85,12 @@
- #include <mss_eff_grouping.H>
- #include <cen_scom_addresses.H>
- #include <mss_error_support.H>
-+#include <console/consoleif.H>
-+
-+#define GRP_TRACE(_fmt_, _args_...) { \
-+    CONSOLE::displayf(NULL, "GROUP-INFO| " _fmt_, ##_args_); \
-+    CONSOLE::flush(); \
-+}
- 
- extern "C"
- {
-@@ -900,10 +906,10 @@ void grouping_group4McsPerGroup(const EffGroupingMemInfo & i_memInfo,
-     {
-         if (config4_gp[i] && config4_gp[i + 1])
-         {
--            FAPI_INF("mss_eff_grouping: Grouped MCSs %u, %u, %u, %u",
-+            GRP_TRACE("mss_eff_grouping: Grouped MCSs %u, %u, %u, %u",
-                      CFG_4MCS[i][0], CFG_4MCS[i][1],
-                      CFG_4MCS[i][2], CFG_4MCS[i][3]);
--            FAPI_INF("mss_eff_grouping: Grouped MCSs %u, %u, %u, %u",
-+            GRP_TRACE("mss_eff_grouping: Grouped MCSs %u, %u, %u, %u",
-                      CFG_4MCS[i + 1][0], CFG_4MCS[i + 1][1],
-                      CFG_4MCS[i + 1][2], CFG_4MCS[1 + 1][3]);
-             gp1 = i;
-@@ -919,7 +925,7 @@ void grouping_group4McsPerGroup(const EffGroupingMemInfo & i_memInfo,
-         {
-             if (config4_gp[i])
-             {
--                FAPI_INF("mss_eff_grouping: Grouped MCSs %u, %u, %u, %u",
-+                GRP_TRACE("mss_eff_grouping: Grouped MCSs %u, %u, %u, %u",
-                          CFG_4MCS[i][0], CFG_4MCS[i][1],
-                          CFG_4MCS[i][2], CFG_4MCS[i][3]);
-                 gp1 = i;
-@@ -1024,7 +1030,7 @@ void grouping_group2McsPerGroup(const EffGroupingMemInfo & i_memInfo,
-         {
-             // These 2 MCSs are not already grouped and have the same amount of
-             // memory
--            FAPI_INF("mss_eff_grouping: Grouped MCSs %u and %u", pos, pos + 1);
-+            GRP_TRACE("mss_eff_grouping: Grouped MCSs %u and %u", pos, pos + 1);
-             o_groupData.iv_data[g][MCS_SIZE] = i_memInfo.iv_mcsSize[pos];
-             o_groupData.iv_data[g][MCS_IN_GROUP] = 2;
-             o_groupData.iv_data[g][GROUP_SIZE] = 2 * i_memInfo.iv_mcsSize[pos];
-@@ -1084,7 +1090,7 @@ void grouping_group2McsPerGroup_oddpair(const EffGroupingMemInfo & i_memInfo,
-         {
-             // These 2 MCSs are not already grouped and have the same amount of
-             // memory
--            FAPI_INF("mss_eff_grouping: Grouped MCSs %u and %u", pos, pos + 1);
-+            GRP_TRACE("mss_eff_grouping: Grouped MCSs %u and %u", pos, pos + 1);
-             o_groupData.iv_data[g][MCS_SIZE] = i_memInfo.iv_mcsSize[pos];
-             o_groupData.iv_data[g][MCS_IN_GROUP] = 2;
-             o_groupData.iv_data[g][GROUP_SIZE] = 2 * i_memInfo.iv_mcsSize[pos];
-@@ -1145,7 +1151,7 @@ void grouping_group2McsPerGroup_usecase(const EffGroupingMemInfo & i_memInfo,
-             {
-                 // These 2 MCSs are not already grouped and have the same amount of
-                 // memory
--                FAPI_INF("mss_eff_grouping: Grouped MCSs %u and %u", pos, var);
-+                GRP_TRACE("mss_eff_grouping: Grouped MCSs %u and %u", pos, var);
-                 o_groupData.iv_data[g][MCS_SIZE] = i_memInfo.iv_mcsSize[pos];
-                 o_groupData.iv_data[g][MCS_IN_GROUP] = 2;
-                 o_groupData.iv_data[g][GROUP_SIZE] = 2 * i_memInfo.iv_mcsSize[pos];
-@@ -1199,7 +1205,7 @@ void grouping_group1McsPerGroup(const EffGroupingMemInfo & i_memInfo,
-             (i_memInfo.iv_mcsSize[pos] != 0))
-         {
-             // This MCS is not already grouped and has memory
--            FAPI_INF("mss_eff_grouping: MCS %u grouped", pos);
-+            GRP_TRACE("mss_eff_grouping: MCS %u grouped", pos);
-             o_groupData.iv_data[g][MCS_SIZE] = i_memInfo.iv_mcsSize[pos];
-             o_groupData.iv_data[g][MCS_IN_GROUP] = 1;
-             o_groupData.iv_data[g][GROUP_SIZE] = i_memInfo.iv_mcsSize[pos];
-@@ -1564,12 +1570,11 @@ void grouping_traceData(const EffGroupingSysAttrs & i_sysAttrs,
- {
-     for (uint8_t i = 0; i < i_groupData.iv_numGroups; i++)
-     {
--        FAPI_INF("mss_eff_grouping: Group %u, MCS Size %u GB, "
-+        GRP_TRACE("mss_eff_grouping: Group %u, MCS Size %u GB, "
-                  "Num MCSs %u, GroupSize %u GB", i,
-                  i_groupData.iv_data[i][MCS_SIZE],
-                  i_groupData.iv_data[i][MCS_IN_GROUP],
-                  i_groupData.iv_data[i][GROUP_SIZE]);
--
-         FAPI_INF("mss_eff_grouping: Group %u, Base Add 0x%08x", i,
-                  i_groupData.iv_data[i][BASE_ADDR]);
- 
-@@ -2248,7 +2253,7 @@ fapi::ReturnCode mss_eff_grouping(const fapi::Target & i_target,
-     std::vector<fapi::Target> &i_associated_centaurs)
- {
-     fapi::ReturnCode rc;
--    FAPI_INF("mss_eff_grouping: Start, chip %s", i_target.toEcmdString());
-+    GRP_TRACE("mss_eff_grouping: Start, chip %s", i_target.toEcmdString());
- 
-     do
-     {
--- 
-2.14.1
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0005-Fill-empty-sensor-id-to-reserved-id-0xFF.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0005-Fill-empty-sensor-id-to-reserved-id-0xFF.patch
deleted file mode 100644
index 5b4bcc7..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0005-Fill-empty-sensor-id-to-reserved-id-0xFF.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From f03937aa32b79e8bde0fa5ff09a0e11e4750bb6f Mon Sep 17 00:00:00 2001
-From: Corey Swenson <cswenson@us.ibm.com>
-Date: Mon, 14 Jan 2019 12:46:22 -0600
-Subject: [PATCH] Vesnin patch
-
-Change-Id: I1116c92f9176d53630a9316312656c03f2a16723
-
-Hank Chang: This patch achieves the following goals:
-a. Auto set all empty sensors with reserved ID - 0xFF instead of being 0x0 in
-   the mrw process (would cause some duplicate sensor@0 in skiboot)
-b. In this way, they could simply save 128 empty DIMM_Temp* IDs to become
-   all 0xFF, and OCC would still report all the non-zero ID's DIMM_Temp*
-   reading in the poll response.
-   And then, apply another "occ-0001-Add-DIMM-temperature-sensors.patch"
-   can customize/override these 0xFF temp_sid again based on the different
-   CPU/Cen/DIMM index which can be decoded by OpenBMC accordingly.
-c. Just simply prints the "N/A" (0xFF) string in the *.rpt file for reviewing
-   all the undefined/reserved sensor targets.
-
-Originally created by MSI (S188)
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/usr/ipmiext/ipmisensor.C           |  6 ++----
- src/usr/targeting/common/processMrw.pl | 25 ++++++++++++++++++++-----
- 2 files changed, 22 insertions(+), 9 deletions(-)
-
-diff --git a/src/usr/ipmiext/ipmisensor.C b/src/usr/ipmiext/ipmisensor.C
-index e3c6405..63a4196 100644
---- a/src/usr/ipmiext/ipmisensor.C
-+++ b/src/usr/ipmiext/ipmisensor.C
-@@ -6,6 +6,7 @@
- /* OpenPOWER HostBoot Project                                             */
- /*                                                                        */
- /* Contributors Listed Below - COPYRIGHT 2014,2019                        */
-+/* [+] International Business Machines Corp.                              */
- /*                                                                        */
- /*                                                                        */
- /* Licensed under the Apache License, Version 2.0 (the "License");        */
-@@ -214,14 +215,11 @@ namespace SENSOR
-         }
-         else
-         {
--            TRACFCOMP(g_trac_ipmi,"We were not able to find a sensor number in"
-+            TRACFCOMP(g_trac_ipmi,"Found a reserved sensor number (0xFF) in"
-                       " the IPMI_SENSORS attribute for sensor_name=0x%x"
-                       "for target with huid=0x%x, skipping call to "
-                       "sendSetSensorReading()",
-                     iv_name, TARGETING::get_huid( iv_target ));
--
--            assert(false);
--
-         }
- 
-         return l_err;
-diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
-index 8bfa7bd..66783c8 100644
---- a/src/usr/targeting/common/processMrw.pl
-+++ b/src/usr/targeting/common/processMrw.pl
-@@ -6,7 +6,7 @@
- #
- # OpenPOWER HostBoot Project
- #
--# Contributors Listed Below - COPYRIGHT 2015,2017
-+# Contributors Listed Below - COPYRIGHT 2015,2019
- # [+] International Business Machines Corp.
- #
- #
-@@ -239,14 +239,29 @@ sub processIpmiSensors {
-                 $sensor_name=$name."_".$name_suffix;
-             }
-             my $attribute_name="";
--            my $s=sprintf("0x%02X%02X,0x%02X",
--                  oct($sensor_type),oct($entity_id),oct($sensor_id));
--            push(@sensors,$s);
-+
-+            if ($sensor_id ne "")
-+            {
-+                my $s = sprintf("0x%02X%02X,0x%02X",
-+                        oct($sensor_type), oct($entity_id), oct($sensor_id));
-+                push(@sensors, $s);
-+            }
-+            else
-+            {
-+                my $s = sprintf("0x%02X%02X,0xFF",
-+                                oct($sensor_type), oct($entity_id));
-+                push(@sensors, $s);
-+            }
-+
-             my $sensor_id_str = "";
-             if ($sensor_id ne "")
-             {
-                 $sensor_id_str = sprintf("0x%02X",oct($sensor_id));
-             }
-+            else
-+            {
-+                $sensor_id_str = sprintf("N/A");
-+            }
-             my $str=sprintf(
-                 " %30s | %10s |  0x%02X  | 0x%02X |    0x%02x   |" .
-                 " %4s | %4d | %4d | %10s | %s\n",
-@@ -1428,7 +1443,7 @@ Options:
-     exit(1);
- }
- 
--# eliminate extra whitespace 
-+# eliminate extra whitespace
- #    Input: string to chop
- sub nowhitespace
- {
--- 
-1.8.2.2
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0006-Delay-for-Centaure-1.2V-ready-on-128-DIMM-system.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0006-Delay-for-Centaure-1.2V-ready-on-128-DIMM-system.patch
deleted file mode 100644
index 35ce1ea..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0006-Delay-for-Centaure-1.2V-ready-on-128-DIMM-system.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 45c23dab36e6dd76023670f4c0766b6104ff0011 Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 13 Mar 2018 15:47:30 +0300
-Subject: [PATCH] Delay for Centaure 1.2V ready on 128 DIMM system
-
-Resolves issue with full equipped DIMM lost.
-Originally created by MSI (S188).
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/usr/hwpf/hwp/dram_training/dram_training.C | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.C b/src/usr/hwpf/hwp/dram_training/dram_training.C
-index bf20b7464..2d8a80e5f 100644
---- a/src/usr/hwpf/hwp/dram_training/dram_training.C
-+++ b/src/usr/hwpf/hwp/dram_training/dram_training.C
-@@ -329,6 +329,7 @@ void*    call_host_disable_vddr( void *io_pArgs )
- {
-     errlHndl_t l_err = NULL;
-     IStepError l_StepError;
-+    uint8_t i;
- 
-     TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
-               ENTER_MRK"call_host_disable_vddr");
-@@ -348,6 +349,12 @@ void*    call_host_disable_vddr( void *io_pArgs )
- 
-     }
- 
-+    //Delay 2 seconds for Centaure 1.2V ready on 128 DIMM system.
-+    for (i = 0; i < 1; ++i)
-+    {
-+        fapiDelay(1000 * 1000000, 10000); // 1,000,000 ns = 1ms, 1000*1ms
-+    }
-+
-     TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
-                EXIT_MRK"call_host_disable_vddr");
- 
--- 
-2.14.1
-
diff --git a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0007-Set-IBM-instead-of-AMI-for-eSEL.patch b/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0007-Set-IBM-instead-of-AMI-for-eSEL.patch
deleted file mode 100644
index a94ada2..0000000
--- a/openpower/patches/vesnin-patches/hostboot-p8/hostboot-0007-Set-IBM-instead-of-AMI-for-eSEL.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 177df7658cbd8c78d5f3cf043e78d02880945b85 Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 13 Mar 2018 15:50:51 +0300
-Subject: [PATCH] Set IBM instead of AMI for eSEL
-
-Originally created by MSI (S188).
-The root cause is that the latest openbmc replace the NETFUN_AMI with
-NETFUN_IBM, so bmc can't log the eSEL from PNOR.
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.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 44283cc0b..0f1309e31 100644
---- a/src/include/usr/ipmi/ipmiif.H
-+++ b/src/include/usr/ipmi/ipmiif.H
-@@ -258,7 +258,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.14.1
-
diff --git a/openpower/patches/vesnin-patches/occ-p8/occ-0001-Add-DIMM-temperature-sensors.patch b/openpower/patches/vesnin-patches/occ-p8/occ-0001-Add-DIMM-temperature-sensors.patch
deleted file mode 100644
index 51f273f..0000000
--- a/openpower/patches/vesnin-patches/occ-p8/occ-0001-Add-DIMM-temperature-sensors.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 7d9fc8ec22199e7fc7eca6079cb42f25554851f7 Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 13 Mar 2018 14:17:00 +0300
-Subject: [PATCH] Add DIMM temperature sensors
-
-Customize/override 0xFF temp_sid based on the different CPU/Cen/DIMM index
-which can be decoded by OpenBMC accordingly.
-See also: hostboot-0005-Fill-empty-sensor-id-to-reserved-id-0xFF.patch.
-
-Originally created by MSI (S188)
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/occ/cmdh/cmdh_fsp_cmds.c | 54 ++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 52 insertions(+), 2 deletions(-)
-
-diff --git a/src/occ/cmdh/cmdh_fsp_cmds.c b/src/occ/cmdh/cmdh_fsp_cmds.c
-index 74e45da..fb2f72d 100755
---- a/src/occ/cmdh/cmdh_fsp_cmds.c
-+++ b/src/occ/cmdh/cmdh_fsp_cmds.c
-@@ -355,10 +355,40 @@ ERRL_RC cmdh_poll_v10(cmdh_fsp_rsp_t * o_rsp_ptr)
-     l_sensorHeader.length = sizeof(cmdh_poll_temp_sensor_t);
-     l_sensorHeader.count  = 0;
- 
-+    uint16_t CpuIpmiId = 0;
-+
-+    //Check the current OCC
-+    if (l_poll_rsp->occ_pres_mask == 0x02)
-+    {
-+        CpuIpmiId = 0x0D;  //CPU1
-+    }
-+    else if (l_poll_rsp->occ_pres_mask == 0x04)
-+    {
-+        CpuIpmiId = 0x02;  //CPU2
-+    }
-+    else if (l_poll_rsp->occ_pres_mask == 0x08)
-+    {
-+        CpuIpmiId = 0x0A;  //CPU3
-+    }
-+    else
-+    {
-+        CpuIpmiId = 0x0B;  //CPU0
-+    }
-+
-     //Initialize to max number of possible temperature sensors.
--    cmdh_poll_temp_sensor_t l_tempSensorList[MAX_NUM_CORES + MAX_NUM_MEM_CONTROLLERS + (MAX_NUM_MEM_CONTROLLERS * NUM_DIMMS_PER_CENTAUR)];
-+    cmdh_poll_temp_sensor_t l_tempSensorList[MAX_NUM_CORES + MAX_NUM_MEM_CONTROLLERS + (MAX_NUM_MEM_CONTROLLERS * NUM_DIMMS_PER_CENTAUR) + 2]; //Add two items for peak/average core temperature.
-     memset(l_tempSensorList, 0x00, sizeof(l_tempSensorList));
- 
-+    //The average value of core temperature. Currently not used.
-+    l_tempSensorList[l_sensorHeader.count].id = G_amec_sensor_list[TEMP2MSP0]->ipmi_sid;
-+    l_tempSensorList[l_sensorHeader.count].value = G_amec_sensor_list[TEMP2MSP0]->sample;
-+    l_sensorHeader.count++;
-+
-+    //The peak value of core temperature
-+    l_tempSensorList[l_sensorHeader.count].id = CpuIpmiId;
-+    l_tempSensorList[l_sensorHeader.count].value = G_amec_sensor_list[TEMP2MSP0PEAK]->sample;
-+    l_sensorHeader.count++;
-+
-     for (k=0; k<MAX_NUM_CORES; k++)
-     {
-         if(CORE_PRESENT(k))
-@@ -370,6 +400,26 @@ ERRL_RC cmdh_poll_v10(cmdh_fsp_rsp_t * o_rsp_ptr)
-     }
- 
-     uint8_t l_cent, l_dimm = 0;
-+    uint16_t CpuId = 0;
-+
-+    //Check the current OCC
-+    if(l_poll_rsp->occ_pres_mask == 0x02)
-+    {
-+        CpuId = 0x0200;  //CPU1
-+    }
-+    else if (l_poll_rsp->occ_pres_mask == 0x04)
-+    {
-+        CpuId = 0x0300;  //CPU2
-+    }
-+    else if (l_poll_rsp->occ_pres_mask == 0x08)
-+    {
-+        CpuId = 0x0400;  //CPU3
-+    }
-+    else
-+    {
-+        CpuId = 0x0100;  //CPU0
-+    }
-+
-     for (l_cent=0; l_cent < MAX_NUM_MEM_CONTROLLERS; l_cent++)
-     {
-         if (CENTAUR_PRESENT(l_cent))
-@@ -391,7 +441,7 @@ ERRL_RC cmdh_poll_v10(cmdh_fsp_rsp_t * o_rsp_ptr)
-             {
-                 if (g_amec->proc[0].memctl[l_cent].centaur.dimm_temps[l_dimm].temp_sid != 0)
-                 {
--                    l_tempSensorList[l_sensorHeader.count].id = g_amec->proc[0].memctl[l_cent].centaur.dimm_temps[l_dimm].temp_sid;
-+                    l_tempSensorList[l_sensorHeader.count].id = CpuId + (l_cent * 8) + l_dimm;  //Add extra temperature IDs for all DIMMs.
-                     //If a dimm timed out long enough, we should return 0xFFFF for that sensor.
-                     if (G_dimm_temp_expired_bitmap.bytes[l_cent] & (DIMM_SENSOR0 >> l_dimm))
-                     {
--- 
-2.14.1
-
diff --git a/openpower/patches/vesnin-patches/occ-p8/occ-0002-Add-temperature-sensor-support-for-CPU-cores.patch b/openpower/patches/vesnin-patches/occ-p8/occ-0002-Add-temperature-sensor-support-for-CPU-cores.patch
deleted file mode 100644
index 7556b97..0000000
--- a/openpower/patches/vesnin-patches/occ-p8/occ-0002-Add-temperature-sensor-support-for-CPU-cores.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 0ec6ab11dcec304876802d1ed7bb01bd059ae311 Mon Sep 17 00:00:00 2001
-From: Artem Senichev <a.senichev@yadro.com>
-Date: Tue, 18 Dec 2018 14:16:56 +0300
-Subject: [PATCH] Add temperature sensor support for CPU cores
-
-IPMI protocol imposes limits on numbers of sensors identifiers (1 byte).
-This limitation doesn't allow us to use unique temperature sensor ID for
-each CPU core (4 CPU * 12 cores = 48 sensors).
-
-OCC uses temperature sensor ID as channel label, these labels are handled
-by phosphor-hwmon service to identify the core:
-
-     I2C               sysfs                   config.yaml
-OCC -----> BMC Kernel -------> Phosphor-hwmon -------------> DBus
-     ID                label                   label->core
-
-This patch makes OCC use own ID as channel label instead of using IPMI
-temperature sensor ID. The new identifier consists of constant prefix
-(0x0f) and core index:
-ID = 0x0f00 + INDEX(core)
-
-Signed-off-by: Artem Senichev <a.senichev@yadro.com>
----
- src/occ/cmdh/cmdh_fsp_cmds.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/occ/cmdh/cmdh_fsp_cmds.c b/src/occ/cmdh/cmdh_fsp_cmds.c
-index 6276992..69c646e 100755
---- a/src/occ/cmdh/cmdh_fsp_cmds.c
-+++ b/src/occ/cmdh/cmdh_fsp_cmds.c
-@@ -393,7 +393,8 @@ ERRL_RC cmdh_poll_v10(cmdh_fsp_rsp_t * o_rsp_ptr)
-     {
-         if(CORE_PRESENT(k))
-         {
--            l_tempSensorList[l_sensorHeader.count].id = G_amec_sensor_list[TEMP2MSP0C0 + k]->ipmi_sid;
-+            // Set the core label as a constant prefix with index
-+            l_tempSensorList[l_sensorHeader.count].id = 0x0f00 + k;
-             l_tempSensorList[l_sensorHeader.count].value = G_amec_sensor_list[TEMP2MSP0C0 + k]->sample;
-             l_sensorHeader.count++;
-         }
--- 
-2.19.2
-
diff --git a/openpower/platform/Config.in b/openpower/platform/Config.in
index b6baa4d..efe480b 100644
--- a/openpower/platform/Config.in
+++ b/openpower/platform/Config.in
@@ -1,12 +1,7 @@
 config BR2_OPENPOWER_PLATFORM
     bool "Enables only one openPower platform"
     default n
-    depends on ((BR2_OPENPOWER_POWER8 || BR2_OPENPOWER_POWER9 || BR2_OPENPOWER_POWER10) && !(BR2_OPENPOWER_POWER8 && BR2_OPENPOWER_POWER9) && !(BR2_OPENPOWER_POWER8 && BR2_OPENPOWER_POWER10) && !(BR2_OPENPOWER_POWER9 && BR2_OPENPOWER_POWER10) && !(BR2_OPENPOWER_POWER8 && BR2_OPENPOWER_POWER9 && BR2_OPENPOWER_POWER10))
-
-config BR2_OPENPOWER_POWER8
-    bool "Enables the OpenPower p8 platform"
-    default n
-    depends on BR2_powerpc64 || BR2_powerpc64le
+    depends on ((BR2_OPENPOWER_POWER9 || BR2_OPENPOWER_POWER10) && !(BR2_OPENPOWER_POWER9 && BR2_OPENPOWER_POWER10))
 
 config BR2_OPENPOWER_POWER9
     bool "Enables the OpenPower p9 platform"
diff --git a/openpower/scripts/update-defconfigs.sh b/openpower/scripts/update-defconfigs.sh
old mode 100644
new mode 100755
index c82900c..f51fc8f
--- a/openpower/scripts/update-defconfigs.sh
+++ b/openpower/scripts/update-defconfigs.sh
@@ -10,6 +10,9 @@
 	echo $PLATFORM
 	ODIR=`mktemp -d`
 	op-build O=$ODIR $PLATFORM_DEFCONFIG
+	if [ $# -gt 0 ]; then
+		buildroot/utils/config --file $ODIR/.config "$@"
+	fi
 	op-build O=$ODIR olddefconfig
 	op-build O=$ODIR savedefconfig
 	rm -rf $ODIR
diff --git a/openpower/toolchain/Config.in b/openpower/toolchain/Config.in
new file mode 100644
index 0000000..c2eeb2e
--- /dev/null
+++ b/openpower/toolchain/Config.in
@@ -0,0 +1,5 @@
+menu "OpenPower Toolchain"
+
+source "$BR2_EXTERNAL_OP_BUILD_PATH/toolchain/ppe42-toolchain/Config.in"
+
+endmenu
diff --git a/openpower/toolchain/ppe42-toolchain/Config.in b/openpower/toolchain/ppe42-toolchain/Config.in
new file mode 100644
index 0000000..a2d6aa3
--- /dev/null
+++ b/openpower/toolchain/ppe42-toolchain/Config.in
@@ -0,0 +1,33 @@
+
+menuconfig BR2_PACKAGE_PPE42_TOOLCHAIN
+	bool "ppe42-toolchain"
+	default y if (BR2_OPENPOWER_POWER9)
+	help
+	  Build the PPE42 toolchain required to build the
+	  POWER9 firmware for OCC, SBE and HCODE
+
+if BR2_PACKAGE_PPE42_TOOLCHAIN
+
+choice
+	prompt "PPE42 Toolchain Type"
+	help
+	  Select whether to build the PPE42 toolchain or
+	  provide an external one
+
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-gcc/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-toolchain-external/Config.in"
+
+endchoice
+
+if BR2_PACKAGE_HOST_PPE42_GCC
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-binutils/Config.in"
+endif
+
+config BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
+	bool
+
+config BR2_PACKAGE_PROVIDES_PPE42_TOOLCHAIN
+	depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN
+	string
+
+endif
diff --git a/openpower/toolchain/ppe42-toolchain/ppe42-toolchain.mk b/openpower/toolchain/ppe42-toolchain/ppe42-toolchain.mk
new file mode 100644
index 0000000..cca0af3
--- /dev/null
+++ b/openpower/toolchain/ppe42-toolchain/ppe42-toolchain.mk
@@ -0,0 +1,9 @@
+################################################################################
+#
+# ppe42-toolchain
+#
+################################################################################
+PPE42_TOOLCHAIN_DIR = $(STAGING_SUBDIR)/ppe42-toolchain
+PPE42_TOOLCHAIN_BIN = $(STAGING_SUBDIR)/ppe42-toolchain/linux
+
+$(eval $(host-virtual-package))
