diff options
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/pnor/common/ffs_hb.H | 70 | ||||
-rw-r--r-- | src/usr/pnor/pnorrp.C | 8 | ||||
-rw-r--r-- | src/usr/pnor/pnorrp.H | 26 | ||||
-rw-r--r-- | src/usr/scom/test/scomtest.H | 4 |
4 files changed, 78 insertions, 30 deletions
diff --git a/src/usr/pnor/common/ffs_hb.H b/src/usr/pnor/common/ffs_hb.H new file mode 100644 index 000000000..489e65434 --- /dev/null +++ b/src/usr/pnor/common/ffs_hb.H @@ -0,0 +1,70 @@ +/* IBM_PROLOG_BEGIN_TAG + * This is an automatically generated prolog. + * + * $Source: src/usr/pnor/common/ffs_hb.H $ + * + * IBM CONFIDENTIAL + * + * COPYRIGHT International Business Machines Corp. 2012 + * + * p1 + * + * Object Code Only (OCO) source materials + * Licensed Internal Code Source Materials + * IBM HostBoot Licensed Internal Code + * + * The source code for this program is not published or other- + * wise divested of its trade secrets, irrespective of what has + * been deposited with the U.S. Copyright Office. + * + * Origin: 30 + * + * IBM_PROLOG_END_TAG + */ +#ifndef _FFS_HB_H +#define _FFS_HB_H + +/* + * FSP Destination: src/hbfw/fsp/pnor/common/ffs_hb.H + * + * NOTE: Do NOT modify this file in CMVC directly! It comes from the Hostboot + * repository and will be overwritten. +*/ + +/* + * This file contains the struct definition for the user data portion of an FFS Entry. Use of + * A commont header file will help ensure consistency between Hostboot and Hardware Server. + * + * For a more detailed description of these bits, see the PNOR Specification. + * + * The general FFS Entry layout is described in ffs.h, owned by the building block team. The FFS + * entry is described by the struct ffs_entry. The user data defined by this file is the + * ffs_entry->data[] array in ffs_entry. + */ + +/** + * FFS Misc information flags + */ +enum +{ + FFS_MISC_ECC_PROTECT = 0x80, /**< ECC protected */ + FFS_MISC_SIDELESS = 0x40, /**< Preserved across code updates (sideless) =1 */ + FFS_MISC_CRC_PROTECTED = 0x20, /**< CRC protected */ + FFS_MISC_UNUSED = 0x1F, /**< Unused MISC Flags */ +}; + +/** + * FFS entry user data + * This matches the PNOR binary layout of the data[] in an ffs_entry. + */ +struct ffs_hb_user_t{ + uint32_t sizeAct; /**< Actual Size of the image */ + uint8_t chip; /**< Chip Select (0,1) */ + uint8_t compressType; /**< Compression Indication/alg (0=not compressed) */ + uint8_t miscFlags; /**< Misc Partition related Flags */ + uint8_t freeMisc[5]; /**< Unused Miscellaneious Info */ + uint32_t freeUser[13]; /**< Unused User Data */ +} PACKED; + + +#endif /* _FFS_HB_H */ diff --git a/src/usr/pnor/pnorrp.C b/src/usr/pnor/pnorrp.C index d84c636e5..c2287a4a8 100644 --- a/src/usr/pnor/pnorrp.C +++ b/src/usr/pnor/pnorrp.C @@ -35,6 +35,8 @@ #include <errno.h> #include <initservice/initserviceif.H> #include "pnordd.H" +#include "ffs.h" //Common header file with BuildingBlock. +#include "common/ffs_hb.H" //Hostboot definition of user data in ffs_entry struct. // Trace definition trace_desc_t* g_trac_pnor = NULL; @@ -318,7 +320,7 @@ errlHndl_t PnorRP::getSectionInfo( PNOR::SectionId i_section, o_info.name = cv_EYECATCHER[id]; o_info.vaddr = iv_TOC[side][id].virtAddr; o_info.size = iv_TOC[side][id].size; - o_info.eccProtected = (bool)(iv_TOC[side][id].miscFlags & MISC_ECC_PROTECT); + o_info.eccProtected = (bool)(iv_TOC[side][id].miscFlags & FFS_MISC_ECC_PROTECT); return l_errhdl; } @@ -453,7 +455,7 @@ errlHndl_t PnorRP::readTOC() //virtAddr //The PNOR data is broken up into 3 blocks of Virtual Addresses, A, B, and Sideless. //For Sections found to be sideless, both PNOR sides will map to the same virtual address. - if(!(ffsUserData->miscFlags & MISC_SIDELESS)) + if(!(ffsUserData->miscFlags & FFS_MISC_SIDELESS)) { iv_TOC[cur_side][secId].virtAddr = nextVAddr[cur_side]; nextVAddr[cur_side] += iv_TOC[cur_side][secId].size; @@ -777,7 +779,7 @@ errlHndl_t PnorRP::computeDeviceAddr( void* i_vaddr, // pull out the information we need to return from our global copy o_chip = iv_TOC[side][id].chip; - o_ecc = (bool)(iv_TOC[side][id].miscFlags & MISC_ECC_PROTECT); + o_ecc = (bool)(iv_TOC[side][id].miscFlags & FFS_MISC_ECC_PROTECT); o_offset = l_vaddr - iv_TOC[side][id].virtAddr; //offset into pnor o_offset += iv_TOC[side][id].flashAddr; diff --git a/src/usr/pnor/pnorrp.H b/src/usr/pnor/pnorrp.H index 897d075a6..7224fbc79 100644 --- a/src/usr/pnor/pnorrp.H +++ b/src/usr/pnor/pnorrp.H @@ -30,7 +30,6 @@ #include <builtins.h> #include <errl/errlentry.H> #include <vmmconst.h> -#include "ffs.h" //Common header file with BuildingBlock. /** * PNOR Resource Provider @@ -99,31 +98,6 @@ class PnorRP }; /** - * FFS Misc information flags - */ - enum - { - MISC_ECC_PROTECT = 0x80, /**< ECC protected */ - MISC_SIDELESS = 0x40, /**< Preserved across code updates (sideless) =1 */ - MISC_CRC_PROTECTED = 0x20, /**< CRC protected */ - MISC_UNUSED = 0x1F, /**< Unused MISC Flags */ - }; - - /** - * FFS entry - * This matches the PNOR binary layout - */ - struct ffs_hb_user_t{ - uint32_t sizeAct; /**< Actual Size of the image */ - uint8_t chip; /**< Chip Select (0,1) */ - uint8_t compressType; /**< Compression Indication/alg (0=not compressed) */ - uint8_t miscFlags; /**< Misc Partition related Flags */ - uint8_t freeMisc[5]; /**< Unused Miscellaneious Info */ - uint32_t freeUser[13]; /**< Unused User Data */ - } PACKED; - - - /** * Internal information to deal with the sections of PNOR */ struct SectionData_t { diff --git a/src/usr/scom/test/scomtest.H b/src/usr/scom/test/scomtest.H index feb1919de..1bf1b52b4 100644 --- a/src/usr/scom/test/scomtest.H +++ b/src/usr/scom/test/scomtest.H @@ -196,7 +196,9 @@ public: * @brief SCOM test via FSISCOM to Centaur * */ - void test_FSISCOMreadWrite_centaur(void) + //Disabled due to test case fails when switching to b0810a_1233.810. Opened issue 47059 to track re-enabling + //TODO: Investigate test case fails, tracked with RTC: 47059. + void disabled_FSISCOMreadWrite_centaur(void) { TRACFCOMP( g_trac_scom, "ScomTest::test_FSISCOMreadWrite_centaur> Start" ); uint64_t fails = 0; |