tegra: Set CNTFRQ for secondary CPUs
We only set CNTFRQ in arch_timer_init for the boot CPU. But this has to happen for all cores. Fixing this resolves problems of KVM with emulating the generic timer/counter. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Tested-by: Ian Campbell <ijc@hellion.org.uk> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
parent
73169874a2
commit
a0d0a594cc
@ -51,12 +51,25 @@ ENTRY(psci_arch_init)
|
|||||||
str r5, [r4]
|
str r5, [r4]
|
||||||
|
|
||||||
bl psci_get_cpu_id @ CPU ID => r0
|
bl psci_get_cpu_id @ CPU ID => r0
|
||||||
|
|
||||||
|
adr r5, _sys_clock_freq
|
||||||
|
cmp r0, #0
|
||||||
|
|
||||||
|
mrceq p15, 0, r7, c14, c0, 0 @ read CNTFRQ from CPU0
|
||||||
|
streq r7, [r5]
|
||||||
|
|
||||||
|
ldrne r7, [r5]
|
||||||
|
mcrne p15, 0, r7, c14, c0, 0 @ write CNTFRQ to CPU1..3
|
||||||
|
|
||||||
bl psci_get_cpu_stack_top @ stack top => r0
|
bl psci_get_cpu_stack_top @ stack top => r0
|
||||||
mov sp, r0
|
mov sp, r0
|
||||||
|
|
||||||
bx r6
|
bx r6
|
||||||
ENDPROC(psci_arch_init)
|
ENDPROC(psci_arch_init)
|
||||||
|
|
||||||
|
_sys_clock_freq:
|
||||||
|
.word 0
|
||||||
|
|
||||||
ENTRY(psci_cpu_off)
|
ENTRY(psci_cpu_off)
|
||||||
bl psci_cpu_off_common
|
bl psci_cpu_off_common
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user