tlk: 6/19 update
[3rdparty/ote_partner/tlk.git] / lib / monitor / arm64 / monitor_cpu.S
index ff85bca..3547261 100644 (file)
@@ -54,6 +54,16 @@ FUNCTION(mon_init_cpu)
        ldr     x0, =ARM_SYSTEM_COUNTER_FREQ
        msr     cntfrq_el0, x0
 
+       /* enable the cycle count register */
+       mrs     x0, pmcr_el0
+       ubfx    x0, x0, #11, #5         // read PMCR.N field
+       mov     x4, #1
+       lsl     x0, x4, x0
+       sub     x0, x0, #1              // mask of event counters
+       orr     x0, x0, #0x80000000     // disable overflow intrs
+       msr     pmintenclr_el1, x0
+       msr     pmuserenr_el0, x4       // enable user mode access
+
        /* mark per-CPU dist GROUP0 intrs non-secure */
        ldr     x4, =ARM_GIC_DIST_BASE
        mov     w3, #(~0)