18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Keystone Secure APIs 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2013 Texas Instruments, Inc. 68c2ecf20Sopenharmony_ci * Santosh Shilimkar <santosh.shilimkar@ti.com> 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <linux/linkage.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/** 128c2ecf20Sopenharmony_ci * u32 keystone_cpu_smc(u32 command, u32 cpu, u32 addr) 138c2ecf20Sopenharmony_ci * 148c2ecf20Sopenharmony_ci * Low level CPU monitor API 158c2ecf20Sopenharmony_ci * @command: Monitor command. 168c2ecf20Sopenharmony_ci * @cpu: CPU Number 178c2ecf20Sopenharmony_ci * @addr: Kernel jump address for boot CPU 188c2ecf20Sopenharmony_ci * 198c2ecf20Sopenharmony_ci * Return: Non zero value on failure 208c2ecf20Sopenharmony_ci */ 218c2ecf20Sopenharmony_ci .arch_extension sec 228c2ecf20Sopenharmony_ciENTRY(keystone_cpu_smc) 238c2ecf20Sopenharmony_ci stmfd sp!, {r4-r11, lr} 248c2ecf20Sopenharmony_ci smc #0 258c2ecf20Sopenharmony_ci ldmfd sp!, {r4-r11, pc} 268c2ecf20Sopenharmony_ciENDPROC(keystone_cpu_smc) 27