All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/6] support subsets of scalar crypto extension
@ 2021-11-02  3:11 ` liweiwei
  0 siblings, 0 replies; 34+ messages in thread
From: liweiwei @ 2021-11-02  3:11 UTC (permalink / raw)
  To: palmer, alistair.francis, bin.meng, qemu-riscv, qemu-devel
  Cc: wangjunqiang, liweiwei, lazyparser, lustrew, luruibo2000

This patchset implements RISC-V K-extension v1.0.0.rc5 version instructions. Partial instructions are reused from B-extension.

Specification:
https://github.com/riscv/riscv-crypto

The port is available here:
https://github.com/plctlab/plct-qemu/tree/plct-k-upstream

To test rvk implementation,  specify cpu argument with 'x-zks=true,x-zkn=true'  or "x-zbkb=true,x-zbkc=true,x-zbkx=true,x-zknd=true,x-zkne=true,x-zknh=true,x-zksed=true,x-zksh=true,x-zkr=true" to enable  K-extension support.  This implementation can pass the ACT tests for K with our extended act support for qemu (available at https://github.com/plctlab/plct-qemu/tree/plct-k-upstream-with-act)

liweiwei (6):
  target/riscv: rvk: add flag support for Zbk[bcx]
  target/riscv: rvk: add implementation of instructions for Zbk*  -
    reuse partial instructions of Zbb/Zbc extensions  - add brev8 packh,
    unzip, zip, etc.
  target/riscv: rvk: add flag support for
    Zk/Zkn/Zknd/Zknd/Zkne/Zknh/Zks/Zksed/Zksh/Zkr
  target/riscv: rvk: add implementation of instructions for Zk*
  target/riscv: rvk: add CSR support for Zkr:  - add SEED CSR  - add
    USEED, SSEED fields for MSECCFG CSR
  disas/riscv.c: rvk: add disas support for Zbk* and Zk* instructions

 disas/riscv.c                           | 171 +++++++-
 target/riscv/bitmanip_helper.c          |  94 +++++
 target/riscv/cpu.c                      |  45 +-
 target/riscv/cpu.h                      |  12 +
 target/riscv/cpu_bits.h                 |   9 +
 target/riscv/crypto_helper.c            | 540 ++++++++++++++++++++++++
 target/riscv/csr.c                      |  66 +++
 target/riscv/helper.h                   |  47 +++
 target/riscv/insn32.decode              |  94 ++++-
 target/riscv/insn_trans/trans_rvb.c.inc |  91 +++-
 target/riscv/insn_trans/trans_rvk.c.inc | 467 ++++++++++++++++++++
 target/riscv/meson.build                |   1 +
 target/riscv/pmp.h                      |   8 +-
 target/riscv/translate.c                |  83 ++++
 14 files changed, 1690 insertions(+), 38 deletions(-)
 create mode 100644 target/riscv/crypto_helper.c
 create mode 100644 target/riscv/insn_trans/trans_rvk.c.inc

-- 
2.17.1



^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2021-11-03  7:23 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-02  3:11 [RFC 0/6] support subsets of scalar crypto extension liweiwei
2021-11-02  3:11 ` liweiwei
2021-11-02  3:11 ` [RFC 1/6] target/riscv: rvk: add flag support for Zbk[bcx] liweiwei
2021-11-02  3:11   ` liweiwei
2021-11-02 14:18   ` Richard Henderson
2021-11-02 14:18     ` Richard Henderson
2021-11-02 15:00     ` liweiwei
2021-11-02 15:00       ` liweiwei
2021-11-02  3:11 ` [RFC 2/6] target/riscv: rvk: add implementation of instructions for Zbk* - reuse partial instructions of Zbb/Zbc extensions - add brev8 packh, unzip, zip, etc liweiwei
2021-11-02  3:11   ` liweiwei
2021-11-02 15:44   ` Richard Henderson
2021-11-02 15:44     ` Richard Henderson
2021-11-03  0:56     ` liweiwei
2021-11-03  0:56       ` liweiwei
2021-11-02  3:11 ` [RFC 3/6] target/riscv: rvk: add flag support for Zk/Zkn/Zknd/Zknd/Zkne/Zknh/Zks/Zksed/Zksh/Zkr liweiwei
2021-11-02  3:11   ` liweiwei
2021-11-02 17:56   ` Richard Henderson
2021-11-02 17:56     ` Richard Henderson
2021-11-03  1:06     ` liweiwei
2021-11-03  1:06       ` liweiwei
2021-11-03  1:21       ` Richard Henderson
2021-11-03  1:21         ` Richard Henderson
2021-11-03  7:22         ` liweiwei
2021-11-03  7:22           ` liweiwei
2021-11-02  3:11 ` [RFC 4/6] target/riscv: rvk: add implementation of instructions for Zk* liweiwei
2021-11-02  3:11   ` liweiwei
2021-11-02 18:56   ` Richard Henderson
2021-11-02 18:56     ` Richard Henderson
2021-11-03  1:08     ` liweiwei
2021-11-03  1:08       ` liweiwei
2021-11-02  3:11 ` [RFC 5/6] target/riscv: rvk: add CSR support for Zkr: - add SEED CSR - add USEED, SSEED fields for MSECCFG CSR liweiwei
2021-11-02  3:11   ` liweiwei
2021-11-02  3:11 ` [RFC 6/6] disas/riscv.c: rvk: add disas support for Zbk* and Zk* instructions liweiwei
2021-11-02  3:11   ` liweiwei

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.