op-build update 4-3-2018
Removed hostboot-0001-Revert-Check-the-Section-Headers-in-Non-Secure-Mode.patch
- a7decd2 commit makes the change permanent in HB
Changes Included for package witherspoon-xml, branch master:
18591a3 - Erich Hauptli - 2018-04-02 - Enabling OCC telemetry data logs
5005334 - Erich Hauptli - 2018-03-29 - TPM FRU Addition and WOF p2 enablement
Changes Included for package hostboot, branch master:
b512980 - Corey Swenson - 2018-04-02 - Add ibscom runtime support
55f0053 - Mike Baiocchi - 2018-03-30 - Reset Host-mode Processor I2C Masters
connected to the TPMs
bca54fb - Marty Gloff - 2018-03-30 - Support multiple nodes in HBRT - Sync
System Attribute Data
713f7f0 - Ilya Smirnov - 2018-03-30 - Secure Boot: Close SBE Security Backdoor
711723b - Dan Crowell - 2018-03-30 - Ignore dummy files when parsing error log
data
5139c57 - Joe McGill - 2018-03-30 - create shells for IO OBUS pre, post training
HWPs
e507de1 - Chris Steffen - 2018-03-30 - I/O Metadata Cleanup
225f409 - Joe McGill - 2018-03-30 - update HWP level metadata for nest, common
files
f903901 - Chris Steffen - 2018-03-30 - Initial Abus Commit
69bd6e4 - Joe McGill - 2018-03-30 - L2 - Fabric updates for multi-chip support
ae7ba42 - Caleb Palmer - 2018-03-30 - PRD: Enable threshold for IPL RCD parity
err
a219839 - Zane Shelley - 2018-03-30 - PRD: support getMemAddrRange() for MBA
ranks
39489bc - Caleb Palmer - 2018-03-30 - PRD: Continue looking for attns after SCOM
fail on mask/act regs
fc2a044 - Christian Geddes - 2018-03-29 - Ensure all hbmutex attributes get
re-initialized on MPIPL
46cd995 - Zane Shelley - 2018-03-29 - PRD: Disable Dynamic Memory Deallocation
for MBA
a6bd3b6 - Christian Geddes - 2018-03-29 - Allow platHwasErrorAddHWCollout now
that FSP supports it
a17b84a - Bill Hoffa - 2018-03-29 - Enable FAPI Cumulus test cases
90eaed6 - Dan Crowell - 2018-03-29 - Force checkstops for unhandled machine
checks
284cebd - Matt Derksen - 2018-03-29 - Change deconfig rules to allow for
Zeppelin proc config
95c1dd7 - Mike Baiocchi - 2018-03-29 - Close and Disable TCEs on Non-Master
Nodes
42e4c42 - Zane Shelley - 2018-03-29 - PRD: moved prdfCenMbaDataBundle.H to
common code
0bd003a - Sameer Veer - 2018-03-28 - Code cleanup - removed test-code not
required in prod
46b6c68 - Louis Stermole - 2018-03-28 - Add empty p9c delayRegs.H for hostboot
9ef8d33 - Sameer Veer - 2018-03-28 - Integrate track before fsp-CI run triggers
9440862 - Prachi Gupta - 2018-03-28 - attrrp_rt.C: translateAddr returns input
address by default
08b8dd5 - Caleb Palmer - 2018-03-27 - Add accessor functions for row repair attr
92069bb - Caleb Palmer - 2018-03-27 - Add get/set functionality for row repair
attr
579e63b - Corey Swenson - 2018-03-27 - Add support for ATTR_FREQ_MCA_MHZ
8a783ea - Corey Swenson - 2018-03-27 - Move runtime scoms to common function
3d9454e - Thi Tran - 2018-03-26 - Do not apply HW414958 to Axone
c4bd7604 - Soma BhanuTej - 2018-03-26 - Mask off bit 26 of TP_LFIR on FSP
machines
fe61cf0 - Mike Baiocchi - 2018-03-26 - Setup Node-Level Attributes for Multinode
TCE Support
a7decd2 - Nicholas E. Bofferding - 2018-03-26 - Revert "Check the Section
Headers in Non-Secure Mode"
b2bffd2 - Dan Crowell - 2018-03-26 - Ensure ATTR_EC_GARD and ATTR_EQ_GARD are
updated before SBE update
a5fb712 - Jenny Huynh - 2018-03-23 - HW438727 Disable clockgate to allow correct
ODL error reporting
d08fdc0 - Nick Klazynski - 2018-03-23 - Remove CDD1.1 security IMC; Apply
indirect branch serialization to HV=0 only
3a4d063 - Tsung Yeung - 2018-03-23 - Adds STR entry and exit functions to
support NVDIMM
ec53527 - Prasad Bg Ranganath - 2018-03-23 - PPB: Update occ min frequency with
real driven value
b8da2d8 - Joachim Fenkes - 2018-03-23 - p9_sbe_lpc_init: Fix timeout setup
eea4b09 - Richard J. Knight - 2018-03-23 - Fix missing set_XX method for
sbeTarget callout
a4d47c4 - Dan Crowell - 2018-03-23 - Support Nimbus DD2.3 and Cumulus 1.2 PLL
Buckets
Changes Included for package pnor, branch master:
dafcab4 - William Hoffa - 2018-04-02 - Merge pull request #94 from
rjknight/master
16d2c17 - Richard J. Knight - 2018-03-29 - Add support for hcode repo
Changes Included for package hostboot-binaries, branch master:
Signed-off-by: Corey Swenson <cswenson@us.ibm.com>
diff --git a/openpower/configs/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig
index eb84233..8015415 100644
--- a/openpower/configs/witherspoon_defconfig
+++ b/openpower/configs/witherspoon_defconfig
@@ -42,7 +42,7 @@
BR2_OPENPOWER_POWER9=y
BR2_HOSTBOOT_CONFIG_FILE="witherspoon.config"
BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="witherspoon-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="c10638fa2a834c216f28da7705da331bc0bad4bf"
+BR2_OPENPOWER_MACHINE_XML_VERSION="18591a3eba4fc4345daf630aaf4412f1554a24cd"
BR2_OPENPOWER_MACHINE_XML_FILENAME="witherspoon.xml"
BR2_OPENPOWER_SYSTEM_XML_FILENAME="WITHERSPOON_hb.system.xml"
BR2_OPENPOWER_MRW_XML_FILENAME="WITHERSPOON_hb.mrw.xml"
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index e1b8600..4c3431a 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -5,7 +5,7 @@
################################################################################
-HOSTBOOT_BINARIES_VERSION ?= 2657e58ac28a32c73a3002c715b6ea9d8880f112
+HOSTBOOT_BINARIES_VERSION ?= b339e05c57725cf09b867d6652698aa2e3ab5f6a
HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION))
HOSTBOOT_BINARIES_LICENSE = Apache-2.0
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index fdb9e97..14076e6 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
#
################################################################################
HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= d3025f5d7ddd0723946bb54fcb471d2bf1fd2da4
-HOSTBOOT_VERSION_BRANCH_MASTER ?= 6eaa4575c95a2a5bccfad3e861a855ffd8446aa3
+HOSTBOOT_VERSION_BRANCH_MASTER ?= b51298075aee402dbcef485088cfa71a6ca61725
HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0001-Revert-Check-the-Section-Headers-in-Non-Secure-Mode.patch b/openpower/package/hostboot/p9Patches/hostboot-0001-Revert-Check-the-Section-Headers-in-Non-Secure-Mode.patch
deleted file mode 100644
index 9d33b53..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0001-Revert-Check-the-Section-Headers-in-Non-Secure-Mode.patch
+++ /dev/null
@@ -1,306 +0,0 @@
-From 7a948065fdb903e280757eb92c70b5594298ce56 Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Thu, 15 Mar 2018 18:45:54 +1100
-Subject: [PATCH] Revert "Check the Section Headers in Non-Secure Mode"
-
-This reverts commit c82b626e6ea1d56c0d25cbd5954064e256135002.
-
-It breaks flashing custom skiboot (PAYLOAD) as the code checking
-headers checks the name of the partition against the secureboot
-header magic number, and this obviously does not work at all.
-
-This ends up being the case as I *believe* that older pflash
-may clear FFS_VERS_SHA512 flag that causes hostboot to go down
-code paths it doesn't expect.
-
-As always, FFS structures are full of lies :)
-
-Change-Id: I6f3994cd1ceb67a17b53487a45b26a9e4c10270e
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/include/usr/pnor/pnor_reasoncodes.H | 4 +-
- src/include/usr/pnor/pnorif.H | 12 +-----
- src/usr/pnor/pnor_common.C | 19 +--------
- src/usr/pnor/pnor_utils.C | 24 ++++++++++-
- src/usr/pnor/pnorrp.C | 73 ++++++---------------------------
- src/usr/pnor/runtime/rt_pnor.C | 7 ----
- 6 files changed, 39 insertions(+), 100 deletions(-)
-
-diff --git a/src/include/usr/pnor/pnor_reasoncodes.H b/src/include/usr/pnor/pnor_reasoncodes.H
-index e0c156e746de..589337a3be47 100644
---- a/src/include/usr/pnor/pnor_reasoncodes.H
-+++ b/src/include/usr/pnor/pnor_reasoncodes.H
-@@ -5,7 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2011,2018 */
-+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
- /* [+] Google Inc. */
- /* [+] International Business Machines Corp. */
- /* */
-@@ -96,7 +96,6 @@ namespace PNOR
-
- // pnor_common.C
- MOD_PNORCOMMON_PARSETOC = 0xC0, /**< PNOR::parseTOC */
-- MOD_PNORCOMMON_GETSECTIONINFO = 0xC1, /**< PNOR::getSectionInfo */
-
- // spnorrp.C
- // Note: 0xD0 is available, so should be the next one used for spnorrp.
-@@ -188,7 +187,6 @@ namespace PNOR
- RC_SECURE_SIZE_MISMATCH = PNOR_COMP_ID | 0x3A,
- RC_NOT_PAGE_ALIGNED = PNOR_COMP_ID | 0x3B,
- RC_SECURE_PRO_SIZE_MISMATCH = PNOR_COMP_ID | 0x3C,
-- RC_BAD_HEADER_FORMAT = PNOR_COMP_ID | 0x3D,
-
- //@fixme-RTC:131607-Temporary value to allow HWSV compile
- //termination_rc
-diff --git a/src/include/usr/pnor/pnorif.H b/src/include/usr/pnor/pnorif.H
-index b4d1a668fe8b..cef8617fdcb1 100644
---- a/src/include/usr/pnor/pnorif.H
-+++ b/src/include/usr/pnor/pnorif.H
-@@ -5,7 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2011,2018 */
-+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
- /* [+] Google Inc. */
- /* [+] International Business Machines Corp. */
- /* */
-@@ -225,16 +225,6 @@ const char * SectionIdToString( uint32_t i_secIdIndex );
- */
- bool cmpSecurebootMagicNumber(const uint8_t* i_vaddr);
-
--/**
-- * @brief Determines whether requested PNOR section has a recognized header
-- * @param[in] i_vaddr: vaddr of the beginning of the secureboot header.
-- * @param[in] o_magicNumber: the read value of the header's magic number.
-- Used for error logging purposes. Always populated.
-- * @return bool: True if the header was recognized, false otherwise.
-- */
--bool hasKnownHeader(const uint8_t* i_vaddr,
-- uint64_t& o_magicNumber);
--
- /**
- * @brief Determine if a PNOR section is empty by checking if first PAGE
- * is all 0xFF's or 0x00's depending on ECC or not.
-diff --git a/src/usr/pnor/pnor_common.C b/src/usr/pnor/pnor_common.C
-index ceb7709b8c54..d262ebe8238f 100644
---- a/src/usr/pnor/pnor_common.C
-+++ b/src/usr/pnor/pnor_common.C
-@@ -5,7 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2014,2018 */
-+/* Contributors Listed Below - COPYRIGHT 2014,2017 */
- /* [+] Google Inc. */
- /* [+] International Business Machines Corp. */
- /* */
-@@ -406,20 +406,3 @@ bool PNOR::isSectionEmpty(const PNOR::SectionId i_section)
-
- return l_result;
- }
--
--bool PNOR::hasKnownHeader(const uint8_t* i_vaddr,
-- uint64_t& o_magicNumber)
--{
-- // Left symbolic constant defined in the function so it's easier to strip
-- // out later and nothing becomes dependent on it
-- const char VERSION_MAGIC[] = "VERSION";
-- const auto versionMagicSize = sizeof(VERSION_MAGIC);
--
-- bool secureHeader = PNOR::cmpSecurebootMagicNumber(i_vaddr);
-- bool versionHeader = (memcmp(i_vaddr,VERSION_MAGIC,versionMagicSize) == 0);
--
-- memcpy(&o_magicNumber, i_vaddr, sizeof(o_magicNumber));
--
-- return (versionHeader || secureHeader);
--}
--
-diff --git a/src/usr/pnor/pnor_utils.C b/src/usr/pnor/pnor_utils.C
-index 4fcad21c635f..9e0753066a92 100644
---- a/src/usr/pnor/pnor_utils.C
-+++ b/src/usr/pnor/pnor_utils.C
-@@ -5,7 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2011,2018 */
-+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
- /* [+] International Business Machines Corp. */
- /* */
- /* */
-@@ -328,6 +328,28 @@ PNOR::parseEntries (ffs_hdr* i_ffs_hdr,
- #else
- io_TOC[secId].secure = false;
- #endif
-+
-+ // If secureboot is compiled in, skip header if not a secure section
-+ // Otherwise always skip header as the secure flag is always false and
-+ // SpnorRp will not handle skipping the header if one is indicated in PNOR
-+ if ( (io_TOC[secId].version & FFS_VERS_SHA512)
-+ && !io_TOC[secId].secure)
-+ {
-+ //increment flash addr for sha header
-+ if (io_TOC[secId].integrity == FFS_INTEG_ECC_PROTECT)
-+ {
-+ io_TOC[secId].flashAddr += PAGESIZE_PLUS_ECC ;
-+ }
-+ else
-+ {
-+ io_TOC[secId].flashAddr += PAGESIZE ;
-+ }
-+
-+ // now that we've skipped the header
-+ // adjust the size to reflect that
-+ io_TOC[secId].size -= PAGESIZE;
-+ }
-+
- } // For TOC Entries
-
- #ifndef BOOTLOADER
-diff --git a/src/usr/pnor/pnorrp.C b/src/usr/pnor/pnorrp.C
-index 1262db0b889f..e33a1b0c377c 100644
---- a/src/usr/pnor/pnorrp.C
-+++ b/src/usr/pnor/pnorrp.C
-@@ -489,8 +489,6 @@ errlHndl_t PnorRP::getSectionInfo( PNOR::SectionId i_section,
- {
- TRACDCOMP( g_trac_pnor, "PnorRP::getSectionInfo: i_section=%d, id=%d", i_section, iv_TOC[i_section].id );
-
-- uint64_t l_sectionVaddr = iv_TOC[id].virtAddr;
-- uint64_t l_sectionSize = iv_TOC[id].size;
- // copy my data into the external format
- o_info.id = iv_TOC[id].id;
- o_info.name = SectionIdToString(id);
-@@ -504,17 +502,16 @@ errlHndl_t PnorRP::getSectionInfo( PNOR::SectionId i_section,
- // sections in SPnorRP's address space
- if (o_info.secure)
- {
-- uint8_t* l_vaddrPtr =
-- reinterpret_cast<uint8_t*>(l_sectionVaddr);
-+ uint8_t* l_vaddr = reinterpret_cast<uint8_t*>(iv_TOC[id].virtAddr);
- // By adding VMM_VADDR_SPNOR_DELTA twice we can translate a pnor
-- // address into a secure pnor address, since pnor, temp, and
-- // spnor spaces are equidistant.
-+ // address into a secure pnor address, since pnor, temp, and spnor
-+ // spaces are equidistant.
- // See comments in SPnorRP::verifySections() method in spnorrp.C
- // and the definition of VMM_VADDR_SPNOR_DELTA in vmmconst.h
- // for specifics.
-- l_sectionVaddr = reinterpret_cast<uint64_t>(l_vaddrPtr)
-- + VMM_VADDR_SPNOR_DELTA
-- + VMM_VADDR_SPNOR_DELTA;
-+ o_info.vaddr = reinterpret_cast<uint64_t>(l_vaddr)
-+ + VMM_VADDR_SPNOR_DELTA
-+ + VMM_VADDR_SPNOR_DELTA;
-
- // Get size of the secured payload for the secure section
- // Note: the payloadSize we get back is untrusted because
-@@ -524,7 +521,7 @@ errlHndl_t PnorRP::getSectionInfo( PNOR::SectionId i_section,
- // and has valid beginning bytes. For optional Secure PNOR sections.
-
- SECUREBOOT::ContainerHeader l_conHdr;
-- l_errhdl = l_conHdr.setHeader(l_vaddrPtr);
-+ l_errhdl = l_conHdr.setHeader(l_vaddr);
- if (l_errhdl)
- {
- TRACFCOMP(g_trac_pnor, ERR_MRK"PnorRP::getSectionInfo: setheader failed");
-@@ -560,69 +557,25 @@ errlHndl_t PnorRP::getSectionInfo( PNOR::SectionId i_section,
- }
-
- // skip secure header for secure sections at this point in time
-- l_sectionVaddr += PAGESIZE;
-+ o_info.vaddr += PAGESIZE;
- // now that we've skipped the header we also need to adjust the
- // size of the section to reflect that.
- // Note: For unsecured sections, the header skip and size decrement
- // was done previously in pnor_common.C
-- l_sectionSize -= PAGESIZE;
-+ o_info.size -= PAGESIZE;
-
- // cache the value in SectionInfo struct so that we can
- // parse the container header less often
- o_info.secureProtectedPayloadSize = payloadTextSize;
- }
--#else
-- // If secureboot is not compiled, still check the sections that are
-- // marked with sha512 tag in the xml to catch sections without fake
-- // headers. If we expect a header to be present and it's not,
-- // the virtual address of the section will not be pointing to the
-- // correct offset into the section.
-- if(iv_TOC[id].version & FFS_VERS_SHA512)
-+ else
-+#endif
- {
-- uint64_t l_magicNumber = 0;
-- bool l_knownHeader = PNOR::hasKnownHeader(
-- reinterpret_cast<uint8_t*>(l_sectionVaddr),
-- l_magicNumber);
-- if(!l_knownHeader)
-- {
-- TRACFCOMP(g_trac_pnor, ERR_MRK"PnorRP::getSectionInfo: "
-- "The header of the partition %s"
-- " is not of a known header format. Magic number"
-- " = 0x%016llx",
-- PNOR::SectionIdToString(id),
-- l_magicNumber);
-- /*@
-- * @errortype ERRORLOG::ERRL_SEV_UNRECOVERABLE
-- * @moduleid PNOR::MOD_PNORCOMMON_GETSECTIONINFO
-- * @reasoncode PNOR::RC_BAD_HEADER_FORMAT
-- * @userdata1 Partition ID
-- * @userdata2 Partition's magic number
-- * @devdesc Error parsing partition header
-- * @custdesc Boot firmware integrity error;
-- * reinstall the boot firmware
-- */
-- l_errhdl = new ERRORLOG::ErrlEntry(
-- ERRORLOG::ERRL_SEV_UNRECOVERABLE,
-- PNOR::MOD_PNORCOMMON_GETSECTIONINFO,
-- PNOR::RC_BAD_HEADER_FORMAT,
-- id,
-- l_magicNumber,
-- true/*SW Error*/);
-- l_errhdl->collectTrace(PNOR_COMP_NAME);
-- l_errhdl->collectTrace(SECURE_COMP_NAME);
-- break;
-- }
-- // Skip the fake header in memory after we've checked it.
-- // The vaddr of the parition will now point to the start
-- // of the actual partition.
-- l_sectionSize -= PAGESIZE;
-- l_sectionVaddr += PAGESIZE;
-+ o_info.vaddr = iv_TOC[id].virtAddr;
- }
-
--#endif
- o_info.flashAddr = iv_TOC[id].flashAddr;
-- o_info.size = l_sectionSize;
-- o_info.vaddr = l_sectionVaddr;
-+ o_info.size = iv_TOC[id].size;
- o_info.eccProtected = ((iv_TOC[id].integrity & FFS_INTEG_ECC_PROTECT)
- != 0) ? true : false;
- o_info.sha512Version = ((iv_TOC[id].version & FFS_VERS_SHA512)
-diff --git a/src/usr/pnor/runtime/rt_pnor.C b/src/usr/pnor/runtime/rt_pnor.C
-index 02b230456661..ba23cecb5ab4 100644
---- a/src/usr/pnor/runtime/rt_pnor.C
-+++ b/src/usr/pnor/runtime/rt_pnor.C
-@@ -263,13 +263,6 @@ errlHndl_t RtPnor::getSectionInfo(PNOR::SectionId i_section,
- o_info.sha512perEC =
- (iv_TOC[i_section].version & FFS_VERS_SHA512_PER_EC) ? true : false;
- o_info.secure = iv_TOC[i_section].secure;
--#ifndef CONFIG_SECUREBOOT
-- if(iv_TOC[i_section].version & FFS_VERS_SHA512)
-- {
-- o_info.size -= PAGESIZE;
-- o_info.vaddr += PAGESIZE;
-- }
--#endif
- } while (0);
-
- TRACFCOMP(g_trac_pnor, EXIT_MRK"RtPnor::getSectionInfo %d", i_section);
---
-2.14.3
-
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index a92d690..980febb 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OPENPOWER_PNOR_VERSION ?= 824b1bf91c6f030e696c1a4d72b7311985006705
+OPENPOWER_PNOR_VERSION ?= dafcab48658b4de48e70c929b036985dac7ef7b8
OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
OPENPOWER_PNOR_LICENSE = Apache-2.0