summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C b/src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C
index a7d11700..517e78f7 100644
--- a/src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C
+++ b/src/import/chips/p9/procedures/hwp/lib/p9_sbe_ppe_ffdc.C
@@ -170,19 +170,21 @@ p9_sbe_ppe_ffdc (
if (l_rc == fapi2::FAPI2_RC_SUCCESS)
{
- if (i % 2)
+ if (i & 0x01)
{
- // pack into bits 0-31 of ithe ffdc vector element
+ // Odd Index
+ // pack into bits 32-63 of the ffdc vector element
o_v_ppe_reg_ffdc[l_sprFfdcIdx] =
- (o_v_ppe_reg_ffdc[l_sprFfdcIdx] & 0x00000000FFFFFFFFULL) |
- ((uint64_t) l_data32() << 32);
+ (o_v_ppe_reg_ffdc[l_sprFfdcIdx] & 0xFFFFFFFF00000000ULL) |
+ (l_data32());
}
else
{
- // pack into bits 32-63 of the ffdc vector element
+ // Even Index
+ // pack into bits 0-31 of ithe ffdc vector element
o_v_ppe_reg_ffdc[l_sprFfdcIdx] =
- (o_v_ppe_reg_ffdc[l_sprFfdcIdx] & 0xFFFFFFFF00000000ULL) |
- (l_data32());
+ (o_v_ppe_reg_ffdc[l_sprFfdcIdx] & 0x00000000FFFFFFFFULL) |
+ ((uint64_t) l_data32() << 32);
}
}
else
OpenPOWER on IntegriCloud