diff options
Diffstat (limited to 'arch/arm/kernel/hyp-stub.S')
-rw-r--r-- | arch/arm/kernel/hyp-stub.S | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S index 70609417deaf..65b2417aebce 100644 --- a/arch/arm/kernel/hyp-stub.S +++ b/arch/arm/kernel/hyp-stub.S | |||
@@ -142,6 +142,19 @@ THUMB( orr r7, #(1 << 30) ) @ HSCTLR.TE | |||
142 | and r7, #0x1f @ Preserve HPMN | 142 | and r7, #0x1f @ Preserve HPMN |
143 | mcr p15, 4, r7, c1, c1, 1 @ HDCR | 143 | mcr p15, 4, r7, c1, c1, 1 @ HDCR |
144 | 144 | ||
145 | #if !defined(ZIMAGE) && defined(CONFIG_ARM_ARCH_TIMER) | ||
146 | @ make CNTP_* and CNTPCT accessible from PL1 | ||
147 | mrc p15, 0, r7, c0, c1, 1 @ ID_PFR1 | ||
148 | lsr r7, #16 | ||
149 | and r7, #0xf | ||
150 | cmp r7, #1 | ||
151 | bne 1f | ||
152 | mrc p15, 4, r7, c14, c1, 0 @ CNTHCTL | ||
153 | orr r7, r7, #3 @ PL1PCEN | PL1PCTEN | ||
154 | mcr p15, 4, r7, c14, c1, 0 @ CNTHCTL | ||
155 | 1: | ||
156 | #endif | ||
157 | |||
145 | bic r7, r4, #MODE_MASK | 158 | bic r7, r4, #MODE_MASK |
146 | orr r7, r7, #SVC_MODE | 159 | orr r7, r7, #SVC_MODE |
147 | THUMB( orr r7, r7, #PSR_T_BIT ) | 160 | THUMB( orr r7, r7, #PSR_T_BIT ) |