xref: /linux/arch/arm/mach-highbank/smc.S (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
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 */
6
7#include <linux/linkage.h>
8
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
18ENTRY(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}
25ENDPROC(highbank_smc1)
26