summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/pnor/common/ffs_hb.H70
-rw-r--r--src/usr/pnor/pnorrp.C8
-rw-r--r--src/usr/pnor/pnorrp.H26
-rw-r--r--src/usr/scom/test/scomtest.H4
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;
OpenPOWER on IntegriCloud