aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-09Rebase branch 'auto_zeroise' from js_keywrapauto_zeroisePaul Selkirk
2019-04-09Add CLI functions to manage the keywrap core, with new auto-zeroise ↵Paul Selkirk
functionality.
2019-04-09Merge branch 'master' into js_keywrapPaul Selkirk
2019-04-06Remove fmc_[read|write]_32, since we now memcpy in hal_io_[read|write].Paul Selkirk
2019-04-03Merge branch 'fmc_clk_60mhz' to 'master'Paul Selkirk
2019-03-31Remove inclusion of now-deleted hashsig.hPaul Selkirk
2019-02-28Report SDRAM usage in `task show`Paul Selkirk
2019-02-12Add CLI functions to manage the keywrap core, with new auto-zeroise ↵Paul Selkirk
functionality.
2018-12-05Tell libtfm that the ARM is little-endian, so it can optimize ↵Paul Selkirk
fp_read_unsigned_bin(). This enables some overflow-detection code, which fixes CT-01-009. It also saves 484us/call, which adds up to 6.3ms/RSA signature.
2018-12-03Re-delete SysTick_hook (commit 9ffead1), which somehow crept back in.Paul Selkirk
2018-12-02Clean up the profiling code to the point where I stand a chance ofPaul Selkirk
understanding it 6 months from now. While I'm at it, try to make it a little more efficient (because 50-60% of time in a typical profiling run is spent in the function-entry counting), and collapse profil.c into gmon.c.
2018-11-26Add loop unrolling to bring the profilable mem* functions closer toPaul Selkirk
newlib, because memset is called a LOT in the course of RSA signing, and we need to understand how much time we're actually spending there.
2018-11-14Increase cli task, and move it to SDRAM, because main RAM is getting full.Paul Selkirk
2018-09-11Cleanup, move 'keywrap core' command to the hsm project, where it will ↵Paul Selkirk
actually be useful for short-term testing.
2018-09-07Tweak for 60MHz FMC clock.Rob Austein
2018-09-05When erasing the whole keystore, optionally preserve the login PINs.Paul Selkirk
2018-09-04Make parsing and display of masterkey values consistent with one another,Paul Selkirk
so the user might be able to copy and paste a generated key into the CLI for recovery. Display had been a 32-byte hexdump. Parsing (manual re-entry of the KEK) had been 8 32-bit little-endian values. This has been a pain point for literally two years, albeit at a low enough pain level that I've managed to cringe and ignore it.
2018-08-27Add startup delay to let fmc bus settlePaul Selkirk
2018-08-17Add sanity test for arbitrary size keys, to be really sure the keywrap core ↵Paul Selkirk
bank-switched memory works.
2018-08-16Add timing tests for key unwrap.Paul Selkirk
2018-08-15Add support for Joachim's keywrap core.Paul Selkirk
2018-07-25Merge branch 'hashsig'Paul Selkirk
2018-07-24Add dummy hal_free_static_memory to cli-test, to avoid a link error.Paul Selkirk
We really ought to rototill cli-test, but not today.
2018-07-16Whack various bits of sw/stm32 test code to compile on fmc_clk branch.Rob Austein
2018-07-07Changed FMC initialization code to match the new sync FMC arbiter. RemovedPavel V. Shatov (Meister)
unnecessary code (no more double read, yay!)
2018-05-27Script to run a test with HSM profiling.Rob Austein
2018-05-27FMC cleanup: constification, gratuitous pointer.Rob Austein
2018-05-27Convert FMC I/O functions to static inline.Rob Austein
fmc_read_32() and fmc_write_32() get called often enough that it's worth eliminating unnecessary function call overhead.
2018-05-23Simplify FMC I/O code.Rob Austein
We're no longer using a preemptive multitasker, and we're on the Alpha, not the old bridge board, so all we really need to do is read or write one word at a time via a pointer then wait for the GPIO idle pin to light. Well, other than needing to read twice because of a known hardware problem with the STM32. So we dont need to fiddle with IRQ, or use the CMSIS SRAM lock, or....
2018-05-20Mutex for RSA blinding factors cache.Rob Austein
2018-05-01Update and expand READMEPaul Selkirk
2018-05-01Fix mbed vpath not to use explicit (and wrong) pathsPaul Selkirk
2018-04-19Rebase hashsig from masterPaul Selkirk
2018-04-19Reconstruct the hashsig hash tree(s) on device restart.Paul Selkirk
This can take long enough (several minutes for h=10) that we do it in a background task, which is then converted to an RPC dispatch task. Also add a very limited form of free(), to free the topmost allocation in the sdram "heap". I don't want to deal with real heap management, but I do want to be able to recover memory upon deleting a hashsig key, if it's easy to do so.
2018-04-19Implement hash-based signatures, per draft-mcgrew-hash-sigs-08.txtPaul Selkirk
2018-04-19Cleanup: warn of signed/unsigned mismatches in libhal.Paul Selkirk
This is from October's cleanup binge, but I forgot to commit it at the time.
2018-04-19Reconstruct the hashsig hash tree(s) on device restart.Paul Selkirk
This can take long enough (several minutes for h=10) that we do it in a background task, which is then converted to an RPC dispatch task. Also add a very limited form of free(), to free the topmost allocation in the sdram "heap". I don't want to deal with real heap management, but I do want to be able to recover memory upon deleting a hashsig key, if it's easy to do so.
2018-04-06Merge branch 'profiling'Paul Selkirk
2018-02-26Implement hash-based signatures, per draft-mcgrew-hash-sigs-08.txtPaul Selkirk
2018-02-15Cleanup: warn of signed/unsigned mismatches in libhal.Paul Selkirk
This is from October's cleanup binge, but I forgot to commit it at the time.
2017-12-14Revert a clean up 'fix' which actually broke FPGA upload.Paul Selkirk
2017-10-17Overhaul UART APIPaul Selkirk
MGMT is the default UART, and no one should have to explicitly refer to the UART unless they need USER (hsm.c:hal_serial_send_char). The default UART is now exposed in the header file, so that the default-using functions can be macros, which saves a few bytes in code space, and a few microseconds in function call overhead.
2017-10-15Cleanup: All drivers return HAL_StatusTypeDef rather than magic values.Paul Selkirk
Note: This affects libhal/ks_token.c, which uses the keystore driver directly.
2017-10-11Cleanup 'unused parameter' warnings, a couple of which are actual coding errors.Paul Selkirk
2017-10-11Cleanup: signed/unsigned mismatches, mostly in loop countersPaul Selkirk
2017-10-11Cleanup: Remove useless (unsigned < 0) test.Paul Selkirk
2017-09-21cleanupPaul Selkirk
2017-09-21Make fmc-test less chatty.Paul Selkirk
2017-09-07Rebase branch 'profiling' from masterPaul Selkirk
2017-09-07Add task_yield_maybePaul Selkirk