From b825bde20eb7ddb73ce6569a06506a550fcb9bdc Mon Sep 17 00:00:00 2001 From: Bill Schwartz Date: Mon, 7 Dec 2015 09:48:35 -0600 Subject: Fix ATTR_SPD_ADDR_MAP_REG_TO_DRAM size mismatch Shift 1 byte spd values to appropriate uint32_t position Change-Id: Ifee71a47c31e641ee46b434686c94d62add3c177 RTC: 137707 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22501 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell Reviewed-by: A. Patrick Williams III --- src/usr/hwpf/plat/fapiPlatAttributeService.C | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/usr/hwpf/plat/fapiPlatAttributeService.C b/src/usr/hwpf/plat/fapiPlatAttributeService.C index 25953f24b..790428008 100644 --- a/src/usr/hwpf/plat/fapiPlatAttributeService.C +++ b/src/usr/hwpf/plat/fapiPlatAttributeService.C @@ -303,6 +303,12 @@ fapi::ReturnCode fapiPlatGetSpdAttr(const fapi::Target * i_pFapiTarget, // Shift the data to be right aligned *(static_cast(o_data)) >>= 16; } + else if ((i_len == sizeof(uint32_t)) && (l_len == sizeof(uint8_t))) + { + // This is a uint8_t attribute written to a uint32_t type. + // Shift the data to the lower byte + *(static_cast(o_data)) >>= 24; + } } } -- cgit v1.2.3