Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-09-13 | Added call to ice40mkm_configure() to the 'hsm' project startup code. | Pavel V. Shatov (Meister) | |
2019-03-31 | Remove inclusion of now-deleted hashsig.h | Paul Selkirk | |
2019-02-28 | Report SDRAM usage in `task show` | Paul Selkirk | |
2018-11-14 | Increase cli task, and move it to SDRAM, because main RAM is getting full. | Paul Selkirk | |
2018-07-25 | Merge branch 'hashsig' | Paul Selkirk | |
2018-05-20 | Mutex for RSA blinding factors cache. | Rob Austein | |
2018-04-19 | Reconstruct 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-19 | Implement hash-based signatures, per draft-mcgrew-hash-sigs-08.txt | Paul Selkirk | |
2018-04-06 | Merge branch 'profiling' | Paul Selkirk | |
2017-10-17 | Overhaul UART API | Paul 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-11 | Cleanup: signed/unsigned mismatches, mostly in loop counters | Paul Selkirk | |
2017-09-07 | Rebase branch 'profiling' from master | Paul Selkirk | |
2017-09-07 | Add task_yield_maybe | Paul Selkirk | |
2017-08-31 | Withdraw SysTick_hook (commit 9ffead1), because it turns out there was ↵ | Paul Selkirk | |
already a user-callback mechanism with HAL_SYSTICK_IRQHandler() and HAL_SYSTICK_Callback(). | |||
2017-07-31 | Adapt uart_rx_thread to the post-thread tasking model, because we're still | Paul Selkirk | |
subject to the same forces that made it a good idea in the first place. commit 2b6b9f8 Change RPC UART to have a high-priority thread monitoring a large(ish) DMA buffer, because we've observed out-of-order receives under load. | |||
2017-05-24 | Add task_yield_maybe | Paul Selkirk | |
2017-05-02 | Merge branch 'init_cleanup' into no-rtos | Paul Selkirk | |
Clean up Makefiles and initialization code. | |||
2017-04-30 | Merge branch 'ksng' into no-rtos | Rob Austein | |
Required minor manual intervention to resolve merge issues git had no way of understanding: git is clever, but not quite clever enough to understand that a commit in branch had removed the entire RTOS that a commit in the other branch was using. No big deal, just a couple of osDelay() calls needing conversion to HAL_Delay() or task_delay(). | |||
2017-04-29 | Add minimal mutexes to the minimal tasking system | Paul Selkirk | |
2017-04-27 | Replace the RTOS with a simple cooperative tasker. | Paul Selkirk | |
There are no priorities and no preemption, so tasks run in a round-robin fashion, and explicitly yield control. | |||
2017-04-26 | Add support for hal_sleep(). | Rob Austein | |
2017-04-17 | Add a short delay to osMailAlloc, since we're no longer calling it in an ISR. | Paul Selkirk | |
2017-04-01 | Change RPC UART to have a high-priority thread monitoring a large(ish) DMA | Paul Selkirk | |
buffer, because we've observed out-of-order receives under load. | |||
2017-03-02 | Try to be a bit more robust in the face of normal errors. | Paul Selkirk | |
If hal_rpc_server_dispatch() returns an XDR decode error because the request packet was too short, don't call Error_Handler() and kill the dispatch thread, just drop the request. Add more ibuf_queue entries, but don't panic and kill the dispatch thread if we can't get one, just drop the incoming character (which will lead to an XDR decode error if/when we finally get an ibuf). | |||
2017-02-02 | Add locking around keystore operations. | Rob Austein | |
2016-12-19 | Merge branch 'master' into ksng. | Rob Austein | |
Drag in UART-related changes from master. | |||
2016-09-23 | Use subsectors instead of sectors in keystore. | Rob Austein | |
2016-09-20 | Still some problem with uart receive under heavy load, so change to a 2-byte ↵ | Paul Selkirk | |
receive buffer with half-complete callbacks, and raise the dma priority. | |||
2016-08-23 | Multi-client testing revealed race conditions in uart receive code | Paul Selkirk | |
(dropped characters, improper handoff of message buffers). Fixed by a) changing the uart receiver from interrupt to DMA mode, and b) replacing the dispatch mutex and rpc semaphore with a mail queue (memory pool + message queue). | |||
2016-08-11 | Multiple threads and multiple cores, to deal with multiple clients. | Paul Selkirk | |
2016-07-13 | probe_cores() finally does the right thing, so we don't have to call it early. | Paul Selkirk | |
2016-07-07 | Drop bad request packets. | Paul Selkirk | |
Also, if the UART receive callback fails to re-enable receive (because dispatch_thread is in the middle of transmitting a response), signal dispatch_thread to re-enable receive after it's done. | |||
2016-07-07 | Default to one RPC worker thread. | Paul Selkirk | |
2016-07-06 | Add uart_set_default() to make debugging output easier. | Paul Selkirk | |
2016-06-30 | RPC wire format now includes client handle in all requests, and opcode and | Paul Selkirk | |
client handle in all responses. | |||
2016-06-14 | Import cli-test into hsm pretty much as-is. | Paul Selkirk | |
2016-06-13 | RSA keygen needs even more stack space than I thought. | Paul Selkirk | |
Also, it turns out the linker wants to include initializers for sdram variables in the .elf and .bin files, even though it should handle it like bss. So now we manage sdram directly with a pseudo-malloc. | |||
2016-06-09 | Put thread stack buffers in SDRAM, because pkey uses a lot of stack. | Paul Selkirk | |
Also rearchitect the way we handle RPC requests - have a bunch of waiting dispatch threads rather than continually creating and deleting threads. | |||
2016-06-09 | Rename main.c to hsm.c for consistency and a slightly simpler Makefile. | Paul Selkirk | |