Skip to content

Commit

Permalink
Add build_tag to xip image header
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Prachi Gupta authored and dcrowell77 committed Feb 7, 2017
1 parent b04eb38 commit 5b9f806
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 16 deletions.
21 changes: 7 additions & 14 deletions src/import/chips/p9/xip/p9_xip_image.c
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -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),
Expand Down Expand Up @@ -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;
Expand All @@ -3084,28 +3082,23 @@ 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));
memcpy(o_dest->iv_buildHost, i_src->iv_buildHost,
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)
Expand Down
6 changes: 4 additions & 2 deletions src/import/chips/p9/xip/p9_xip_image.h
Expand Up @@ -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
Expand Down Expand Up @@ -422,7 +425,6 @@ typedef struct

/// Reserved for future expansion
char iv_reservedChar[8];

} P9XipHeader;


Expand Down

0 comments on commit 5b9f806

Please sign in to comment.