public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: jiawei <jiawei@iscas.ac.cn>
To: binutils@sourceware.org
Cc: kito.cheng@sifive.com, nelson.chu@sifive.com, jimw@sifive.com,
	philipp.tomsich@vrull.eu, mjos@pqshield.com,
	ben.marshall@pqshield.com, cmuellner@ventanamicro.com,
	palmer@dabbelt.com, andrew@sifive.com, lazyparser@gmail.com,
	siyu@isrc.iscas.ac.cn, schwab@linux-m68k.org, jbeulich@suse.com,
	jiawei <jiawei@iscas.ac.cn>
Subject: [PATCH v4 0/3] RISC-V: Support Scalar Cryptography extension
Date: Mon, 15 Nov 2021 11:03:40 +0800	[thread overview]
Message-ID: <20211115030343.276103-1-jiawei@iscas.ac.cn> (raw)

This patch is support Scalar Cryptography extension(k-ext v1.0.0-rc6) as
binutils part, you can find gcc patches part in https://github.com/WuSiYu/riscv-gcc/tree/trunk-crypto-rebase by siyu@isrc.iscas.ac.cn.

The first patch fix the order check with 'z' begin sub-extension, it set 'zb' before 'zk' as a right case. Some instruction in 'zbkb' and 'zbkc' is both used by Bitmanip and Scalar Cryptography extension, we just redefine the class with them. 

Here is the github repo link contain this patch: https://github.com/pz9115/riscv-binutils-gdb/commits/k-ext-rebase, the old version of this work is form https://github.com/riscv-collab/riscv-binutils-gdb/pull/254, Thanks for Nelson Chu and Jim Wilson's review and help.

Version logs:

v2: Add missing arch "k" in riscv_supported_std_ext[] to make the order check right with "zk" behind "zb" as Neslon Chu's comment.

v3: Remove the trailing spaces as Andreas Schwab's comment. Add commit for each patch and add split testcases into sub-extension tests as Christoph Muellner's comment.

v4: Change letter order in riscv_supported_std_ext[], Move INSN_CLASS_* into follow patch, Fix SHFL/UNSHFL Mask error, Fix typo error, Add CSR_CLASS ZKR for ES_CSR as Neslon Chu's comment.

jiawei (3):
  RISC-V: Minimal support of scalar crypto extension
  RISC-V: Scalar crypto instructions and operand set
  RISC-V: Scalar crypto instruction and Entropy Source CSR testcases

 bfd/elfxx-riscv.c                             | 53 ++++++++++++
 gas/config/tc-riscv.c                         | 29 +++++++
 gas/testsuite/gas/riscv/k-ext-64.d            | 47 ++++++++++
 gas/testsuite/gas/riscv/k-ext-64.s            | 38 ++++++++
 gas/testsuite/gas/riscv/k-ext.d               | 44 ++++++++++
 gas/testsuite/gas/riscv/k-ext.s               | 35 ++++++++
 .../gas/riscv/priv-reg-fail-version-1p10.d    |  2 +-
 .../gas/riscv/priv-reg-fail-version-1p11.d    |  2 +-
 .../gas/riscv/priv-reg-fail-version-1p9p1.d   |  2 +-
 .../gas/riscv/priv-reg-version-1p10.d         |  1 +
 .../gas/riscv/priv-reg-version-1p11.d         |  1 +
 .../gas/riscv/priv-reg-version-1p9p1.d        |  1 +
 gas/testsuite/gas/riscv/priv-reg.s            |  3 +
 gas/testsuite/gas/riscv/zbkb-32.d             | 22 +++++
 gas/testsuite/gas/riscv/zbkb-32.s             | 13 +++
 gas/testsuite/gas/riscv/zbkb-64.d             | 24 ++++++
 gas/testsuite/gas/riscv/zbkb-64.s             | 15 ++++
 gas/testsuite/gas/riscv/zbkc-32.d             | 12 +++
 gas/testsuite/gas/riscv/zbkc-64.d             | 12 +++
 gas/testsuite/gas/riscv/zbkc.s                |  3 +
 gas/testsuite/gas/riscv/zbkx-32.d             | 12 +++
 gas/testsuite/gas/riscv/zbkx-64.d             | 12 +++
 gas/testsuite/gas/riscv/zbkx.s                |  3 +
 gas/testsuite/gas/riscv/zknd-32.d             | 12 +++
 gas/testsuite/gas/riscv/zknd-32.s             |  3 +
 gas/testsuite/gas/riscv/zknd-64.d             | 15 ++++
 gas/testsuite/gas/riscv/zknd-64.s             |  6 ++
 gas/testsuite/gas/riscv/zkne-32.d             | 12 +++
 gas/testsuite/gas/riscv/zkne-32.s             |  3 +
 gas/testsuite/gas/riscv/zkne-64.d             | 14 +++
 gas/testsuite/gas/riscv/zkne-64.s             |  5 ++
 gas/testsuite/gas/riscv/zknh-32.d             | 20 +++++
 gas/testsuite/gas/riscv/zknh-32.s             | 11 +++
 gas/testsuite/gas/riscv/zknh-64.d             | 18 ++++
 gas/testsuite/gas/riscv/zknh-64.s             |  9 ++
 gas/testsuite/gas/riscv/zksed-32.d            | 12 +++
 gas/testsuite/gas/riscv/zksed-64.d            | 12 +++
 gas/testsuite/gas/riscv/zksed.s               |  3 +
 gas/testsuite/gas/riscv/zksh-32.d             | 12 +++
 gas/testsuite/gas/riscv/zksh-64.d             | 12 +++
 gas/testsuite/gas/riscv/zksh.s                |  3 +
 include/opcode/riscv-opc.h                    | 75 ++++++++++++++++
 include/opcode/riscv.h                        | 18 ++++
 opcodes/riscv-dis.c                           |  8 ++
 opcodes/riscv-opc.c                           | 86 +++++++++++++++----
 45 files changed, 735 insertions(+), 20 deletions(-)
 create mode 100644 gas/testsuite/gas/riscv/k-ext-64.d
 create mode 100644 gas/testsuite/gas/riscv/k-ext-64.s
 create mode 100644 gas/testsuite/gas/riscv/k-ext.d
 create mode 100644 gas/testsuite/gas/riscv/k-ext.s
 create mode 100644 gas/testsuite/gas/riscv/zbkb-32.d
 create mode 100644 gas/testsuite/gas/riscv/zbkb-32.s
 create mode 100644 gas/testsuite/gas/riscv/zbkb-64.d
 create mode 100644 gas/testsuite/gas/riscv/zbkb-64.s
 create mode 100644 gas/testsuite/gas/riscv/zbkc-32.d
 create mode 100644 gas/testsuite/gas/riscv/zbkc-64.d
 create mode 100644 gas/testsuite/gas/riscv/zbkc.s
 create mode 100644 gas/testsuite/gas/riscv/zbkx-32.d
 create mode 100644 gas/testsuite/gas/riscv/zbkx-64.d
 create mode 100644 gas/testsuite/gas/riscv/zbkx.s
 create mode 100644 gas/testsuite/gas/riscv/zknd-32.d
 create mode 100644 gas/testsuite/gas/riscv/zknd-32.s
 create mode 100644 gas/testsuite/gas/riscv/zknd-64.d
 create mode 100644 gas/testsuite/gas/riscv/zknd-64.s
 create mode 100644 gas/testsuite/gas/riscv/zkne-32.d
 create mode 100644 gas/testsuite/gas/riscv/zkne-32.s
 create mode 100644 gas/testsuite/gas/riscv/zkne-64.d
 create mode 100644 gas/testsuite/gas/riscv/zkne-64.s
 create mode 100644 gas/testsuite/gas/riscv/zknh-32.d
 create mode 100644 gas/testsuite/gas/riscv/zknh-32.s
 create mode 100644 gas/testsuite/gas/riscv/zknh-64.d
 create mode 100644 gas/testsuite/gas/riscv/zknh-64.s
 create mode 100644 gas/testsuite/gas/riscv/zksed-32.d
 create mode 100644 gas/testsuite/gas/riscv/zksed-64.d
 create mode 100644 gas/testsuite/gas/riscv/zksed.s
 create mode 100644 gas/testsuite/gas/riscv/zksh-32.d
 create mode 100644 gas/testsuite/gas/riscv/zksh-64.d
 create mode 100644 gas/testsuite/gas/riscv/zksh.s

-- 
2.25.1


             reply	other threads:[~2021-11-15  3:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15  3:03 jiawei [this message]
2021-11-15  3:03 ` [PATCH v4 1/3] RISC-V: Minimal support of scalar crypto extension jiawei
2022-02-21 13:24   ` Jan Beulich
2022-02-21 14:14     ` jiawei
2022-02-21 14:16       ` Philipp Tomsich
2022-02-21 14:25         ` Jan Beulich
2022-02-21 14:44         ` Tsukasa OI
2022-02-21 14:50           ` Kito Cheng
2021-11-15  3:03 ` [PATCH v4 2/3] RISC-V: Scalar crypto instructions and operand set jiawei
2022-01-04  8:04   ` Jan Beulich
2022-01-04  8:38     ` 陈嘉炜
2022-01-04  8:49       ` Jan Beulich
2022-01-04 13:13         ` Markku-Juhani O. Saarinen
2021-11-15  3:03 ` [PATCH v4 3/3] RISC-V: Scalar crypto instruction and Entropy Source CSR testcases jiawei
2021-12-21 16:06   ` Jan Beulich
2021-11-16  4:07 ` [PATCH v4 0/3] RISC-V: Support Scalar Cryptography extension Nelson Chu

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=20211115030343.276103-1-jiawei@iscas.ac.cn \
    --to=jiawei@iscas.ac.cn \
    --cc=andrew@sifive.com \
    --cc=ben.marshall@pqshield.com \
    --cc=binutils@sourceware.org \
    --cc=cmuellner@ventanamicro.com \
    --cc=jbeulich@suse.com \
    --cc=jimw@sifive.com \
    --cc=kito.cheng@sifive.com \
    --cc=lazyparser@gmail.com \
    --cc=mjos@pqshield.com \
    --cc=nelson.chu@sifive.com \
    --cc=palmer@dabbelt.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=schwab@linux-m68k.org \
    --cc=siyu@isrc.iscas.ac.cn \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).