summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/xip
diff options
context:
space:
mode:
authorClaus Michael Olsen <cmolsen@us.ibm.com>2017-12-29 14:04:28 -0600
committerSachin Gupta <sgupta2m@in.ibm.com>2018-01-14 07:50:47 -0500
commit12529174e4716303fd95a4735a3cb7f1bc4bf96b (patch)
treeb790410c7ab42ac3f08939a8be1589b730d07202 /src/import/chips/p9/xip
parentfc81ad0fabee2baa778e6c3063a698fe80869dcf (diff)
downloadtalos-sbe-12529174e4716303fd95a4735a3cb7f1bc4bf96b.tar.gz
talos-sbe-12529174e4716303fd95a4735a3cb7f1bc4bf96b.zip
xip_customize and TOR API: Improved DD level verification
This update propagates the extracted EC level in xip_customize through to the TOR API via the call to tor_get_single_ring(). The TOR API has been updated to verify that the requested DD level matches matches the DD level in the TOR header of the supplied ring section which, in the case of xip_customize, is an .overlays ring section. Key_Cronus_Test=XIP_REGRESS Change-Id: Ic087c269306acc0afcb8c759fe68eac63ae93d29 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51339 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Sumit Kumar <sumit_kumar@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51349 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import/chips/p9/xip')
-rw-r--r--src/import/chips/p9/xip/p9_xip_image.C4
-rw-r--r--src/import/chips/p9/xip/p9_xip_image.h8
-rw-r--r--src/import/chips/p9/xip/p9_xip_tool.C12
3 files changed, 11 insertions, 13 deletions
diff --git a/src/import/chips/p9/xip/p9_xip_image.C b/src/import/chips/p9/xip/p9_xip_image.C
index 6b3168c8..874c0417 100644
--- a/src/import/chips/p9/xip/p9_xip_image.C
+++ b/src/import/chips/p9/xip/p9_xip_image.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2017 */
+/* Contributors Listed Below - COPYRIGHT 2017,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -2061,7 +2061,7 @@ p9_xip_get_section(const void* i_image,
xipTranslateSection(o_hostSection, imageSection);
}
- if (i_ddLevel == P9_XIP_UNDEFINED_DDLEVEL)
+ if (i_ddLevel == UNDEFINED_DD_LEVEL)
{
//Here we always return the entire XIP section. Nothing more to do.
}
diff --git a/src/import/chips/p9/xip/p9_xip_image.h b/src/import/chips/p9/xip/p9_xip_image.h
index 4dfbbbf5..a78befa1 100644
--- a/src/import/chips/p9/xip/p9_xip_image.h
+++ b/src/import/chips/p9/xip/p9_xip_image.h
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -248,9 +248,6 @@ typedef enum {
/// gaurantee that the something will be able to complete any 8-byte load/store.
#define P9_XIP_FINAL_ALIGNMENT 8
-/// Local undefined DD level value.
-#define P9_XIP_UNDEFINED_DDLEVEL (uint8_t)0xff
-
////////////////////////////////////////////////////////////////////////////
// C Definitions
@@ -263,6 +260,7 @@ typedef enum {
#include <stdint.h>
#endif
#include <stddef.h>
+#include <common_ringId.H>
#ifdef __cplusplus
extern "C" {
@@ -713,7 +711,7 @@ p9_xip_get_section(const void* i_image,
P9XipSection* o_hostSection);
#else
P9XipSection* o_hostSection,
- uint8_t i_ddLevel=P9_XIP_UNDEFINED_DDLEVEL);
+ uint8_t i_ddLevel=UNDEFINED_DD_LEVEL);
#endif
diff --git a/src/import/chips/p9/xip/p9_xip_tool.C b/src/import/chips/p9/xip/p9_xip_tool.C
index 0a38fb46..48749db3 100644
--- a/src/import/chips/p9/xip/p9_xip_tool.C
+++ b/src/import/chips/p9/xip/p9_xip_tool.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -1320,7 +1320,7 @@ extract(const char* i_imageFile, const int i_imageFd, void* io_image,
const char* i_sectionName; //Direct copy of input arg, thus i_
const char* i_fileName; //Same
std::string i_ddLevelStr; //Same
- uint8_t ddLevel = P9_XIP_UNDEFINED_DDLEVEL;
+ uint8_t ddLevel = UNDEFINED_DD_LEVEL;
bool bDdSuppExpected = false;
int fileFd, sectionId;
void* newImage;
@@ -1356,7 +1356,7 @@ extract(const char* i_imageFile, const int i_imageFd, void* io_image,
" Output file: %s\n",
i_sectionName, i_fileName);
- ddLevel = P9_XIP_UNDEFINED_DDLEVEL;
+ ddLevel = UNDEFINED_DD_LEVEL;
bDdSuppExpected = false;
if (i_argc == 3)
@@ -1402,7 +1402,7 @@ extract(const char* i_imageFile, const int i_imageFd, void* io_image,
if (ddLevel == 0)
{
- ddLevel = P9_XIP_UNDEFINED_DDLEVEL;
+ ddLevel = UNDEFINED_DD_LEVEL;
// Even though this may seem like we should just exit here, we'll leave it up
// to xip_get_section what to do in this case. Who knows, maybe it'll eventually
// return a list of supported DD levels.
@@ -1884,9 +1884,9 @@ int dissectRingSectionTor( uint8_t* i_ringSection,
uint32_t i;
RingId_t numRingIds = 0;
uint32_t torMagic = 0xffffffff; // Undefined value
- ChipType_t chipType = UNDEFINED_CHIP_TYPE; // Undefined value
+ ChipType_t chipType = UNDEFINED_CHIP_TYPE;
uint32_t numDdLevels = 0; // Undefined value
- uint8_t iDdLevel, ddLevel = 0xff; // Undefined value
+ uint8_t iDdLevel, ddLevel = UNDEFINED_DD_LEVEL;
PpeType_t ppeType;
RingId_t ringId;
RingVariant_t ringVariant;
OpenPOWER on IntegriCloud