summaryrefslogtreecommitdiffstats
path: root/src/hwpf
diff options
context:
space:
mode:
authorRaja Das <rajadas2@in.ibm.com>2017-06-14 03:56:04 -0500
committerAMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>2017-06-14 05:49:50 -0400
commitb686df088cbcda1b80d6318b08496c92b5ee600d (patch)
tree31d3bc27df941164f15029f415c4391431134c98 /src/hwpf
parent5cf1886ced7a65542186524d308fede55cc322b1 (diff)
downloadtalos-sbe-b686df088cbcda1b80d6318b08496c92b5ee600d.tar.gz
talos-sbe-b686df088cbcda1b80d6318b08496c92b5ee600d.zip
Removed critical_section enter/exit calls within the delay method
It is disabling the __pk_schedule_hardware_timeout calls which updates ppe42_64bit_timebase (time accumulator). This gets stuck at such a boundary that the decremetor diff addition will never be equal to the target time, hence infinite loop Change-Id: I8c2990cc7e02fa2bb530b961ddac49c21addb273 CQ:SW386997 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41810 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com> Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Diffstat (limited to 'src/hwpf')
-rw-r--r--src/hwpf/plat_utils.C11
1 files changed, 0 insertions, 11 deletions
diff --git a/src/hwpf/plat_utils.C b/src/hwpf/plat_utils.C
index 1da22fdb..e50a246a 100644
--- a/src/hwpf/plat_utils.C
+++ b/src/hwpf/plat_utils.C
@@ -62,31 +62,20 @@ namespace fapi2
PkTimebase target_time;
PkTimebase current_time;
- PkMachineContext ctx;
// Only execute if nanoSeconds is non-zero (eg a real wait)
if (i_nanoSeconds)
{
- // The critical section enter/exit set is done to ensure the timebase
- // operations are non-interrupible.
-
- pk_critical_section_enter(&ctx);
target_time = pk_timebase_get() + delayCycles( i_nanoSeconds);
current_time = pk_timebase_get();
- FAPI_IMP("Target Time 0x%08X %08X Current Time 0x%08X %08X",
- (uint32_t)((target_time >> 32) & 0xFFFFFFFF),
- (uint32_t)(target_time & 0xFFFFFFFF),
- (uint32_t)((current_time >> 32) & 0xFFFFFFFF),
- (uint32_t)(current_time & 0xFFFFFFFF));
do
{
current_time = pk_timebase_get();
} while (target_time > current_time);
- pk_critical_section_exit(&ctx);
}
#else
OpenPOWER on IntegriCloud