From: Vincent Chen <vincent.chen@sifive.com> To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Palmer Dabbelt <palmer@dabbelt.com>, Paul Walmsley <paul.walmsley@sifive.com>, linux-kselftest <linux-kselftest@vger.kernel.org>, linux-riscv <linux-riscv@lists.infradead.org> Subject: Re: [PATCH V2 3/3] rseq/selftests: Add support for riscv Date: Fri, 27 Mar 2020 16:33:40 +0800 [thread overview] Message-ID: <CABvJ_xiGzFY6mUAx7xZDUuk=bUWt3SDsDyzFFODmtuXA28NQzg@mail.gmail.com> (raw) In-Reply-To: <490218026.13345.1585239426829.JavaMail.zimbra@efficios.com> On Fri, Mar 27, 2020 at 12:17 AM Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote: > > ----- On Mar 26, 2020, at 11:49 AM, Palmer Dabbelt palmer@dabbelt.com wrote: > > > On Sun, 08 Mar 2020 22:59:52 PDT (-0700), vincent.chen@sifive.com wrote: > >> Add support for risc-v in the rseq selftests, which covers both > >> 64-bit and 32-bit ISA with little endian mode. > >> > >> Signed-off-by: Vincent Chen <vincent.chen@sifive.com> > >> --- > >> tools/testing/selftests/rseq/param_test.c | 23 ++ > >> tools/testing/selftests/rseq/rseq-riscv.h | 622 ++++++++++++++++++++++++++++++ > >> tools/testing/selftests/rseq/rseq.h | 2 + > >> 3 files changed, 647 insertions(+) > >> create mode 100644 tools/testing/selftests/rseq/rseq-riscv.h > > > > There are a ton of checkpatch errors in here. > > Is it just my mail client or the main issue is: > > ERROR: DOS line endings > > ? I am not sure, but I did not run into this error in my environment. > > As far as other issues are concerned, I know there are a few checkpatch > false-positives that trigger for my rseq-{$ARCH}.h header, from which rseq-riscv.h > is derived, because it has issues with extensive use of inline assembly. > > Thanks, > > Mathieu > Thank Mathieu for your explanation. The errors reported by checkpatch.pl can be categorized into two cases. The first one is "need consistent spacing around %". such as ERROR: need consistent spacing around '%' (ctx:WxV) #628: FILE: tools/testing/selftests/rseq/rseq-riscv.h:572: + RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2]) where RSEQ_ASM_DEFINE_EXIT_POINT is defined as below #define RSEQ_ASM_DEFINE_EXIT_POINT(start_ip, exit_ip) \ ".pushsection __rseq_exit_point_array, \"aw\"\n" \ ".quad " __rseq_str(start_ip) ", " __rseq_str(exit_ip) "\n" \ ".popsection\n" These errors were mainly found in the rseq-riscv.h. As Mathieu mentioned, the RSEQ_ASM_DEFINE_EXIT_POINT macro is used in the inline assembly, which the second argument %l[error2] indicates the error2 is a label and it locates outside of the inline assembly. To obey the syntax, I cannot add a space after % to fix this bug. The second kind of error is "Macros with complex values should be enclosed in parentheses" such as ERROR: Macros with complex values should be enclosed in parentheses #27: FILE: tools/testing/selftests/rseq/param_test.c:210: +#define RSEQ_INJECT_INPUT \ + , [loop_cnt_1]"m"(loop_cnt[1]) \ + , [loop_cnt_2]"m"(loop_cnt[2]) \ + , [loop_cnt_3]"m"(loop_cnt[3]) \ + , [loop_cnt_4]"m"(loop_cnt[4]) \ + , [loop_cnt_5]"m"(loop_cnt[5]) \ + , [loop_cnt_6]"m"(loop_cnt[6]) In this case, it was a input operand list of inline assembly, so I could not add parentheses to enclose them. Except for these two kinds of error, there are two erros could be solved by adding parentheses. I also checked it and I think it would be safe. So, I mimic the implementations of other architecture without using parenthese. If needed, I think can add the parenthese to solve these two errors. Thanks
WARNING: multiple messages have this Message-ID (diff)
From: Vincent Chen <vincent.chen@sifive.com> To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: linux-riscv <linux-riscv@lists.infradead.org>, Palmer Dabbelt <palmer@dabbelt.com>, linux-kselftest <linux-kselftest@vger.kernel.org>, Paul Walmsley <paul.walmsley@sifive.com> Subject: Re: [PATCH V2 3/3] rseq/selftests: Add support for riscv Date: Fri, 27 Mar 2020 16:33:40 +0800 [thread overview] Message-ID: <CABvJ_xiGzFY6mUAx7xZDUuk=bUWt3SDsDyzFFODmtuXA28NQzg@mail.gmail.com> (raw) In-Reply-To: <490218026.13345.1585239426829.JavaMail.zimbra@efficios.com> On Fri, Mar 27, 2020 at 12:17 AM Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote: > > ----- On Mar 26, 2020, at 11:49 AM, Palmer Dabbelt palmer@dabbelt.com wrote: > > > On Sun, 08 Mar 2020 22:59:52 PDT (-0700), vincent.chen@sifive.com wrote: > >> Add support for risc-v in the rseq selftests, which covers both > >> 64-bit and 32-bit ISA with little endian mode. > >> > >> Signed-off-by: Vincent Chen <vincent.chen@sifive.com> > >> --- > >> tools/testing/selftests/rseq/param_test.c | 23 ++ > >> tools/testing/selftests/rseq/rseq-riscv.h | 622 ++++++++++++++++++++++++++++++ > >> tools/testing/selftests/rseq/rseq.h | 2 + > >> 3 files changed, 647 insertions(+) > >> create mode 100644 tools/testing/selftests/rseq/rseq-riscv.h > > > > There are a ton of checkpatch errors in here. > > Is it just my mail client or the main issue is: > > ERROR: DOS line endings > > ? I am not sure, but I did not run into this error in my environment. > > As far as other issues are concerned, I know there are a few checkpatch > false-positives that trigger for my rseq-{$ARCH}.h header, from which rseq-riscv.h > is derived, because it has issues with extensive use of inline assembly. > > Thanks, > > Mathieu > Thank Mathieu for your explanation. The errors reported by checkpatch.pl can be categorized into two cases. The first one is "need consistent spacing around %". such as ERROR: need consistent spacing around '%' (ctx:WxV) #628: FILE: tools/testing/selftests/rseq/rseq-riscv.h:572: + RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2]) where RSEQ_ASM_DEFINE_EXIT_POINT is defined as below #define RSEQ_ASM_DEFINE_EXIT_POINT(start_ip, exit_ip) \ ".pushsection __rseq_exit_point_array, \"aw\"\n" \ ".quad " __rseq_str(start_ip) ", " __rseq_str(exit_ip) "\n" \ ".popsection\n" These errors were mainly found in the rseq-riscv.h. As Mathieu mentioned, the RSEQ_ASM_DEFINE_EXIT_POINT macro is used in the inline assembly, which the second argument %l[error2] indicates the error2 is a label and it locates outside of the inline assembly. To obey the syntax, I cannot add a space after % to fix this bug. The second kind of error is "Macros with complex values should be enclosed in parentheses" such as ERROR: Macros with complex values should be enclosed in parentheses #27: FILE: tools/testing/selftests/rseq/param_test.c:210: +#define RSEQ_INJECT_INPUT \ + , [loop_cnt_1]"m"(loop_cnt[1]) \ + , [loop_cnt_2]"m"(loop_cnt[2]) \ + , [loop_cnt_3]"m"(loop_cnt[3]) \ + , [loop_cnt_4]"m"(loop_cnt[4]) \ + , [loop_cnt_5]"m"(loop_cnt[5]) \ + , [loop_cnt_6]"m"(loop_cnt[6]) In this case, it was a input operand list of inline assembly, so I could not add parentheses to enclose them. Except for these two kinds of error, there are two erros could be solved by adding parentheses. I also checked it and I think it would be safe. So, I mimic the implementations of other architecture without using parenthese. If needed, I think can add the parenthese to solve these two errors. Thanks
next prev parent reply other threads:[~2020-03-27 8:33 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-09 5:59 [PATCH V2 0/3] riscv: add support for restartable sequence Vincent Chen 2020-03-09 5:59 ` Vincent Chen 2020-03-09 5:59 ` [PATCH V2 1/3] riscv: add required functions to enable HAVE_REGS_AND_STACK_ACCESS_API Vincent Chen 2020-03-09 5:59 ` Vincent Chen 2020-03-09 5:59 ` [PATCH V2 2/3] riscv: Add support for restartable sequence Vincent Chen 2020-03-09 5:59 ` Vincent Chen 2021-07-19 14:43 ` Mathieu Desnoyers 2021-07-19 14:43 ` Mathieu Desnoyers 2021-07-21 3:19 ` Vincent Chen 2021-07-21 3:19 ` Vincent Chen 2020-03-09 5:59 ` [PATCH V2 3/3] rseq/selftests: Add support for riscv Vincent Chen 2020-03-09 5:59 ` Vincent Chen 2020-03-26 15:49 ` Palmer Dabbelt 2020-03-26 15:49 ` Palmer Dabbelt 2020-03-26 16:17 ` Mathieu Desnoyers 2020-03-26 16:17 ` Mathieu Desnoyers 2020-03-27 8:33 ` Vincent Chen [this message] 2020-03-27 8:33 ` Vincent Chen
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='CABvJ_xiGzFY6mUAx7xZDUuk=bUWt3SDsDyzFFODmtuXA28NQzg@mail.gmail.com' \ --to=vincent.chen@sifive.com \ --cc=linux-kselftest@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=mathieu.desnoyers@efficios.com \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.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.