Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: opcodes: add opcodes definitions for ARM security extensions

The ARM security extensions introduced the smc instruction, which is not
supported by all versions of GAS.

This patch introduces opcodes-sec.h, so that smc is made available in a
similar manner to hvc.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>

+24
+24
arch/arm/include/asm/opcodes-sec.h
··· 1 + /* 2 + * This program is free software; you can redistribute it and/or modify 3 + * it under the terms of the GNU General Public License version 2 as 4 + * published by the Free Software Foundation. 5 + * 6 + * This program is distributed in the hope that it will be useful, 7 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 8 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 + * GNU General Public License for more details. 10 + * 11 + * Copyright (C) 2012 ARM Limited 12 + */ 13 + 14 + #ifndef __ASM_ARM_OPCODES_SEC_H 15 + #define __ASM_ARM_OPCODES_SEC_H 16 + 17 + #include <asm/opcodes.h> 18 + 19 + #define __SMC(imm4) __inst_arm_thumb32( \ 20 + 0xE1600070 | (((imm4) & 0xF) << 0), \ 21 + 0xF7F08000 | (((imm4) & 0xF) << 16) \ 22 + ) 23 + 24 + #endif /* __ASM_ARM_OPCODES_SEC_H */