Linux 5.7.6
[linux/fpc-iii.git] / arch / arm / mach-highbank / smc.S
blob78b3f19e7f37fe83edb25a723037417c1d2d7bd8
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copied from omap44xx-smc.S Copyright (C) 2010 Texas Instruments, Inc.
4  * Copyright 2012 Calxeda, Inc.
5  */
7 #include <linux/linkage.h>
9 /*
10  * This is common routine to manage secure monitor API
11  * used to modify the PL310 secure registers.
12  * 'r0' contains the value to be modified and 'r12' contains
13  * the monitor API number.
14  * Function signature : void highbank_smc1(u32 fn, u32 arg)
15  */
16         .arch armv7-a
17         .arch_extension sec
18 ENTRY(highbank_smc1)
19         stmfd   sp!, {r4-r11, lr}
20         mov     r12, r0
21         mov     r0, r1
22         dsb
23         smc     #0
24         ldmfd   sp!, {r4-r11, pc}
25 ENDPROC(highbank_smc1)