Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Test plan for the scalar-crypto specific instructions is available.
  • No actual tests suitable for use currently available. An old experimental set need removing from the riscv-crypto repository, as these no longer work with the latest toolchain or architectural test framework.
  • What's next:
    • Imperas have a complete set of tests, written to the existing test plan, for the scalar crypto instructions and the bitmanip instructions we borrow.
      • There is an open pull request (with some open questions) in the riscv-arch-test repository, with many thanks to Imperas.
      • They form a base we can use to develop prototype implementations / Spike / SAIL / QEMU very easily and quickly.
    • IIT Madras are also looking at writing the scalar crypto tests for integration into the official architectural tests repo as well.
      • Agreed SoW for IITM
      • They will re-implement the tests as part of the blessed coverage and test generation tooling.
      • We then switch over to using the IIT tests when they are finished, since they will be easier to maintain/extend going forward than the Imperas tests.
    • YAML config changes for K have been merged in. See here.

...

  • Currently working on getting support merged in upstream in PR#80
    • Support for all scalar-crypto dedicated instructions is present.
    • Support for the entropy source is still the main point of discussion.
    • No support for Bitmanip. The Bitmanip TG is waiting until after the opcode and consistency review to start writing SAIL code.
    • (warning) This PR is "paused" until the next release of the scalar crypto spec, which will bring some functional changes to the `aes32*` and `sm4*` instructions.

Spike

  • Upstream support has been merged in as of PR#635
    • Support for all of scalar crypto specific instructions and entropy source.
    • The only feature left is to enable the right Bitmanip instructions when K is enabled. Currently, one must include "b" in the spike "–isa=" argument.
    • PR#649 has now been merged. Support now consistent with v0.9.0.

...