162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#ifndef __ASM_INSN_DEF_H 462306a36Sopenharmony_ci#define __ASM_INSN_DEF_H 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <asm/brk-imm.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* A64 instructions are always 32 bits. */ 962306a36Sopenharmony_ci#define AARCH64_INSN_SIZE 4 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* 1262306a36Sopenharmony_ci * BRK instruction encoding 1362306a36Sopenharmony_ci * The #imm16 value should be placed at bits[20:5] within BRK ins 1462306a36Sopenharmony_ci */ 1562306a36Sopenharmony_ci#define AARCH64_BREAK_MON 0xd4200000 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/* 1862306a36Sopenharmony_ci * BRK instruction for provoking a fault on purpose 1962306a36Sopenharmony_ci * Unlike kgdb, #imm16 value with unallocated handler is used for faulting. 2062306a36Sopenharmony_ci */ 2162306a36Sopenharmony_ci#define AARCH64_BREAK_FAULT (AARCH64_BREAK_MON | (FAULT_BRK_IMM << 5)) 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#endif /* __ASM_INSN_DEF_H */ 24