Releases: virtualsecureplatform/kvsp
Releases · virtualsecureplatform/kvsp
Release list
v40
v39
CAHP Ruby patch release.
- Fixes CAHP relocation emission in bundled llvm-cahp so unresolved PC-relative fixups are recorded instead of being silently encoded as local offsets.
- Restores cahp-ruby startup: the bundled CAHP runtime now relocates
jsal maincorrectly, so Ruby programs entermainand halt. - Adds CAHP 10-bit PC-relative relocation support for branch fixups in object emission and lld.
- Publishes both default and AVX2 release artifacts with the corrected bundled runtime/toolchain.
v38
Highlights
- Add Alexandrite as a first-class RV32I KVSP CPU target.
- Bundle Alexandrite ROM/RAM blueprint, generated core, and freestanding RV32I runtime.
- Add masked Iyokan RAM writes for byte-lane RAM updates across plain, TFHEpp, and CUFHE paths.
- Build bundled LLVM with RISCV plus CAHP targets.
- Fix CUDA/cuFHEpp release builds with current TFHEpp, including Clang-hosted nvcc and AVX512 CUDA host compilation.
- Keep Ruby and Pearl CAHP flows available, with
--cahp-cpucompatibility aliases.
Validation
- Verified
toolbox.sh copyvalidates required Alexandrite, Ruby, Pearl, and runtime artifacts before packing. - Verified the release package contains Alexandrite, Ruby, and Pearl core artifacts plus RV32I and CAHP LLVM targets.
- Verified both release Iyokan binaries report GPU support enabled at Iyokan revision
9e69a83. - Verified Alexandrite plain execution for
fib 5returns#cycle=21,f0=true, andx10=5. - Verified Alexandrite encrypted GPU execution with
run --cpu alexandrite -g 1 -c 21decrypts to#cycle=21,f0=true, andx10=5.
v37
v36
Changes from v35
Iyokan (be517a5 → 2c26bc7)
- Fix GPU RAM bootstrapping: disable USE_KEY_BUNDLE for cuFHEpp compatibility
- Bump cuFHEpp: update GPU-NTT remote to Alisah-Ozcan fork
- Support constant drivers and unknown cell types in YosysJSONReader
llvm-cahp (6344ad8 → 3e58287): rebase to LLVM 21
- Rebase CAHP backend onto LLVM 21.0.0
- Fix CMakeLists.txt: add required LINK_COMPONENTS to CAHPCodeGen and all CAHP subdirectory targets (Disassembler, AsmParser, MCTargetDesc, InstPrinter, TargetInfo)
- Fix PC-relative branch fixups: pass PCRel=true to MCFixup::create for fixup_cahp_pcrel_10 and fixup_cahp_pcrel_11. In LLVM 21, MCAssembler::evaluateFixup only subtracts the instruction PC when isPCRel() is true; without this fix, branch instructions encoded absolute section offsets and caused infinite loops at runtime.
v35
Changes
- Refactor Makefile for parallel builds (
make -jnow works correctly) - Add
cleantarget andBUILDDIRvariable - Add cmake configuration caching (skip re-runs)
- Update README: cuFHE → cuFHEpp, drop V100 references, replace AWS p3 with p4d instances
- Fix cmake policy compatibility for llvm-cahp
v34
Update all dependencies to make KVSP runnable on Ubuntu 24.04. VSP is still not dead.
v33
- Fix a bug that cahp-ruby wrongly set 0 to f0