Changeset b1ac3a5 in rtems


Ignore:
Timestamp:
Mar 1, 2019, 6:21:52 PM (7 weeks ago)
Author:
Jonathan Brandmeyer <jbrandmeyer@…>
Branches:
master
Children:
2e8a66d
Parents:
3b68442
git-author:
Jonathan Brandmeyer <jbrandmeyer@…> (03/01/19 18:21:52)
git-committer:
Sebastian Huber <sebastian.huber@…> (03/08/19 06:39:42)
Message:

cpukit/arm: Correct register definition

The register definition for the CP15 PMCR (performance monitor control
register) has the bits for X (export enable) and D (clock divider
enable) backwards. Correct them according to ARMv7-A/R Architecture
Reference Manual, Rev C, Section B4.1.117.

Consequences: On an implementation that starts off with D set at reset,
the clock divider will not be disabled by using RTEMS' definition of the
D bit.

Tested by using the counter on Xilinx Zynq 7020 to measure some atomic
accesses and cache flushing operations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/cpu/arm/include/libcpu/arm-cp15.h

    r3b68442 rb1ac3a5  
    16051605#define ARM_CP15_PMCR_N(x) ((x) << 11)
    16061606#define ARM_CP15_PMCR_DP (1U << 5)
    1607 #define ARM_CP15_PMCR_X (1U << 3)
    1608 #define ARM_CP15_PMCR_D (1U << 4)
     1607#define ARM_CP15_PMCR_X (1U << 4)
     1608#define ARM_CP15_PMCR_D (1U << 3)
    16091609#define ARM_CP15_PMCR_C (1U << 2)
    16101610#define ARM_CP15_PMCR_P (1U << 1)
Note: See TracChangeset for help on using the changeset viewer.