xref: /kernel/linux/linux-5.10/arch/arm/mach-highbank/smc.S (revision 8c2ecf20)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-5.10/arch/arm/mach-highbank/
18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copied from omap44xx-smc.S Copyright (C) 2010 Texas Instruments, Inc.
48c2ecf20Sopenharmony_ci * Copyright 2012 Calxeda, Inc.
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#include <linux/linkage.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/*
108c2ecf20Sopenharmony_ci * This is common routine to manage secure monitor API
118c2ecf20Sopenharmony_ci * used to modify the PL310 secure registers.
128c2ecf20Sopenharmony_ci * 'r0' contains the value to be modified and 'r12' contains
138c2ecf20Sopenharmony_ci * the monitor API number.
148c2ecf20Sopenharmony_ci * Function signature : void highbank_smc1(u32 fn, u32 arg)
158c2ecf20Sopenharmony_ci */
168c2ecf20Sopenharmony_ci	.arch armv7-a
178c2ecf20Sopenharmony_ci	.arch_extension sec
188c2ecf20Sopenharmony_ciENTRY(highbank_smc1)
198c2ecf20Sopenharmony_ci	stmfd   sp!, {r4-r11, lr}
208c2ecf20Sopenharmony_ci	mov	r12, r0
218c2ecf20Sopenharmony_ci	mov 	r0, r1
228c2ecf20Sopenharmony_ci	dsb
238c2ecf20Sopenharmony_ci	smc	#0
248c2ecf20Sopenharmony_ci	ldmfd   sp!, {r4-r11, pc}
258c2ecf20Sopenharmony_ciENDPROC(highbank_smc1)
26

Indexes created Thu Nov 07 10:32:03 CST 2024