linux_dsm_epyc7002/arch/arm/mach-keystone/smc.S
Santosh Shilimkar 3aae7ab0f1 ARM: keystone: Move CPU bringup code to dedicated asm file
Because of inline asm usage in platsmp.c, smc instruction
creates build failure for ARM V6+V7 build where as using instruction
encoding for smc breaks the thumb2 build.

So move the code snippet to separate asm file and mark
it with 'armv7-a$(plus_sec)' to avoid any build issues.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-24 16:23:36 +02:00

30 lines
693 B
ArmAsm

/*
* Keystone Secure APIs
*
* Copyright (C) 2013 Texas Instruments, Inc.
* Santosh Shilimkar <santosh.shilimkar@ti.com>
*
* This program is free software,you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/linkage.h>
/**
* u32 keystone_cpu_smc(u32 command, u32 cpu, u32 addr)
*
* Low level CPU monitor API
* @command: Monitor command.
* @cpu: CPU Number
* @addr: Kernel jump address for boot CPU
*
* Return: Non zero value on failure
*/
ENTRY(keystone_cpu_smc)
stmfd sp!, {r4-r12, lr}
smc #0
dsb
ldmfd sp!, {r4-r12, pc}
ENDPROC(keystone_cpu_smc)