原始版本
This commit is contained in:
32
RT_Thread/libcpu/aarch64/common/smccc.S
Normal file
32
RT_Thread/libcpu/aarch64/common/smccc.S
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2022, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
*/
|
||||
/**
|
||||
* SMCCC v0.2
|
||||
* ARM DEN0028E chapter 2.6
|
||||
*/
|
||||
.macro SMCCC instr
|
||||
stp x29, x30, [sp, #-16]!
|
||||
mov x29, sp
|
||||
\instr #0
|
||||
// store in arm_smccc_res
|
||||
ldr x4, [sp, #16]
|
||||
stp x0, x1, [x4, #0]
|
||||
stp x2, x3, [x4, #16]
|
||||
1:
|
||||
ldp x29, x30, [sp], #16
|
||||
ret
|
||||
.endm
|
||||
|
||||
.global arm_smccc_smc
|
||||
arm_smccc_smc:
|
||||
SMCCC smc
|
||||
|
||||
.global arm_smccc_hvc
|
||||
arm_smccc_hvc:
|
||||
SMCCC hvc
|
||||
Reference in New Issue
Block a user