mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 02:30:53 +07:00
3aae7ab0f1
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>
30 lines
693 B
ArmAsm
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)
|