1 /* 2 * Copyright (C) 2016 ARM Ltd. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9 #ifndef __ASM_ARM_ARM64_BRK 10 #define __ASM_ARM_ARM64_BRK 11 12 /* 13 * #imm16 values used for BRK instruction generation 14 * 0x001: xen-mode BUG() and WARN() traps 15 * 0x002: for triggering a fault on purpose (reserved) 16 */ 17 #define BRK_BUG_FRAME_IMM 1 18 #define BRK_FAULT_IMM 2 19 20 /* 21 * BRK instruction encoding 22 * The #imm16 value should be placed at bits[20:5] within BRK ins 23 */ 24 #define AARCH64_BREAK_MON 0xd4200000 25 26 /* 27 * BRK instruction for provoking a fault on purpose 28 */ 29 #define AARCH64_BREAK_FAULT (AARCH64_BREAK_MON | (BRK_FAULT_IMM << 5)) 30 31 #endif /* !__ASM_ARM_ARM64_BRK */ 32 /* 33 * Local variables: 34 * mode: C 35 * c-file-style: "BSD" 36 * c-basic-offset: 4 37 * indent-tabs-mode: nil 38 * End: 39 */ 40