xref: /optee_os/core/arch/arm/include/arm32_macros.S (revision e9eaf44aa1dd856d4b9cf51988a5df52caafce94)
1/* SPDX-License-Identifier: BSD-2-Clause */
2/*
3 * Copyright (c) 2014, STMicroelectronics International N.V.
4 * Copyright (c) 2026, Arm Limited
5 */
6
7#include <generated/arm32_sysreg.S>
8#ifdef _CFG_ARM_V3_OR_V4
9#include <generated/arm32_gicv3_sysreg.S>
10#endif
11
12	.macro mov_imm reg, val
13		.if ((\val) & 0xffff0000) == 0
14			movw	\reg, #(\val)
15		.else
16			movw	\reg, #((\val) & 0xffff)
17			movt	\reg, #((\val) >> 16)
18		.endif
19	.endm
20
21	.macro panic_at_smc_return
22#if defined(CFG_TEE_CORE_DEBUG)
23		bl	__panic_at_smc_return
24#else
25		b	.
26#endif
27	.endm
28