]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: shmobile: Convert file to use cntvoff
authorMylène Josserand <mylene.josserand@bootlin.com>
Fri, 4 May 2018 19:05:45 +0000 (21:05 +0200)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Tue, 8 May 2018 12:57:17 +0000 (14:57 +0200)
Now that a common function is available for CNTVOFF's
initialization, let's convert shmobile-apmu code to use
this function.

Signed-off-by: Mylène Josserand <mylene.josserand@bootlin.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
arch/arm/mach-shmobile/common.h
arch/arm/mach-shmobile/headsmp-apmu.S
arch/arm/mach-shmobile/setup-rcar-gen2.c

index 43c1ac696274175779b9ea20636a263ed54e22e2..2109f123bdfb2e19c3e24e77037b91eb87e4afd5 100644 (file)
@@ -2,7 +2,6 @@
 #ifndef __ARCH_MACH_COMMON_H
 #define __ARCH_MACH_COMMON_H
 
-extern void shmobile_init_cntvoff(void);
 extern void shmobile_init_delay(void);
 extern void shmobile_boot_vector(void);
 extern unsigned long shmobile_boot_fn;
index 5672b58494016c6ac06a78cb4b00d6ff20feabc4..d49ab194766a401fb5642f269f01db39929ef9a5 100644 (file)
 #include <linux/linkage.h>
 #include <asm/assembler.h>
 
-ENTRY(shmobile_init_cntvoff)
-       /*
-        * CNTVOFF has to be initialized either from non-secure Hypervisor
-        * mode or secure Monitor mode with SCR.NS==1. If TrustZone is enabled
-        * then it should be handled by the secure code
-        */
-       cps     #MON_MODE
-       mrc     p15, 0, r1, c1, c1, 0           /* Get Secure Config */
-       orr     r0, r1, #1
-       mcr     p15, 0, r0, c1, c1, 0           /* Set Non Secure bit */
-       instr_sync
-       mov     r0, #0
-       mcrr    p15, 4, r0, r0, c14             /* CNTVOFF = 0 */
-       instr_sync
-       mcr     p15, 0, r1, c1, c1, 0           /* Set Secure bit */
-       instr_sync
-       cps     #SVC_MODE
-       ret     lr
-ENDPROC(shmobile_init_cntvoff)
-
 #ifdef CONFIG_SMP
 ENTRY(shmobile_boot_apmu)
-       bl      shmobile_init_cntvoff
+       bl      secure_cntvoff_init
        b       secondary_startup
 ENDPROC(shmobile_boot_apmu)
 #endif
index 5561dbed7a332a58665688b23dbf5bff2c378c99..4a881026d740a8d3ccb8b59a70a495f498630c9a 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/of_fdt.h>
 #include <linux/of_platform.h>
 #include <asm/mach/arch.h>
+#include <asm/secure_cntvoff.h>
 #include "common.h"
 #include "rcar-gen2.h"
 
@@ -70,7 +71,7 @@ void __init rcar_gen2_timer_init(void)
        void __iomem *base;
        u32 freq;
 
-       shmobile_init_cntvoff();
+       secure_cntvoff_init();
 
        if (of_machine_is_compatible("renesas,r8a7745") ||
            of_machine_is_compatible("renesas,r8a7792") ||