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/boot-devices.rst b/doc/boot-devices.rst
index da2fd5b..01d3730 100644
--- a/doc/boot-devices.rst
+++ b/doc/boot-devices.rst
@@ -25,16 +25,12 @@
 +-------------------------------+-----------------------+--------+----------------------------+
 | Mellanox ConnectX-4           | MLX5_CORE_EN          |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
-| Alteon AceNIC                 | ACENIC                |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
 | Broadcom Tigon3               | TIGON3                |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
 | Chelsio 10Gb Ethernet         | CHELSIO_T1            |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
 | SeverEngine BladeEngine 10Gb  | BE2NET                |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
-| Exar Xframe 10Gb              | S2IO                  |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
 | Intel PRO/1000 PCIe           | E1000E                |        |                            |
 | Intel PRO/1000                | E1000                 | Qemu   | stewart@linux.vnet.ibm.com |
 +-------------------------------+-----------------------+--------+----------------------------+
@@ -46,25 +42,15 @@
 +-------------------------------+-----------------------+--------+----------------------------+
 | Mellanox 1/10/40Gbit Ethernet | MLX4_EN               |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
-| Myricom Myri-10G Ethernet     | MYRI10GE              |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
 | QLogic QLGE 10Gb Ethernet     | QLGE                  |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
 | NetXen Gigabit Ethernet       | NETXEN_NIC            |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
 | Adaptec AACRAID               | SCSI_AACRAID          |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
-| QLogic BNX2                   | SCSI_BNX2_ISCSI       |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
-| Chelsio T3 iSCSI              | SCSI_CXGB3_ISCSI      |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
-| Chelsio T4 iSCSI              | SCSI_CXGB4_ISCSI      |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
 | LSI Logic MegaRAID            | MEGARAID_NEWGEN       |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
 | LSI MPT Fusion SAS (legacy)   | SCSI_MPT2SAS          |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
 | QLogic QLA2xxx Fibrechannel   | SCSI_QLA_FC           |        |                            |
 +-------------------------------+-----------------------+--------+----------------------------+
-| QLogic ISP4xxx and ISP82xxx   | SCSI_QLA_ISCSI        |        |                            |
-+-------------------------------+-----------------------+--------+----------------------------+
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..41688c7 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,14 +85,10 @@
 # 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
 CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
 CONFIG_SCSI_AACRAID=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
@@ -102,7 +99,6 @@
 # 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
@@ -125,12 +121,11 @@
 CONFIG_DM_MIRROR=m
 CONFIG_DM_ZERO=m
 CONFIG_DM_MULTIPATH=m
+CONFIG_NETDEVICES=y
 # CONFIG_NET_VENDOR_3COM is not set
 # CONFIG_NET_VENDOR_ADAPTEC is not set
 # CONFIG_NET_VENDOR_AGERE is not set
 # CONFIG_NET_VENDOR_ALACRITECH is not set
-CONFIG_ACENIC=m
-CONFIG_ACENIC_OMIT_TIGON_I=y
 # CONFIG_NET_VENDOR_AMAZON is not set
 # CONFIG_NET_VENDOR_AMD is not set
 # CONFIG_NET_VENDOR_AQUANTIA is not set
@@ -143,6 +138,8 @@
 # CONFIG_NET_VENDOR_CADENCE is not set
 # CONFIG_NET_VENDOR_CAVIUM is not set
 CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
 # CONFIG_NET_VENDOR_CISCO is not set
 # CONFIG_NET_VENDOR_CORTINA is not set
 # CONFIG_NET_VENDOR_DEC is not set
@@ -164,9 +161,7 @@
 # CONFIG_MLX5_EN_RXNFC is not set
 # CONFIG_NET_VENDOR_MICREL is not set
 # 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
@@ -182,7 +177,6 @@
 # CONFIG_NET_VENDOR_ROCKER is not set
 # CONFIG_NET_VENDOR_SAMSUNG is not set
 # CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_SFC=m
 # CONFIG_NET_VENDOR_SILAN is not set
 # CONFIG_NET_VENDOR_SIS is not set
 # CONFIG_NET_VENDOR_SMSC is not set
@@ -209,7 +203,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 +210,6 @@
 CONFIG_I2C_CHARDEV=y
 # CONFIG_I2C_HELPER_AUTO is not set
 CONFIG_I2C_ALGOBIT=y
-CONFIG_I2C_OPAL=m
 CONFIG_PPS=y
 CONFIG_SENSORS_IBMPOWERNV=m
 CONFIG_DRM=m
@@ -282,9 +274,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))
