diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2017-11-20 18:37:39 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-12-01 14:48:36 -0500 |
commit | 6bc72e2973d1868fcccf74f696bcb9bf08a62951 (patch) | |
tree | 5ecdaccc01b5b6bc625f588ba94deb1e858b30d0 /src/usr/pnor/pnorrp.H | |
parent | 3c9fe01a02558eea1435cacad3ba586f3194904f (diff) | |
download | talos-hostboot-6bc72e2973d1868fcccf74f696bcb9bf08a62951.tar.gz talos-hostboot-6bc72e2973d1868fcccf74f696bcb9bf08a62951.zip |
Remove limit on max size of PNOR TOC
Previously we assumed the TOC would never be larger than 4kb, this
limited us to <31 sections in pnor. We are getting to the point that is
not enough. To satify the github issue a change was needed in the ffs
tool to correctly build the TOC so it describes its size correctly.
Those changes can be found here: github.com/open-power/ffs/pull/14
The changes in this commit fix hostboot so that it will correctly
parse TOCs > 4kb. Resolves open-power/zaius-openpower/#57.
Change-Id: Id2d8c250b0b1e6b87adfd4d927119fe006e8910d
RTC: 180032
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49926
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/pnor/pnorrp.H')
-rw-r--r-- | src/usr/pnor/pnorrp.H | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/usr/pnor/pnorrp.H b/src/usr/pnor/pnorrp.H index 868ba4ece..f3519b576 100644 --- a/src/usr/pnor/pnorrp.H +++ b/src/usr/pnor/pnorrp.H @@ -188,25 +188,34 @@ class PnorRP /** * @brief Determine the TOC offsets based on the HBB address * System does a shutdown if any errors detected + * + * @param[out] o_tocSize The size of the table of content of PNOR in bytes + * * @return Error from device */ - errlHndl_t findTOC(); + errlHndl_t findTOC(size_t & o_tocSize); /* * @brief determines the sides information and fills the class variable * iv_side + * + * @param[in] i_tocSize The size of the table of content of PNOR in bytes + * * @return Error */ - errlHndl_t setSideInfo(); + errlHndl_t setSideInfo(size_t i_tocSize); /** * @brief Verify both TOC's and store section information from one of the * verified TOC's. Additionally set each section permissions * (e.g. readOnly) * + * @param[in] i_tocSize The size of the table of content of PNOR in bytes + * + * * @return Error from device */ - errlHndl_t readTOC(); + errlHndl_t readTOC(size_t i_tocSize); /** * @brief Message receiver |