From mboxrd@z Thu Jan 1 00:00:00 1970 From: dave.long@linaro.org (David Long) Date: Fri, 10 Jun 2016 10:54:55 -0400 Subject: [PATCH v13 02/10] arm64: Add more test functions to insn.c In-Reply-To: <20160608101401.7296820ea6ac082ef1c917cb@kernel.org> References: <1464924384-15269-1-git-send-email-dave.long@linaro.org> <1464924384-15269-3-git-send-email-dave.long@linaro.org> <20160608101401.7296820ea6ac082ef1c917cb@kernel.org> Message-ID: <575AD4BF.8010000@linaro.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 06/07/2016 09:14 PM, Masami Hiramatsu wrote: > On Thu, 2 Jun 2016 23:26:16 -0400 > David Long wrote: >> @@ -367,6 +402,7 @@ bool aarch32_insn_is_wide(u32 insn); >> #define A32_RT_OFFSET 12 >> #define A32_RT2_OFFSET 0 >> >> +u32 aarch64_extract_system_register(u32 insn); > > This exported symbol is incorrect (see below) > >> u32 aarch32_insn_extract_reg_num(u32 insn, int offset); >> u32 aarch32_insn_mcr_extract_opc2(u32 insn); >> u32 aarch32_insn_mcr_extract_crm(u32 insn); >> diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c >> index 368c082..28c6110f 100644 >> --- a/arch/arm64/kernel/insn.c >> +++ b/arch/arm64/kernel/insn.c > [..] >> @@ -1175,6 +1201,14 @@ u32 aarch64_set_branch_offset(u32 insn, s32 offset) >> BUG(); >> } >> >> +/* >> + * Extract the Op/CR data from a msr/mrs instruction. >> + */ >> +u32 aarch64_insn_extract_system_reg(u32 insn) >> +{ >> + return (insn & 0x1FFFE0) >> 5; >> +} >> + > > aarch64_insn_extract_system_reg() is the right name :) > > Thank you, > > >> bool aarch32_insn_is_wide(u32 insn) >> { >> return insn >= 0xe800; >> -- >> 2.5.0 >> > > Thanks for finding that. -dl From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932750AbcFJOzE (ORCPT ); Fri, 10 Jun 2016 10:55:04 -0400 Received: from mail-qk0-f170.google.com ([209.85.220.170]:35488 "EHLO mail-qk0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751724AbcFJOzB (ORCPT ); Fri, 10 Jun 2016 10:55:01 -0400 Subject: Re: [PATCH v13 02/10] arm64: Add more test functions to insn.c To: Masami Hiramatsu References: <1464924384-15269-1-git-send-email-dave.long@linaro.org> <1464924384-15269-3-git-send-email-dave.long@linaro.org> <20160608101401.7296820ea6ac082ef1c917cb@kernel.org> Cc: Catalin Marinas , Huang Shijie , James Morse , Marc Zyngier , Pratyush Anand , Sandeepa Prabhu , Will Deacon , William Cohen , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Steve Capper , Li Bin , Adam Buchbinder , =?UTF-8?Q?Alex_Benn=c3=a9e?= , Andrew Morton , Andrey Ryabinin , Ard Biesheuvel , Christoffer Dall , Daniel Thompson , Dave P Martin , Jens Wiklander , Jisheng Zhang , John Blackwood , Mark Rutland , Petr Mladek , Robin Murphy , Suzuki K Poulose , Vladimir Murzin , Yang Shi , Zi Shen Lim , yalin wang , Mark Brown From: David Long Message-ID: <575AD4BF.8010000@linaro.org> Date: Fri, 10 Jun 2016 10:54:55 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20160608101401.7296820ea6ac082ef1c917cb@kernel.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/07/2016 09:14 PM, Masami Hiramatsu wrote: > On Thu, 2 Jun 2016 23:26:16 -0400 > David Long wrote: >> @@ -367,6 +402,7 @@ bool aarch32_insn_is_wide(u32 insn); >> #define A32_RT_OFFSET 12 >> #define A32_RT2_OFFSET 0 >> >> +u32 aarch64_extract_system_register(u32 insn); > > This exported symbol is incorrect (see below) > >> u32 aarch32_insn_extract_reg_num(u32 insn, int offset); >> u32 aarch32_insn_mcr_extract_opc2(u32 insn); >> u32 aarch32_insn_mcr_extract_crm(u32 insn); >> diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c >> index 368c082..28c6110f 100644 >> --- a/arch/arm64/kernel/insn.c >> +++ b/arch/arm64/kernel/insn.c > [..] >> @@ -1175,6 +1201,14 @@ u32 aarch64_set_branch_offset(u32 insn, s32 offset) >> BUG(); >> } >> >> +/* >> + * Extract the Op/CR data from a msr/mrs instruction. >> + */ >> +u32 aarch64_insn_extract_system_reg(u32 insn) >> +{ >> + return (insn & 0x1FFFE0) >> 5; >> +} >> + > > aarch64_insn_extract_system_reg() is the right name :) > > Thank you, > > >> bool aarch32_insn_is_wide(u32 insn) >> { >> return insn >= 0xe800; >> -- >> 2.5.0 >> > > Thanks for finding that. -dl