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 ---