From 222570a61b3a75635e47708f8b530fb6bc988cf6 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 9 Apr 2019 08:06:01 +0200 Subject: bsps/arm: Optimize ARMv7-M CPU counter Update #3456. --- bsps/arm/include/bsp/clock-armv7m.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bsps/arm/include/bsp/clock-armv7m.h b/bsps/arm/include/bsp/clock-armv7m.h index c570153c33..317502734e 100644 --- a/bsps/arm/include/bsp/clock-armv7m.h +++ b/bsps/arm/include/bsp/clock-armv7m.h @@ -50,15 +50,16 @@ static uint32_t _ARMV7M_Clock_counter(ARMV7M_Timecounter *tc) uint32_t interval; uint32_t counter; uint32_t ticks; - - systick = _ARMV7M_Systick; - interval = systick->rvr; + uint32_t csr; rtems_interrupt_disable(level); + systick = _ARMV7M_Systick; counter = systick->cvr; + csr = systick->csr; + interval = systick->rvr; ticks = tc->ticks; - if ((systick->csr & ARMV7M_SYSTICK_CSR_COUNTFLAG) != 0) { + if (RTEMS_PREDICT_FALSE((csr & ARMV7M_SYSTICK_CSR_COUNTFLAG) != 0)) { counter = systick->cvr; ticks += interval; tc->ticks = ticks; -- cgit v1.2.3