From: Chen Zhongjin <chenzhongjin@huawei.com> To: <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-arch@vger.kernel.org> Cc: <jthierry@redhat.com>, <catalin.marinas@arm.com>, <will@kernel.org>, <masahiroy@kernel.org>, <jpoimboe@redhat.com>, <peterz@infradead.org>, <ycote@redhat.com>, <herbert@gondor.apana.org.au>, <mark.rutland@arm.com>, <davem@davemloft.net>, <ardb@kernel.org>, <maz@kernel.org>, <tglx@linutronix.de>, <luc.vanoostenryck@gmail.com>, <chenzhongjin@huawei.com> Subject: [RFC PATCH v4 07/37] objtool: arm64: Decode other system instructions Date: Fri, 29 Apr 2022 17:43:25 +0800 [thread overview] Message-ID: <20220429094355.122389-8-chenzhongjin@huawei.com> (raw) In-Reply-To: <20220429094355.122389-1-chenzhongjin@huawei.com> From: Julien Thierry <jthierry@redhat.com> Decode ERET, BRK and NOPs Signed-off-by: Julien Thierry <jthierry@redhat.com> --- tools/objtool/arch/arm64/decode.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/objtool/arch/arm64/decode.c b/tools/objtool/arch/arm64/decode.c index 351f8b1bbd6d..b07e0f51637e 100644 --- a/tools/objtool/arch/arm64/decode.c +++ b/tools/objtool/arch/arm64/decode.c @@ -238,6 +238,13 @@ int arch_decode_instruction(struct objtool_file *file, const struct section *sec /* Remaining branch opcodes are conditional */ *type = INSN_JUMP_CONDITIONAL; *immediate = aarch64_get_branch_offset(insn); + } else if (aarch64_insn_is_eret(insn)) { + *type = INSN_CONTEXT_SWITCH; + } else if (aarch64_insn_is_steppable_hint(insn)) { + *type = INSN_NOP; + } else if (aarch64_insn_is_brk(insn)) { + *type = INSN_BUG; + *immediate = aarch64_insn_decode_immediate(AARCH64_INSN_IMM_16, insn); } break; default: -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Chen Zhongjin <chenzhongjin@huawei.com> To: <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-arch@vger.kernel.org> Cc: <jthierry@redhat.com>, <catalin.marinas@arm.com>, <will@kernel.org>, <masahiroy@kernel.org>, <jpoimboe@redhat.com>, <peterz@infradead.org>, <ycote@redhat.com>, <herbert@gondor.apana.org.au>, <mark.rutland@arm.com>, <davem@davemloft.net>, <ardb@kernel.org>, <maz@kernel.org>, <tglx@linutronix.de>, <luc.vanoostenryck@gmail.com>, <chenzhongjin@huawei.com> Subject: [RFC PATCH v4 07/37] objtool: arm64: Decode other system instructions Date: Fri, 29 Apr 2022 17:43:25 +0800 [thread overview] Message-ID: <20220429094355.122389-8-chenzhongjin@huawei.com> (raw) In-Reply-To: <20220429094355.122389-1-chenzhongjin@huawei.com> From: Julien Thierry <jthierry@redhat.com> Decode ERET, BRK and NOPs Signed-off-by: Julien Thierry <jthierry@redhat.com> --- tools/objtool/arch/arm64/decode.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/objtool/arch/arm64/decode.c b/tools/objtool/arch/arm64/decode.c index 351f8b1bbd6d..b07e0f51637e 100644 --- a/tools/objtool/arch/arm64/decode.c +++ b/tools/objtool/arch/arm64/decode.c @@ -238,6 +238,13 @@ int arch_decode_instruction(struct objtool_file *file, const struct section *sec /* Remaining branch opcodes are conditional */ *type = INSN_JUMP_CONDITIONAL; *immediate = aarch64_get_branch_offset(insn); + } else if (aarch64_insn_is_eret(insn)) { + *type = INSN_CONTEXT_SWITCH; + } else if (aarch64_insn_is_steppable_hint(insn)) { + *type = INSN_NOP; + } else if (aarch64_insn_is_brk(insn)) { + *type = INSN_BUG; + *immediate = aarch64_insn_decode_immediate(AARCH64_INSN_IMM_16, insn); } break; default: -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-29 9:47 UTC|newest] Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-29 9:43 [RFC PATCH v4 00/37] objtool: add base support for arm64 Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 01/37] tools: Add some generic functions and headers Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 02/37] tools: arm64: Make aarch64 instruction decoder available to tools Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 03/37] tools: bug: Remove duplicate definition Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 04/37] objtool: arm64: Add base definition for arm64 backend Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 05/37] objtool: arm64: Decode add/sub instructions Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 06/37] objtool: arm64: Decode jump and call related instructions Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin [this message] 2022-04-29 9:43 ` [RFC PATCH v4 07/37] objtool: arm64: Decode other system instructions Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 08/37] objtool: arm64: Decode load/store instructions Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 09/37] objtool: arm64: Decode LDR instructions Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 10/37] objtool: arm64: Accept non-instruction data in code sections Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 11/37] objtool: arm64: Handle supported relocations in alternatives Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 12/37] objtool: arm64: Ignore replacement section for alternative callback Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 13/37] objtool: arm64: Enable stack validation for arm64 Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 14/37] objtool: check: Support data in text section Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 15/37] objtool: arm64: Add unwind_hint support Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 16/37] arm64: Add annotate_reachable() for objtools Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 17/37] arm64: bug: Add reachable annotation to warning macros Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 18/37] arm64: kgdb: Mark code following kgdb brk as reachable Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 19/37] arm64: irq-gic: Replace unreachable() with -EINVAL Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 20/37] arm64: Set intra-function call annotations Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 21/37] arm64: kernel: Skip validation of proton-pack.c.c and hibernate.c Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 22/37] arm64: kernel: Skip validation of kuser32.o Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 11:05 ` Peter Zijlstra 2022-04-29 11:05 ` Peter Zijlstra 2022-05-05 3:36 ` Chen Zhongjin 2022-05-05 3:36 ` Chen Zhongjin 2022-05-05 9:24 ` Peter Zijlstra 2022-05-05 9:24 ` Peter Zijlstra 2022-05-05 10:56 ` Mark Rutland 2022-05-05 10:56 ` Mark Rutland 2022-05-06 2:18 ` Chen Zhongjin 2022-05-06 2:18 ` Chen Zhongjin 2022-05-06 10:06 ` Mark Rutland 2022-05-06 10:06 ` Mark Rutland 2022-05-07 6:35 ` Chen Zhongjin 2022-05-07 6:35 ` Chen Zhongjin 2022-05-06 17:31 ` Josh Poimboeuf 2022-05-06 17:31 ` Josh Poimboeuf 2022-04-29 9:43 ` [RFC PATCH v4 23/37] arm64: kernel: Skip validation of sigreturn32.o Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 24/37] arm64: ftrace: Skip validation of entry-ftrace.o Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 25/37] arm64: bpf: Skip validation of ___bpf_prog_run Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 11:13 ` Peter Zijlstra 2022-04-29 11:13 ` Peter Zijlstra 2022-04-29 20:09 ` Josh Poimboeuf 2022-04-29 20:09 ` Josh Poimboeuf 2022-04-29 9:43 ` [RFC PATCH v4 26/37] arm64: crypto: Remove unnecessary stackframe Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 27/37] arm64: sleep: Properly set frame pointer before call Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 28/37] arm64: Change symbol annotations Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 29/37] arm64: efi-header: Mark efi header as data Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 30/37] arm64: head: Mark constants " Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 31/37] arm64: proc: Mark constant " Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 32/37] arm64: crypto: Mark data in code sections Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 33/37] arm64: Annotate ASM symbols with unknown stack state Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 34/37] arm64: entry: Annotate valid stack in kernel entry Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 35/37] arm64: entry: Annotate code switching to tasks Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 36/37] arm64: entry: Align stack size for alternative Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin 2022-04-29 9:43 ` [RFC PATCH v4 37/37] arm64: kvm: Annotate stack state for guest enter/exit code Chen Zhongjin 2022-04-29 9:43 ` Chen Zhongjin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220429094355.122389-8-chenzhongjin@huawei.com \ --to=chenzhongjin@huawei.com \ --cc=ardb@kernel.org \ --cc=catalin.marinas@arm.com \ --cc=davem@davemloft.net \ --cc=herbert@gondor.apana.org.au \ --cc=jpoimboe@redhat.com \ --cc=jthierry@redhat.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=luc.vanoostenryck@gmail.com \ --cc=mark.rutland@arm.com \ --cc=masahiroy@kernel.org \ --cc=maz@kernel.org \ --cc=peterz@infradead.org \ --cc=tglx@linutronix.de \ --cc=will@kernel.org \ --cc=ycote@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.