diff options
Diffstat (limited to 'arch/arm/include/asm/bug.h')
| -rw-r--r-- | arch/arm/include/asm/bug.h | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/include/asm/bug.h b/arch/arm/include/asm/bug.h index 7af5c6c3653..b274bde2490 100644 --- a/arch/arm/include/asm/bug.h +++ b/arch/arm/include/asm/bug.h @@ -2,6 +2,8 @@  #define _ASMARM_BUG_H  #include <linux/linkage.h> +#include <linux/types.h> +#include <asm/opcodes.h>  #ifdef CONFIG_BUG @@ -12,10 +14,10 @@   */  #ifdef CONFIG_THUMB2_KERNEL  #define BUG_INSTR_VALUE 0xde02 -#define BUG_INSTR_TYPE ".hword " +#define BUG_INSTR(__value) __inst_thumb16(__value)  #else  #define BUG_INSTR_VALUE 0xe7f001f2 -#define BUG_INSTR_TYPE ".word " +#define BUG_INSTR(__value) __inst_arm(__value)  #endif @@ -33,7 +35,7 @@  #define __BUG(__file, __line, __value)				\  do {								\ -	asm volatile("1:\t" BUG_INSTR_TYPE #__value "\n"	\ +	asm volatile("1:\t" BUG_INSTR(__value) "\n"  \  		".pushsection .rodata.str, \"aMS\", %progbits, 1\n" \  		"2:\t.asciz " #__file "\n" 			\  		".popsection\n" 				\ @@ -48,7 +50,7 @@ do {								\  #define __BUG(__file, __line, __value)				\  do {								\ -	asm volatile(BUG_INSTR_TYPE #__value);			\ +	asm volatile(BUG_INSTR(__value) "\n");			\  	unreachable();						\  } while (0)  #endif  /* CONFIG_DEBUG_BUGVERBOSE */  | 
