Notice: We have migrated to GitLab launching 2024-05-01 see here:

#3699 closed defect (fixed)

Wrong system register specified for ARM virtual timer value retrieval

Reported by: Kinsey Moore Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: arch/arm Version: 5
Severity: normal Keywords: gpt, timer, arm
Cc: Blocked By:


In arm_cp15_get_counter_pl1_virtual_timer_value() in cpukit/score/cpu/arm/include/libcpu/arm-cp15.h, the system register specified by "p15, 0, %[val], c14, c2, 0" is actually the system register for the physical timer value. This should be "p15, 0, %[val], c14, c3, 0" for the virtual timer value as used in the setter.

Change History (2)

comment:1 Changed on 02/22/19 at 07:27:47 by Sebastian Huber

Milestone: 5.1
Owner: set to Sebastian Huber
Status: newaccepted
Version: 5

comment:2 Changed on 02/22/19 at 07:29:53 by Kinsey Moore <nyphbl8d@…>

Resolution: fixed
Status: acceptedclosed

In [changeset:"7abc497b6c763ccdc090014f310951b17c742ae9/rtems" 7abc497/rtems]:

bsps/arm: Fix system register for virtual timer

The system register in use for retrieval of the virtual timer value was
mistakenly copied from the physical timer value retrieval function.
Virtual timer value retrieval should use the same system register as the
virtual timer value setter.

Close #3699.

Note: See TracTickets for help on using tickets.