Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add SHA accelerator implementation (#257)
* Add untested basic SHA for esp-sX/cX chips * Fix ptr type inconsistency for S2 * Add ESP32 impl & fix process_buffer latch issue * Add debug example for SHA accelerator * Clean up no-op buffer prints * Test vector parity (on esp32s3) * Checkpoint for converting to alignment helper * Finish refactoring & additional parity tests on esp32s3 * Remove core_intrinsics requirement for now * Fix case where (src.len() % 4) == 3 * Finish sha2 example with performance comparison (12-61x speedup) * Refactor ESP32 to alignment helper & Clean up example * Prevent out-of-bounds reads in ESP32 version * Revert Cargo debug changes * Remove cargo config.toml * Clean up example * Remove common/rust-toolchain & ignore in future * Might as well use actual size_of const * Remove SHA512/SHA384 for C2/C3 * Directly import nb::block! to remove unused import warning & fix c2 feature detect * Remove stray newlines * Fix esp32c2 having SHA256 * ESP32 also has SHA384 * Remove comments that don't have a purpose * Clean up example & finish() handling * Add examples & add ESP32 free() * Update C2/C3 examples to show accurate algorithm used * Fix busy check for ESP32 * Remove outdated TODO comment * Update PAC for ESP3 and (actually) fix busy check * Refactor ESP32 version to reduce search space * Add debug printlns to sha example & clean up comments * Fix ESP32 version, finally Co-authored-by: ferris <[email protected]> Co-authored-by: Jesse Braham <[email protected]>
- Loading branch information