decode-insn.c (93396936ed0ce2c6f44140bd14728611d0bb065e) | decode-insn.c (03c9c8fad6cb5e8fdfb40287fa1cdf8ee2db0b67) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * arch/arm64/kernel/probes/decode-insn.c 4 * 5 * Copyright (C) 2013 Linaro Limited. 6 */ 7 8#include <linux/kernel.h> --- 29 unchanged lines hidden (view full) --- 38 * executing in the single-stepping environment. We do make one 39 * exception, for reading the DAIF bits. 40 */ 41 if (aarch64_insn_is_mrs(insn)) 42 return aarch64_insn_extract_system_reg(insn) 43 != AARCH64_INSN_SPCLREG_DAIF; 44 45 /* | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * arch/arm64/kernel/probes/decode-insn.c 4 * 5 * Copyright (C) 2013 Linaro Limited. 6 */ 7 8#include <linux/kernel.h> --- 29 unchanged lines hidden (view full) --- 38 * executing in the single-stepping environment. We do make one 39 * exception, for reading the DAIF bits. 40 */ 41 if (aarch64_insn_is_mrs(insn)) 42 return aarch64_insn_extract_system_reg(insn) 43 != AARCH64_INSN_SPCLREG_DAIF; 44 45 /* |
46 * The HINT instruction is is problematic when single-stepping, 47 * except for the NOP case. | 46 * The HINT instruction is steppable only if it is in whitelist 47 * and the rest of other such instructions are blocked for 48 * single stepping as they may cause exception or other 49 * unintended behaviour. |
48 */ 49 if (aarch64_insn_is_hint(insn)) 50 return aarch64_insn_is_steppable_hint(insn); 51 52 return true; 53 } 54 55 /* --- 111 unchanged lines hidden --- | 50 */ 51 if (aarch64_insn_is_hint(insn)) 52 return aarch64_insn_is_steppable_hint(insn); 53 54 return true; 55 } 56 57 /* --- 111 unchanged lines hidden --- |