diff --git a/include/arch/arm/armv/armv7-a/armv/debug.h b/include/arch/arm/armv/armv7-a/armv/debug.h index 6b81e9a9f..130d7cb8f 100644 --- a/include/arch/arm/armv/armv7-a/armv/debug.h +++ b/include/arch/arm/armv/armv7-a/armv/debug.h @@ -25,8 +25,11 @@ static inline word_t readDscrCp(void) { word_t v; - +#ifdef CONFIG_ARM_CORTEX_A8 + MRC(DBGDSCR_int, v); +#else MRC(DBGDSCR_ext, v); +#endif return v; } diff --git a/src/arch/arm/armv/armv7-a/user_access.c b/src/arch/arm/armv/armv7-a/user_access.c index a815992dd..3fca1f9ba 100644 --- a/src/arch/arm/armv/armv7-a/user_access.c +++ b/src/arch/arm/armv/armv7-a/user_access.c @@ -31,7 +31,8 @@ static void check_export_pmu(void) #if defined CONFIG_EXPORT_PMU_USER || defined CONFIG_ENABLE_BENCHMARKS /* Export performance counters */ uint32_t v; - v = PMUSERENR_ENABLE; + MRC(PMUSERENR, v); + v |= PMUSERENR_ENABLE; MCR(PMUSERENR, v); /* enable user-level pmu event counter if we're in secure mode */