summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/xip
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2016-07-12 11:05:19 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-02-07 11:41:40 -0500
commit5b9f806cc55bf14a9c0f74428836905d85f45509 (patch)
tree9b294971dabab5f7ca77f32221052130d9ea2c1a /src/import/chips/p9/xip
parentb04eb38223ef8f9cceefcbeeab05c421080b79fc (diff)
downloadtalos-hostboot-5b9f806cc55bf14a9c0f74428836905d85f45509.tar.gz
talos-hostboot-5b9f806cc55bf14a9c0f74428836905d85f45509.zip
Add build_tag to xip image header
When releasing an image to FW, we would like to keep track of which release tag was used to build this image. Later on, that release tag can be used to rebuild the same image. Change-Id: I734b9a642e1b1c0a63a1cc25ab9c61beb35b25f3 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26930 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Martin Peschke <mpeschke@de.ibm.com> Reviewed-by: Claus M. Olsen <cmolsen@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26933 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/xip')
-rw-r--r--src/import/chips/p9/xip/p9_xip_image.c21
-rw-r--r--src/import/chips/p9/xip/p9_xip_image.h6
2 files changed, 11 insertions, 16 deletions
diff --git a/src/import/chips/p9/xip/p9_xip_image.c b/src/import/chips/p9/xip/p9_xip_image.c
index 8fa310d61..32518c7d6 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 HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -1474,6 +1474,7 @@ xipHeaderFind(void* i_image, const char* i_id, P9XipItem* o_item)
HEADER_TOC(image_size, iv_imageSize, P9_XIP_UINT32),
HEADER_TOC(build_date, iv_buildDate, P9_XIP_UINT32),
HEADER_TOC(build_time, iv_buildTime, P9_XIP_UINT32),
+ HEADER_TOC(build_tag, iv_buildTag, P9_XIP_STRING),
HEADER_TOC(header_version, iv_headerVersion, P9_XIP_UINT8),
HEADER_TOC(toc_normalized, iv_normalized, P9_XIP_UINT8),
@@ -3068,10 +3069,7 @@ p9_xip_translate_header(P9XipHeader* o_dest, const P9XipHeader* i_src)
o_dest->iv_kernelAddr = htobe64(i_src->iv_kernelAddr);
o_dest->iv_linkAddress = htobe64(i_src->iv_linkAddress);
- for (i = 0; i < 3; i++)
- {
- o_dest->iv_reserved64[i] = 0;
- }
+ memset(o_dest->iv_reserved64, 0, sizeof(i_src->iv_reserved64));
for (i = 0, destSection = o_dest->iv_section,
srcSection = i_src->iv_section;
@@ -3084,20 +3082,16 @@ p9_xip_translate_header(P9XipHeader* o_dest, const P9XipHeader* i_src)
o_dest->iv_imageSize = htobe32(i_src->iv_imageSize);
o_dest->iv_buildDate = htobe32(i_src->iv_buildDate);
o_dest->iv_buildTime = htobe32(i_src->iv_buildTime);
+ memcpy(o_dest->iv_buildTag, i_src->iv_buildTag,
+ sizeof(i_src->iv_buildTag));
- for (i = 0; i < 5; i++)
- {
- o_dest->iv_reserved32[i] = 0;
- }
+ o_dest->iv_reserved32 = 0;
o_dest->iv_headerVersion = i_src->iv_headerVersion;
o_dest->iv_normalized = i_src->iv_normalized;
o_dest->iv_tocSorted = i_src->iv_tocSorted;
- for (i = 0; i < 3; i++)
- {
- o_dest->iv_reserved8[i] = 0;
- }
+ memset(o_dest->iv_reserved8, 0, sizeof(i_src->iv_reserved8));
memcpy(o_dest->iv_buildUser, i_src->iv_buildUser,
sizeof(i_src->iv_buildUser));
@@ -3105,7 +3099,6 @@ p9_xip_translate_header(P9XipHeader* o_dest, const P9XipHeader* i_src)
sizeof(i_src->iv_buildHost));
memcpy(o_dest->iv_reservedChar, i_src->iv_reservedChar,
sizeof(i_src->iv_reservedChar));
-
#else
if (o_dest != i_src)
diff --git a/src/import/chips/p9/xip/p9_xip_image.h b/src/import/chips/p9/xip/p9_xip_image.h
index 98ca7767f..b380fa4a5 100644
--- a/src/import/chips/p9/xip/p9_xip_image.h
+++ b/src/import/chips/p9/xip/p9_xip_image.h
@@ -391,8 +391,11 @@ typedef struct
/// Build time generated by `date +%H%M`, e.g., 0756
uint32_t iv_buildTime;
+ /// Build tag, generated when releasing this image to fw
+ char iv_buildTag[16];
+
/// Reserved for future expansion
- uint32_t iv_reserved32[5];
+ uint32_t iv_reserved32;
//////////////////////////////////////////////////////////////////////
// Other Information - 1-byte aligned; 8 entries
@@ -422,7 +425,6 @@ typedef struct
/// Reserved for future expansion
char iv_reservedChar[8];
-
} P9XipHeader;
OpenPOWER on IntegriCloud