* Bump Tock kernel version
* Update boards to new kernel
* Update patches to new kernel
* Update PR template
* Bump libtock-rs
* Use new layout from libtock-rs
* Fix clippy warnings due to updated toolchain
* Fix new toolchain file format
* Bump elf2tab to v0.7.0
* Fix worklow and setup.sh script to use the TOML rust-toolchain file
* New libtock-rs style of declaring the stack.
* Fix padding in layout file.
The layout from libtock-rs generates invalid flash padding.
The value is 32-bit and therefore setting padding to 0xff yields
0xff000000 instead of 0xffffffff that we want.
* adds tock patch for app break hard fault
* sets in deploy, removed patch 04-mpu-fix
* fixed the if deploy
* fixes indentation
* updates board names in install.md
* fix docs and deploy style
Co-authored-by: Fabian Kaczmarczyck <kaczmarczyck@google.com>
Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
* adds syscalls to use the partition location types
* no range implementation, helper file, refactorings
* more refactoring of syscall interface
* adds and refines trait
* improved documentation and partition_length function
* simplified ModRange
* cleanup
* new aligned_iter implementation
This way all users of storage can share the logic to choose between flash or RAM
storage depending on the "std" feature. This is needed because the store_latency
example assumes flash storage but is built when running `cargo test
--features=std`.
We don't need to build a production key without persistent storage. Tests and
fuzzing continue to use the std feature to use the RAM implementation (that does
sanity checks).
Removing support for writable flash regions permits to save 1 page in the binary
due to alignment constraints. It also permits to reduce the diff with libtock-rs
which doesn't support writable flash regions.
This commit also updates the `SyscallStorage` documentation.
When inserting (or replacing) entries in the store, the data may be marked as
sensitive. When that entry is deleted, the data is wiped by overwritting it with
zeroes. This may cost a few bytes of overhead per entry with sensitive data to
satisfy the constraint that words may only be written twice.
This permits to run without persistent storage. The benefit is that the board
doesn't implement a the syscall API in Tock. The disadvantage is that rebooting
the key will reset the storage.