Unverified Commit 0d96309a authored by Eric Gouriou's avatar Eric Gouriou
Browse files

Zvkned+Zvbb+Zvbc AES-GCM Proof of Concept



The aes-gcm-test.c file contains a set of functions verifying and
showcasing usage of instructions defined by the Zvkned and Zvbb/Zvbc
extensions to implement AES-GCM algorithm routines.

Pre-requisites:
- riscv64-linux-gnu toolchain available in PATH.
- zvkned, zvbb, and zvbc enabled binutils-gdb available
  in PATH overriding the above toolchain.
- zvkned, zvbb, and zbbc enabled Spike available in PATH.
- RISC-V Proxy kernel (riscv-pk) compiled and available in
  ~/RISC-V/riscv64-linux-gnu/bin/pk (can be overridden with PK make
  variable).

The default make target will compile all examples and run them in Spike
simulator.

Example make invocation:
    # Build and run aes-gcm-test with default parameters
    make run-aes-gcm
    # Override riscv-pk location
    make run-aes-gcm PK=/opt/prefix/riscv64-linux-gnu/bin/pk
    # Override target triplet and riscv-pk location
    make run-aes-gcm TARGET=riscv64-unknown-linux-gnu \
                     PK=/opt/prefix/riscv64-linux-gnu/bin/pk

Make targets:
- aes-gcm-test - compiles the PoC code.
- run-aes-gcm - Executes the compiled binary in Spike.
- clean - Cleans the build artifacts.

Make variables:
- TARGET - Target triplet to use. By default riscv64-linux-gnu.
- PK - Location of the riscv-pk binary. By default it's
  ~/RISC-V/$(TARGET)/bin/pk

See Makefile for more details.

Signed-off-by: default avatarKornel Dulęba <mindal@semihalf.com>
Signed-off-by: default avatarEric Gouriou <ego@rivosinc.com>
parent b9f50ba9
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment