xref: /optee_os/core/arch/arm/include/arm32_macros.S (revision 0c9404e1c415e0a762ad81ed7ecfe93fffbcd98a)
11bb92983SJerome Forissier/* SPDX-License-Identifier: BSD-2-Clause */
2abe38974SJens Wiklander/*
3abe38974SJens Wiklander * Copyright (c) 2014, STMicroelectronics International N.V.
4abe38974SJens Wiklander */
5abe38974SJens Wiklander
618b58024SJens Wiklander#include <generated/arm32_sysreg.S>
7c3d0b15dSJens Wiklander#ifdef CFG_ARM_GICV3
8c3d0b15dSJens Wiklander#include <generated/arm32_gicv3_sysreg.S>
9c3d0b15dSJens Wiklander#endif
10d077a453SJens Wiklander
119dd11da5SJens Wiklander	.macro mov_imm reg, val
129dd11da5SJens Wiklander		.if ((\val) & 0xffff0000) == 0
13d97d0b71SJens Wiklander			movw	\reg, #(\val)
149dd11da5SJens Wiklander		.else
159dd11da5SJens Wiklander			movw	\reg, #((\val) & 0xffff)
169dd11da5SJens Wiklander			movt	\reg, #((\val) >> 16)
179dd11da5SJens Wiklander		.endif
189dd11da5SJens Wiklander	.endm
199dd11da5SJens Wiklander
20*0c9404e1SJens Wiklander	.macro panic_at_smc_return
21*0c9404e1SJens Wiklander#if defined(CFG_TEE_CORE_DEBUG)
22*0c9404e1SJens Wiklander		bl	__panic_at_smc_return
23*0c9404e1SJens Wiklander#else
24*0c9404e1SJens Wiklander		b	.
25*0c9404e1SJens Wiklander#endif
26*0c9404e1SJens Wiklander	.endm
27