Description
Tock 2.1 has seen numerous changes from Tock 2.0. In particular, the new system call interface introduced with Tock 2.0 has been refined to provide more guarantees to processes with respect to sharing and unsharing buffers and upcalls. Other changes include the introduction of a userspace-readable allow system call, support for new HILs and boards, and various other bug-fixes and improvements to code size and documentation. Breaking Changes The implemented encoding of the system call return variant "Success with u32 and u64" has been changed to match the specification of TRD 104. Accordingly, the name of the SyscallReturnVariant enum variant has been changed from SuccessU64U32 to SuccessU32U64 (#3175). VirtualMuxAlarms now require the setup() function to be called in board set up code after they are created (#2866). Noteworthy Changes Subscribe and allow operations are no longer handled by capsules themselves, but through the kernel's Grant logic itself (#2906). This change has multiple implications for users of Tock: The Grant type accepts the number of read-only and read-write allow buffers, as well as the number of subscribe upcalls. It will reserve a fixed amount of space per Grant to store the respective allow and subscribe state. Thus, to make efficient use of Grant space, allow buffer and subscribe upcall numbers should be assigned in a non-sparse fashion. Legal allow and subscribe calls can no longer be refused by a capsule. This implies that it is always possible for an application to cause the kernel to relinquish a previously shared buffer through an allow operation. Similarly, subscribe can now be used to infallibly ensure that a given upcall will not be scheduled by the kernel any longer, although already enqueued calls to a given upcall function can still be delivered even after a subscribe operation. The precise semantics around these system calls are described in TRD 104. Introduction of a new userspace-readable allow system call, where apps are explicitly allowed to read buffers shared with the kernel (defined in a draft TRD). Introduction of a read-only state mechanism to convey information to processes without explicit system calls (#2381). Improvements to kernel code size (e.g., #2836, #2849, #2759, #2823). New HILs hasher public_key_crypto New Platforms OpenTitan EarlGrey CW310 Redboard Red-V B STM32F429I Discovery development board QEMU RISC-V 32-bit "virt" Platform Deprecated Platforms OpenTitan EarlGrey NexysVideo Known Issues This release was tagged despite several known bugs in non-tier-1 boards, so as to avoid delaying the release. These include: Raspberry Pi Pico: process faults when running IPC examples: https://github.com/tock/tock/issues/3183 The cortex-m exception handler does not correctly handle all possible exception entry cases. This is not known to currently manifest on any examples, but could with unlucky timing: https://github.com/tock/tock/issues/3109 STM32F303 Discovery: adc app runs, but eventually hangs in the app (seems to be caught in the exit loop, but not sure why it gets there) STM32F303 Discovery: kernel panics lead to only a partial printout of the panic message before the board enters a reboot loop weact_f401ccu6: gpio example fails to generate interrupts on the input pin. This board is likely to be deprecated soon anyway, as it is no longer available for sale. All Merged PRs An exhaustive list of all merged pull requests since Tock 2.0: - stm: add adc, gpio pins and temperature ([#3174](https://github.com/tock/tock/pull/3174) by [@alexandruradovici](https://github.com/alexandruradovici)) - rp2040: fix adc number of bits ([#3184](https://github.com/tock/tock/pull/3184) by [@alexandruradovici](https://github.com/alexandruradovici)) - Update stored kernel version to 2.1 ([#3169](https://github.com/tock/tock/pull/3169) by [@bradjc](https://github.com/bradjc)) - stm: fix usart baud ([#3180](https://github.com/tock/tock/pull/3180) by [@alexandruradovici](https://github.com/alexandruradovici)) - stm: fix memory length for stm32f303 ([#3179](https://github.com/tock/tock/pull/3179) by [@alexandruradovici](https://github.com/alexandruradovici)) - syscall: Fix SuccessU32U64 format ([#3175](https://github.com/tock/tock/pull/3175) by [@dcz-self](https://github.com/dcz-self)) - boards/redboard_artemis: Workaround Hard Fault Exception ([#3139](https://github.com/tock/tock/pull/3139) by [@alistair23](https://github.com/alistair23)) - stm: use rng peripherals for all stm32f4xx ([#3164](https://github.com/tock/tock/pull/3164) by [@alexandruradovici](https://github.com/alexandruradovici)) - stm: use the adc1 channels only (A0-A2, A6, A7) ([#3165](https://github.com/tock/tock/pull/3165) by [@alexandruradovici](https://github.com/alexandruradovici)) - stm32f4: use deferred tasks to return buffers ([#3160](https://github.com/tock/tock/pull/3160) by [@alexandruradovici](https://github.com/alexandruradovici)) - capsules: fxos8700cq: fix i2c deactivate buf len ([#3153](https://github.com/tock/tock/pull/3153) by [@bradjc](https://github.com/bradjc)) - boards/litex: update pinned tock-litex release to 2022081701 ([#3149](https://github.com/tock/tock/pull/3149) by [@lschuermann](https://github.com/lschuermann)) - Fix temperature_stm driver to use 16 bits ([#3159](https://github.com/tock/tock/pull/3159) by [@alexandruradovici](https://github.com/alexandruradovici)) - NRF serialization: Handle restarted app in 2.0 world ([#3154](https://github.com/tock/tock/pull/3154) by [@bradjc](https://github.com/bradjc)) - tock-registers: release v0.8 ([#3151](https://github.com/tock/tock/pull/3151) by [@ppannuto](https://github.com/ppannuto)) - kernel: wrap config.rs comments ([#3156](https://github.com/tock/tock/pull/3156) by [@bradjc](https://github.com/bradjc)) - pconsole: capitalize BSS ([#3155](https://github.com/tock/tock/pull/3155) by [@bradjc](https://github.com/bradjc)) - boards/esp32-c3-devkitM-1: Prepare for the 2.1 release ([#3148](https://github.com/tock/tock/pull/3148) by [@alistair23](https://github.com/alistair23)) - restore UDP kernel_buffer in event of incorrect length error ([#3152](https://github.com/tock/tock/pull/3152) by [@hudson-ayers](https://github.com/hudson-ayers)) - arch/cortex-m: Correct end stack printing ([#3147](https://github.com/tock/tock/pull/3147) by [@alistair23](https://github.com/alistair23)) - boards/redboard_artemis_nano: Fixup app loading ([#3140](https://github.com/tock/tock/pull/3140) by [@alistair23](https://github.com/alistair23)) - Fix secondary alarm from firing immediately during alarm callback ([#3136](https://github.com/tock/tock/pull/3136) by [@jettr](https://github.com/jettr)) - doc: boards: add CW310 readme ([#3143](https://github.com/tock/tock/pull/3143) by [@bradjc](https://github.com/bradjc)) - Notes from Core Working Group call, August 12 ([#3145](https://github.com/tock/tock/pull/3145) by [@brghena](https://github.com/brghena)) - doc: add core notes aug 5 2022 ([#3130](https://github.com/tock/tock/pull/3130) by [@ppannuto](https://github.com/ppannuto)) - Add core notes for 2022-07-29 ([#3133](https://github.com/tock/tock/pull/3133) by [@jrvanwhy](https://github.com/jrvanwhy)) - readmes: update links ([#3144](https://github.com/tock/tock/pull/3144) by [@bradjc](https://github.com/bradjc)) - Update capsule documentation for 2.1 release ([#3142](https://github.com/tock/tock/pull/3142) by [@bradjc](https://github.com/bradjc)) - use deferred calls to report aborted reception in sam4l uart ([#3134](https://github.com/tock/tock/pull/3134) by [@hudson-ayers](https://github.com/hudson-ayers)) - Tools: Catch error for size change estimates on new boards ([#3131](https://github.com/tock/tock/pull/3131) by [@ppannuto](https://github.com/ppannuto)) - [up-keep] arch: fixup typos ([#3132](https://github.com/tock/tock/pull/3132) by [@twilfredo](https://github.com/twilfredo)) - Capsules: Add an AirQuality capsule and a CCS811 Capsule ([#3118](https://github.com/tock/tock/pull/3118) by [@alistair23](https://github.com/alistair23)) - libraries: tickv: Convert panics to errors ([#3120](https://github.com/tock/tock/pull/3120) by [@alistair23](https://github.com/alistair23)) - chips/apollo3: IOM: A collection of fixes for I2C ([#3117](https://github.com/tock/tock/pull/3117) by [@alistair23](https://github.com/alistair23)) - Add QEMU riscv32 "virt" board ([#2516](https://github.com/tock/tock/pull/2516) by [@lschuermann](https://github.com/lschuermann)) - tbf: make length errors all NotEnoughFlash ([#3119](https://github.com/tock/tock/pull/3119) by [@bradjc](https://github.com/bradjc)) - [trivial] tock-registers: mark two methods as `const` ([#3126](https://github.com/tock/tock/pull/3126) by [@brandenburg](https://github.com/brandenburg)) - boards: housekeeping: fixup typos ([#3128](https://github.com/tock/tock/pull/3128) by [@twilfredo](https://github.com/twilfredo)) - Change Led Matrix Syscall Capsule for Microbit ([#3093](https://github.com/tock/tock/pull/3093) by [@TeodoraMiu](https://github.com/TeodoraMiu)) - capsules: fixup up typos ([#3121](https://github.com/tock/tock/pull/3121) by [@twilfredo](https://github.com/twilfredo)) - Seven Segment Display Capsule ([#3106](https://github.com/tock/tock/pull/3106) by [@TeodoraMiu](https://github.com/TeodoraMiu)) - capsules: sha256: reset total_length on init ([#3115](https://github.com/tock/tock/pull/3115) by [@bradjc](https://github.com/bradjc)) - Correct kernel data/code disambiguation in print_tock_memory_usage ([#3113](https://github.com/tock/tock/pull/3113) by [@phil-levis](https://github.com/phil-levis)) - kernel: hil: sensors: AirQualityDriver improvements ([#3108](https://github.com/tock/tock/pull/3108) by [@alistair23](https://github.com/alistair23)) - Remove one use of `asm_const` ([#3083](https://github.com/tock/tock/pull/3083) by [@hudson-ayers](https://github.com/hudson-ayers)) - Grant: Enter grants before initializing their contents ([#3076](https://github.com/tock/tock/pull/3076) by [@hudson-ayers](https://github.com/hudson-ayers)) - doc: tbf: Fix Permissions TLV documentation ([#3104](https://github.com/tock/tock/pull/3104) by [@bradjc](https://github.com/bradjc)) - doc: misc updates to design and startup ([#3100](https://github.com/tock/tock/pull/3100) by [@bradjc](https://github.com/bradjc)) - doc: tbf: Fix Persistent ACL doc ([#3105](https://github.com/tock/tock/pull/3105) by [@bradjc](https://github.com/bradjc)) - boards/litex: README upkeep (fix RISC-V extensions, mention & explain tockloader flash-file support) ([#3111](https://github.com/tock/tock/pull/3111) by [@lschuermann](https://github.com/lschuermann)) - raspberry_pi_pico: Add instructions on how to flash the Pico in Picoprobe mode ([#3102](https://github.com/tock/tock/pull/3102) by [@ntninja](https://github.com/ntninja)) - SparkFun RedBoard Artemis Nano Improvements and fixes ([#3107](https://github.com/tock/tock/pull/3107) by [@alistair23](https://github.com/alistair23)) - arch/cortex-m: introduce CortexMVariant trait and avoid calls through `extern "C"` symbols ([#3080](https://github.com/tock/tock/pull/3080) by [@lschuermann](https://github.com/lschuermann)) - Remove `#![feature(const_mut_refs)]` ([#3082](https://github.com/tock/tock/pull/3082) by [@hudson-ayers](https://github.com/hudson-ayers)) - tock_registers/test_fields: respect struct size padding w/ alignment ([#3088](https://github.com/tock/tock/pull/3088) by [@lschuermann](https://github.com/lschuermann)) - kernel: hil: sensors: Add an AirQualityDriver ([#3070](https://github.com/tock/tock/pull/3070) by [@alistair23](https://github.com/alistair23)) - doc: porting: add note about svd2regs.py ([#3073](https://github.com/tock/tock/pull/3073) by [@bradjc](https://github.com/bradjc)) - Store Kernel Managed Grant Resource Counters in One usize Value ([#2958](https://github.com/tock/tock/pull/2958) by [@bradjc](https://github.com/bradjc)) - Trim zero-length symbol aliases in print_tock_memory_usage ([#3096](https://github.com/tock/tock/pull/3096) by [@phil-levis](https://github.com/phil-levis)) - Enable all storage on nRF52840-DK #3098 ([#3099](https://github.com/tock/tock/pull/3099) by [@TheConner](https://github.com/TheConner)) - chips/lowrisc: spi_host: fixup rw1c functionality ([#3097](https://github.com/tock/tock/pull/3097) by [@twilfredo](https://github.com/twilfredo)) - readme: update to clarify rust, formatting ([#3074](https://github.com/tock/tock/pull/3074) by [@bradjc](https://github.com/bradjc)) - Add support for the BME280 Temperature and Humidity Sensor ([#3094](https://github.com/tock/tock/pull/3094) by [@alistair23](https://github.com/alistair23)) - libraries/tickv: crc32: Cleanup the CRC32 interface and expose it publicly ([#3090](https://github.com/tock/tock/pull/3090) by [@alistair23](https://github.com/alistair23)) - Fix bug in print_tock_memory_usage and add -a option ([#3087](https://github.com/tock/tock/pull/3087) by [@phil-levis](https://github.com/phil-levis)) - boards/redboard_artemis_nano: Setup initial tests ([#3069](https://github.com/tock/tock/pull/3069) by [@alistair23](https://github.com/alistair23)) - boards/opentitan: Misc cleanups ([#3091](https://github.com/tock/tock/pull/3091) by [@alistair23](https://github.com/alistair23)) - Makefile: update qemu commit hash ([#3089](https://github.com/tock/tock/pull/3089) by [@twilfredo](https://github.com/twilfredo)) - Update Rust nightly version + Expose virtual-function-elimination ([#3072](https://github.com/tock/tock/pull/3072) by [@alistair23](https://github.com/alistair23)) - Core WG notes, July 8th 2022 ([#3078](https://github.com/tock/tock/pull/3078) by [@brghena](https://github.com/brghena)) - build: change `$CI` to `$NOWARNINGS` ([#3075](https://github.com/tock/tock/pull/3075) by [@bradjc](https://github.com/bradjc)) - Core WG notes for 2022-03-18. ([#3000](https://github.com/tock/tock/pull/3000) by [@jrvanwhy](https://github.com/jrvanwhy)) - Prevent rustfmt from searching parent directories for config files. ([#2997](https://github.com/tock/tock/pull/2997) by [@jrvanwhy](https://github.com/jrvanwhy)) - Console: Print the first N bytes of the write buffer, plus doc fixes. ([#2996](https://github.com/tock/tock/pull/2996) by [@jrvanwhy](https://github.com/jrvanwhy)) - Add core WG notes for 2022-03-04. ([#2984](https://github.com/tock/tock/pull/2984) by [@jrvanwhy](https://github.com/jrvanwhy)) - Add core WG meeting notes for `2022-02-18`. ([#2978](https://github.com/tock/tock/pull/2978) by [@jrvanwhy](https://github.com/jrvanwhy)) - Remove the threat model's "not yet implemented" note. ([#2949](https://github.com/tock/tock/pull/2949) by [@jrvanwhy](https://github.com/jrvanwhy)) - Fix command 0 documentation: it is an existence check, and always returns Success. ([#2908](https://github.com/tock/tock/pull/2908) by [@jrvanwhy](https://github.com/jrvanwhy)) - Add core WG notes for 2021-11-05. ([#2891](https://github.com/tock/tock/pull/2891) by [@jrvanwhy](https://github.com/jrvanwhy)) - add core notes July 1 2022 ([#3071](https://github.com/tock/tock/pull/3071) by [@hudson-ayers](https://github.com/hudson-ayers)) - boards/opentitan: Update the README ([#3062](https://github.com/tock/tock/pull/3062) by [@alistair23](https://github.com/alistair23)) - chore: Set permissions for GitHub actions ([#3063](https://github.com/tock/tock/pull/3063) by [@naveensrinivasan](https://github.com/naveensrinivasan)) - Add Core Team Call Notes of 2022-06-24 ([#3064](https://github.com/tock/tock/pull/3064) by [@lschuermann](https://github.com/lschuermann)) - lpm013m126: Implement turning off ([#3066](https://github.com/tock/tock/pull/3066) by [@dcz-self](https://github.com/dcz-self)) - Screen syscall/HIL improvements ([#3047](https://github.com/tock/tock/pull/3047) by [@dcz-self](https://github.com/dcz-self)) - Add driver for LPM013M126 display ([#3009](https://github.com/tock/tock/pull/3009) by [@dcz-self](https://github.com/dcz-self)) - Software implementation of SHA-256 in a capsule ([#3010](https://github.com/tock/tock/pull/3010) by [@phil-levis](https://github.com/phil-levis)) - Rework of Digest HIL ([#3041](https://github.com/tock/tock/pull/3041) by [@phil-levis](https://github.com/phil-levis)) - boards/opentitan: Don't run nops when targetting Verilator ([#3060](https://github.com/tock/tock/pull/3060) by [@alistair23](https://github.com/alistair23)) - esp32c3: fixup Makefile bug ([#3059](https://github.com/tock/tock/pull/3059) by [@twilfredo](https://github.com/twilfredo)) - Unify doc/wg/core/notes filename prefixes ([#3058](https://github.com/tock/tock/pull/3058) by [@lschuermann](https://github.com/lschuermann)) - AES: Add HIL for AES GCM ([#2985](https://github.com/tock/tock/pull/2985) by [@alistair23](https://github.com/alistair23)) - OpenTitan: Add support for hardware RSA operations ([#2899](https://github.com/tock/tock/pull/2899) by [@alistair23](https://github.com/alistair23)) - docs: wg: core: add notes 2022-05-13 ([#3054](https://github.com/tock/tock/pull/3054) by [@bradjc](https://github.com/bradjc)) - doc/reference/trd-uart: small fixes & suggestions in response to #3046 ([#3052](https://github.com/tock/tock/pull/3052) by [@lschuermann](https://github.com/lschuermann)) - Add Core Team Call Notes of 2022-05-27 ([#3053](https://github.com/tock/tock/pull/3053) by [@lschuermann](https://github.com/lschuermann)) - Add Core Team Call Notes of 2022-06-10 ([#3057](https://github.com/tock/tock/pull/3057) by [@lschuermann](https://github.com/lschuermann)) - Documentation: Fix Typo in syscall reference doc ([#3036](https://github.com/tock/tock/pull/3036) by [@HyperSuperMetaCtrl](https://github.com/HyperSuperMetaCtrl)) - Add core WG notes for 2022-06-03 ([#3051](https://github.com/tock/tock/pull/3051) by [@jrvanwhy](https://github.com/jrvanwhy)) - TRD for UART HIL ([#2756](https://github.com/tock/tock/pull/2756) by [@phil-levis](https://github.com/phil-levis)) - Wrap VolatileCell around Cell; save the world ([#3049](https://github.com/tock/tock/pull/3049) by [@alevy](https://github.com/alevy)) - Core WG call notes, May 20th ([#3048](https://github.com/tock/tock/pull/3048) by [@brghena](https://github.com/brghena)) - Console: Add a way to cancel ongoing console writes. ([#3043](https://github.com/tock/tock/pull/3043) by [@jrvanwhy](https://github.com/jrvanwhy)) - libraries/tickv: Remove space from keyword ([#3044](https://github.com/tock/tock/pull/3044) by [@alistair23](https://github.com/alistair23)) - Core working group notes of 2022-05-06 ([#3042](https://github.com/tock/tock/pull/3042) by [@lschuermann](https://github.com/lschuermann)) - STM32f4xx: Properly support 4MHz SPI rate ([#3032](https://github.com/tock/tock/pull/3032) by [@LeonMatthesKDAB](https://github.com/LeonMatthesKDAB)) - doc: Update alarm ([#3033](https://github.com/tock/tock/pull/3033) by [@dcz-self](https://github.com/dcz-self)) - debug: Add dbg! from std ([#3008](https://github.com/tock/tock/pull/3008) by [@dcz-self](https://github.com/dcz-self)) - docs: Clarify allow usage ([#2989](https://github.com/tock/tock/pull/2989) by [@dcz-self](https://github.com/dcz-self)) - tickv: Prepare for v1.0 release ([#3034](https://github.com/tock/tock/pull/3034) by [@alistair23](https://github.com/alistair23)) - Clarify the definition of TBF's protected region ([#3037](https://github.com/tock/tock/pull/3037) by [@jrvanwhy](https://github.com/jrvanwhy)) - boards/opentitan: fixup small typo in otbn ([#3039](https://github.com/tock/tock/pull/3039) by [@twilfredo](https://github.com/twilfredo)) - boards/opentitan: Remove support for Nexys Video ([#3025](https://github.com/tock/tock/pull/3025) by [@alistair23](https://github.com/alistair23)) - kernel/dynamic_deferred_call: document multi-handle client behavior ([#3038](https://github.com/tock/tock/pull/3038) by [@lschuermann](https://github.com/lschuermann)) - Core working group notes of 2022-04-22 ([#3029](https://github.com/tock/tock/pull/3029) by [@lschuermann](https://github.com/lschuermann)) - screen HIL: Add separate set_power ([#3023](https://github.com/tock/tock/pull/3023) by [@dcz-self](https://github.com/dcz-self)) - Add embedded data analysis tool ([#2935](https://github.com/tock/tock/pull/2935) by [@paulmure](https://github.com/paulmure)) - Remove const_fn_trait_bound feature and update nightly (Mar 2022) ([#2988](https://github.com/tock/tock/pull/2988) by [@bradjc](https://github.com/bradjc)) - Add core WG notes for 2022-04-08. ([#3027](https://github.com/tock/tock/pull/3027) by [@jrvanwhy](https://github.com/jrvanwhy)) - Console: terminate write rather than panic if the Allow buffer is unexpectedly shortened. ([#3031](https://github.com/tock/tock/pull/3031) by [@jrvanwhy](https://github.com/jrvanwhy)) - tickv: Fixup initialise() typo ([#3026](https://github.com/tock/tock/pull/3026) by [@alistair23](https://github.com/alistair23)) - Core WG meeting notes, April 1st ([#3016](https://github.com/tock/tock/pull/3016) by [@brghena](https://github.com/brghena)) - Core WG notes, April 15th ([#3020](https://github.com/tock/tock/pull/3020) by [@brghena](https://github.com/brghena)) - tock-registers: Implement From field enum value type for FieldValue. ([#3014](https://github.com/tock/tock/pull/3014) by [@qwandor](https://github.com/qwandor)) - add EuroSec 2022 paper to README ([#3018](https://github.com/tock/tock/pull/3018) by [@hudson-ayers](https://github.com/hudson-ayers)) - tock-register-interface: Provide `none` method for FieldValue type. ([#3013](https://github.com/tock/tock/pull/3013) by [@qwandor](https://github.com/qwandor)) - add core notes march 25, 2022 ([#3002](https://github.com/tock/tock/pull/3002) by [@hudson-ayers](https://github.com/hudson-ayers)) - console: Give own buffers to each component ([#2999](https://github.com/tock/tock/pull/2999) by [@dcz-self](https://github.com/dcz-self)) - process_console: Add missing '\r' on command output strings ([#2976](https://github.com/tock/tock/pull/2976) by [@gustavonihei](https://github.com/gustavonihei)) - process_console: Handle DEL char as backspace ([#2974](https://github.com/tock/tock/pull/2974) by [@gustavonihei](https://github.com/gustavonihei)) - Stm32f4xx: Dma2 & USART1 + Stm32f429idiscovery BSP ([#2936](https://github.com/tock/tock/pull/2936) by [@LeonMatthesKDAB](https://github.com/LeonMatthesKDAB)) - Core WG call notes, March 11th 2022 ([#2991](https://github.com/tock/tock/pull/2991) by [@brghena](https://github.com/brghena)) - add redv board support ([#2831](https://github.com/tock/tock/pull/2831) by [@almindor](https://github.com/almindor)) - mx25r6435f: Small improvements ([#2992](https://github.com/tock/tock/pull/2992) by [@dcz-self](https://github.com/dcz-self)) - capsules: Add bmp280 temperature sensor ([#2968](https://github.com/tock/tock/pull/2968) by [@dcz-self](https://github.com/dcz-self)) - doc/reference: fix broken links in README.md ([#2990](https://github.com/tock/tock/pull/2990) by [@vbendeb](https://github.com/vbendeb)) - OpenTitan: Some SPI Host fixes ([#2986](https://github.com/tock/tock/pull/2986) by [@alistair23](https://github.com/alistair23)) - chips: move arch config to function level ([#2980](https://github.com/tock/tock/pull/2980) by [@bradjc](https://github.com/bradjc)) - Add userspace support for the Key/Value System ([#2928](https://github.com/tock/tock/pull/2928) by [@alistair23](https://github.com/alistair23)) - Update Nightly to Feb 2022 ([#2959](https://github.com/tock/tock/pull/2959) by [@bradjc](https://github.com/bradjc)) - Notes from quick meeting today ([#2979](https://github.com/tock/tock/pull/2979) by [@brghena](https://github.com/brghena)) - Propose a draft TRD for app completion codes ([#2914](https://github.com/tock/tock/pull/2914) by [@kupiakos](https://github.com/kupiakos)) - opentitan: add spi_host ([#2966](https://github.com/tock/tock/pull/2966) by [@twilfredo](https://github.com/twilfredo)) - Add core notes of 2022-02-11 ([#2971](https://github.com/tock/tock/pull/2971) by [@lschuermann](https://github.com/lschuermann)) - ESP32-C3: Perform minor improvements to documentation ([#2973](https://github.com/tock/tock/pull/2973) by [@gustavonihei](https://github.com/gustavonihei)) - OpenTitan: Convert the OTBN to use syncronous calls ([#2918](https://github.com/tock/tock/pull/2918) by [@alistair23](https://github.com/alistair23)) - make: do a makefmt pass on the board makefile ([#2961](https://github.com/tock/tock/pull/2961) by [@bradjc](https://github.com/bradjc)) - make: add support for VERBOSE=1 ([#2960](https://github.com/tock/tock/pull/2960) by [@bradjc](https://github.com/bradjc)) - kernel: process: remove duplicate address functions ([#2862](https://github.com/tock/tock/pull/2862) by [@bradjc](https://github.com/bradjc)) - opentitan: verilator: fixup test build ([#2963](https://github.com/tock/tock/pull/2963) by [@twilfredo](https://github.com/twilfredo)) - libraries: cells: remove option_result_contains ([#2964](https://github.com/tock/tock/pull/2964) by [@bradjc](https://github.com/bradjc)) - doc: Update Instructions: Building build.rs requires a host toolchain for linking ([#2957](https://github.com/tock/tock/pull/2957) by [@dcz-self](https://github.com/dcz-self)) - Initial commit of RSA Key support ([#2839](https://github.com/tock/tock/pull/2839) by [@alistair23](https://github.com/alistair23)) - doc: add notes for 2022-01-21 ([#2956](https://github.com/tock/tock/pull/2956) by [@bradjc](https://github.com/bradjc)) - boards/opentitan: Bump the a newer build ([#2954](https://github.com/tock/tock/pull/2954) by [@alistair23](https://github.com/alistair23)) - Core WG call notes from Jan 28th ([#2952](https://github.com/tock/tock/pull/2952) by [@brghena](https://github.com/brghena)) - opentitan: Makefile: fixup test flash-layout ([#2953](https://github.com/tock/tock/pull/2953) by [@twilfredo](https://github.com/twilfredo)) - opentitan: Verilator fixup for ot bump ([#2955](https://github.com/tock/tock/pull/2955) by [@twilfredo](https://github.com/twilfredo)) - Add link to a Tock book ([#2934](https://github.com/tock/tock/pull/2934) by [@alexandruradovici](https://github.com/alexandruradovici)) - arch/rv32i: pmp/ePMP: Fixup PMP comparision ([#2947](https://github.com/tock/tock/pull/2947) by [@alistair23](https://github.com/alistair23)) - Print prompt after the "process" command ([#2946](https://github.com/tock/tock/pull/2946) by [@alexandruradovici](https://github.com/alexandruradovici)) - chips/earlgrey: Don't use MIP::MTIMER bit ([#2939](https://github.com/tock/tock/pull/2939) by [@alistair23](https://github.com/alistair23)) - Update readme Raspberry Pi Pico image ([#2948](https://github.com/tock/tock/pull/2948) by [@alexandruradovici](https://github.com/alexandruradovici)) - doc: Fix broken link ([#2942](https://github.com/tock/tock/pull/2942) by [@ppannuto](https://github.com/ppannuto)) - Core WG call notes, January 14th ([#2944](https://github.com/tock/tock/pull/2944) by [@brghena](https://github.com/brghena)) - boards/opentitan: tests: siphash: remove global static buffers ([#2929](https://github.com/tock/tock/pull/2929) by [@twilfredo](https://github.com/twilfredo)) - boards/opentitan: Added make options for GDB -> QEMU debugging ([#2932](https://github.com/tock/tock/pull/2932) by [@twilfredo](https://github.com/twilfredo)) - boards/opentitan/README: qol update to app loading ([#2938](https://github.com/tock/tock/pull/2938) by [@twilfredo](https://github.com/twilfredo)) - spi: fix issue when read buffer not present ([#2945](https://github.com/tock/tock/pull/2945) by [@jettr](https://github.com/jettr)) - OpenTitan: Fixup the Verilator support ([#2923](https://github.com/tock/tock/pull/2923) by [@alistair23](https://github.com/alistair23)) - Add core notes of 2022-01-07 ([#2937](https://github.com/tock/tock/pull/2937) by [@lschuermann](https://github.com/lschuermann)) - Have Grant::each() take FnMut instead of Fn ([#2933](https://github.com/tock/tock/pull/2933) by [@hudson-ayers](https://github.com/hudson-ayers)) - tock-register-interface: replace register tests by const assertions ([#2922](https://github.com/tock/tock/pull/2922) by [@lschuermann](https://github.com/lschuermann)) - Fix link to Core WG ([#2943](https://github.com/tock/tock/pull/2943) by [@brghena](https://github.com/brghena)) - Core notes from December 10th meeting ([#2924](https://github.com/tock/tock/pull/2924) by [@brghena](https://github.com/brghena)) - Add notes from 12/17/21 meeting. ([#2925](https://github.com/tock/tock/pull/2925) by [@phil-levis](https://github.com/phil-levis)) - boards/opentitan: tests: otbn: Remove global static buffers ([#2926](https://github.com/tock/tock/pull/2926) by [@twilfredo](https://github.com/twilfredo)) - kernel: fix typo in handle_syscall filtering comment ([#2927](https://github.com/tock/tock/pull/2927) by [@mattbonnell](https://github.com/mattbonnell)) - make: add `memory` target to run print_tock_memory_usage.py for the board ([#2872](https://github.com/tock/tock/pull/2872) by [@bradjc](https://github.com/bradjc)) - tock-register-interface: improve read_as_enum documentation ([#2916](https://github.com/tock/tock/pull/2916) by [@lschuermann](https://github.com/lschuermann)) - Add a software hash to Tock and connect it to TicKV ([#2812](https://github.com/tock/tock/pull/2812) by [@alistair23](https://github.com/alistair23)) - boards/opentitan: tests: hmac: Remove global static buffers ([#2920](https://github.com/tock/tock/pull/2920) by [@twilfredo](https://github.com/twilfredo)) - boards/opentitan: tests: otbn: Improve failure output ([#2921](https://github.com/tock/tock/pull/2921) by [@alistair23](https://github.com/alistair23)) - Move allow_readwrite and allow_readonly from SyscallDriver into common Grant framework ([#2906](https://github.com/tock/tock/pull/2906) by [@jettr](https://github.com/jettr)) - esp32: UART receive ([#2893](https://github.com/tock/tock/pull/2893) by [@alexandruradovici](https://github.com/alexandruradovici)) - Print allowed buffer's length in decimal ([#2919](https://github.com/tock/tock/pull/2919) by [@alexandruradovici](https://github.com/alexandruradovici)) - dont reuse numeric labels in asm ([#2917](https://github.com/tock/tock/pull/2917) by [@hudson-ayers](https://github.com/hudson-ayers)) - Updates to permissions TLV related code ([#2904](https://github.com/tock/tock/pull/2904) by [@bradjc](https://github.com/bradjc)) - Create core-notes-2021-12-03.md ([#2913](https://github.com/tock/tock/pull/2913) by [@ppannuto](https://github.com/ppannuto)) - kernel: utilities: Initial commit of mut_imut_buffer ([#2852](https://github.com/tock/tock/pull/2852) by [@alistair23](https://github.com/alistair23)) - OpenTitan: Add a AES CCM test ([#2911](https://github.com/tock/tock/pull/2911) by [@alistair23](https://github.com/alistair23)) - ci: labeler: update to new OT dir structure ([#2900](https://github.com/tock/tock/pull/2900) by [@bradjc](https://github.com/bradjc)) - esp32: Update timer ([#2889](https://github.com/tock/tock/pull/2889) by [@alexandruradovici](https://github.com/alexandruradovici)) - Update rust-toolchain to 2021-12-04 ([#2915](https://github.com/tock/tock/pull/2915) by [@lschuermann](https://github.com/lschuermann)) - rv32i: use inline asm in/out register specs for semihosting ([#2912](https://github.com/tock/tock/pull/2912) by [@lschuermann](https://github.com/lschuermann)) - OpenTitan: OTBN: A few more OTBN fixes ([#2898](https://github.com/tock/tock/pull/2898) by [@alistair23](https://github.com/alistair23)) - Add core notes of 2021-11-12 ([#2902](https://github.com/tock/tock/pull/2902) by [@lschuermann](https://github.com/lschuermann)) - add core notes for november 19 2021 ([#2905](https://github.com/tock/tock/pull/2905) by [@hudson-ayers](https://github.com/hudson-ayers)) - processbuffer: Add non-panicking get with range functions. ([#2897](https://github.com/tock/tock/pull/2897) by [@granaghan](https://github.com/granaghan)) - util: Add CopyOrErr trait for a non-panicing copy_from_slice. ([#2896](https://github.com/tock/tock/pull/2896) by [@granaghan](https://github.com/granaghan)) - Stored state ([#2885](https://github.com/tock/tock/pull/2885) by [@granaghan](https://github.com/granaghan)) - kernel: remove duplicate address functions ([#2903](https://github.com/tock/tock/pull/2903) by [@bradjc](https://github.com/bradjc)) - capsules: Update process console newline handling ([#2894](https://github.com/tock/tock/pull/2894) by [@alexandruradovici](https://github.com/alexandruradovici)) - kernel: process_standard: Don't check memory regions if disabled ([#2892](https://github.com/tock/tock/pull/2892) by [@alistair23](https://github.com/alistair23)) - Create ProcessPrinter trait, use for ProcessStandard and Process Console ([#2826](https://github.com/tock/tock/pull/2826) by [@bradjc](https://github.com/bradjc)) - capsules: Add lsm6dsoxtr motion sensor ([#2830](https://github.com/tock/tock/pull/2830) by [@Cristiana959](https://github.com/Cristiana959)) - Create core-notes-2021-10-29.md ([#2881](https://github.com/tock/tock/pull/2881) by [@ppannuto](https://github.com/ppannuto)) - Update console system call docs to match implementation and use ([#2887](https://github.com/tock/tock/pull/2887) by [@hudson-ayers](https://github.com/hudson-ayers)) - Remove 'a lifetime constraint on &self parameters in Timer & Counter hil ([#2890](https://github.com/tock/tock/pull/2890) by [@jettr](https://github.com/jettr)) - OpenTitan: Add support for an RSA test using OTBN ([#2886](https://github.com/tock/tock/pull/2886) by [@alistair23](https://github.com/alistair23)) - Add support for syscall filtering ([#2859](https://github.com/tock/tock/pull/2859) by [@alistair23](https://github.com/alistair23)) - opentitan: Bump the FPGA bitstream ([#2883](https://github.com/tock/tock/pull/2883) by [@alistair23](https://github.com/alistair23)) - ProcessSlice augmentation: add From] ([#2797](https://github.com/tock/tock/pull/2797) by [@jettr](https://github.com/jettr)) - add core notes October 22 2021 ([#2880](https://github.com/tock/tock/pull/2880) by [@hudson-ayers](https://github.com/hudson-ayers)) - Core working group notes for 2021-10-15 ([#2879](https://github.com/tock/tock/pull/2879) by [@alexandruradovici](https://github.com/alexandruradovici)) - Add core notes of 2021-10-01 ([#2871](https://github.com/tock/tock/pull/2871) by [@lschuermann](https://github.com/lschuermann)) - kernel: hil: symmetric_encryption: Use static buffers for AES crypto ([#2876](https://github.com/tock/tock/pull/2876) by [@alistair23](https://github.com/alistair23)) - Remove 'a lifetime constraint on &self parameters in Time hil ([#2866](https://github.com/tock/tock/pull/2866) by [@jettr](https://github.com/jettr)) - capsules: console: remove dead code ([#2864](https://github.com/tock/tock/pull/2864) by [@bradjc](https://github.com/bradjc)) - Bump tockloader to 1.8.0 in nix shell ([#2878](https://github.com/tock/tock/pull/2878) by [@alevy](https://github.com/alevy)) - Use const parameter for LEDs capsule to remove TakeCell ([#2870](https://github.com/tock/tock/pull/2870) by [@bradjc](https://github.com/bradjc)) - Makefile: allow using system toolchain; shell.nix: provide required components ([#2877](https://github.com/tock/tock/pull/2877) by [@lschuermann](https://github.com/lschuermann)) - Kernel: store a process's completion code ([#2836](https://github.com/tock/tock/pull/2836) by [@bradjc](https://github.com/bradjc)) - Add LiteX simulator based CI ([#2801](https://github.com/tock/tock/pull/2801) by [@lschuermann](https://github.com/lschuermann)) - tools: rustdocs: replace images with tock logos ([#2874](https://github.com/tock/tock/pull/2874) by [@bradjc](https://github.com/bradjc)) - doc: add core notes 2021-10-08 ([#2865](https://github.com/tock/tock/pull/2865) by [@bradjc](https://github.com/bradjc)) - Run board tests as part of the CI ([#2854](https://github.com/tock/tock/pull/2854) by [@alistair23](https://github.com/alistair23)) - doc: add various Tock procedures ([#2730](https://github.com/tock/tock/pull/2730) by [@bradjc](https://github.com/bradjc)) - Remove all uses of `expect("xx")`, replace with `unwrap()` ([#2857](https://github.com/tock/tock/pull/2857) by [@hudson-ayers](https://github.com/hudson-ayers)) - Correct grammar errors and make context clearer in the README ([#2869](https://github.com/tock/tock/pull/2869) by [@saki-osive](https://github.com/saki-osive)) - capsules: symmetric_encryption/aes: Reduce code size ([#2863](https://github.com/tock/tock/pull/2863) by [@alistair23](https://github.com/alistair23)) - kernel: process: add get_addrs(), get_sizes() ([#2822](https://github.com/tock/tock/pull/2822) by [@bradjc](https://github.com/bradjc)) - Hmac/Sha: Capsule size reduction ([#2855](https://github.com/tock/tock/pull/2855) by [@alistair23](https://github.com/alistair23)) - LiteX: add GPIO support ([#2821](https://github.com/tock/tock/pull/2821) by [@lschuermann](https://github.com/lschuermann)) - update rust to nightly-2021-10-03 ([#2858](https://github.com/tock/tock/pull/2858) by [@hudson-ayers](https://github.com/hudson-ayers)) - RFC: Allow use of cargo features to configure the `kernel::CONFIG` constant ([#2837](https://github.com/tock/tock/pull/2837) by [@hudson-ayers](https://github.com/hudson-ayers)) - boards/litex/{sim,arty}: bump targeted tock-litex release ([#2860](https://github.com/tock/tock/pull/2860) by [@lschuermann](https://github.com/lschuermann)) - make: use relocation-model=static ([#2853](https://github.com/tock/tock/pull/2853) by [@bradjc](https://github.com/bradjc)) - boards: build.rs: make sure all files exist ([#2861](https://github.com/tock/tock/pull/2861) by [@bradjc](https://github.com/bradjc)) - Add a tool for finding panics in a Tock .elf file ([#2755](https://github.com/tock/tock/pull/2755) by [@hudson-ayers](https://github.com/hudson-ayers)) - capsules: lld: Copy only length of message ([#2848](https://github.com/tock/tock/pull/2848) by [@bradjc](https://github.com/bradjc)) - add a document on how to reduce Tock code size ([#2849](https://github.com/tock/tock/pull/2849) by [@hudson-ayers](https://github.com/hudson-ayers)) - tock-tbf: Add support for parsing storage IDs and driver permissions ([#2824](https://github.com/tock/tock/pull/2824) by [@alistair23](https://github.com/alistair23)) - chips/lowrisc: Fixup the CSRNG ([#2856](https://github.com/tock/tock/pull/2856) by [@alistair23](https://github.com/alistair23)) - Add process console shell prompt ([#2785](https://github.com/tock/tock/pull/2785) by [@alexandruradovici](https://github.com/alexandruradovici)) - Update Nightly - Sep 2021 ([#2816](https://github.com/tock/tock/pull/2816) by [@bradjc](https://github.com/bradjc)) - use -Zbuild-std=core to build the std library with our optimization settings ([#2847](https://github.com/tock/tock/pull/2847) by [@hudson-ayers](https://github.com/hudson-ayers)) - HIL: Digest: Add SHA/HMAC verify ([#2697](https://github.com/tock/tock/pull/2697) by [@alistair23](https://github.com/alistair23)) - OpenTitan: Application fixups ([#2850](https://github.com/tock/tock/pull/2850) by [@alistair23](https://github.com/alistair23)) - Update to Rust 2021 edition ([#2838](https://github.com/tock/tock/pull/2838) by [@hudson-ayers](https://github.com/hudson-ayers)) - Add core notes of 2021-09-17 ([#2840](https://github.com/tock/tock/pull/2840) by [@lschuermann](https://github.com/lschuermann)) - Core working group notes, September 24 ([#2844](https://github.com/tock/tock/pull/2844) by [@gemarcano](https://github.com/gemarcano)) - netlify: set TERM explicitly ([#2843](https://github.com/tock/tock/pull/2843) by [@ppannuto](https://github.com/ppannuto)) - tock-registers: rename TryFromValue::try_from to try_from_value ([#2842](https://github.com/tock/tock/pull/2842) by [@lschuermann](https://github.com/lschuermann)) - Finalize the HIL Design TRD ([#2828](https://github.com/tock/tock/pull/2828) by [@phil-levis](https://github.com/phil-levis)) - kernel: process: fmt, spell chk, & update comments ([#2835](https://github.com/tock/tock/pull/2835) by [@bradjc](https://github.com/bradjc)) - Add a kernel config option to elide process printing code ([#2759](https://github.com/tock/tock/pull/2759) by [@hudson-ayers](https://github.com/hudson-ayers)) - CI Hardware Documentation Creation ([#2633](https://github.com/tock/tock/pull/2633) by [@AnthonyQ619](https://github.com/AnthonyQ619)) - Bump the OpenTitan SHA and fix failing test cases ([#2825](https://github.com/tock/tock/pull/2825) by [@alistair23](https://github.com/alistair23)) - kernel: Read Only State ([#2381](https://github.com/tock/tock/pull/2381) by [@alistair23](https://github.com/alistair23)) - Add remove_mpu_region() functionality to mirror allocate_region() ([#2728](https://github.com/tock/tock/pull/2728) by [@jettr](https://github.com/jettr)) - components/{gpio,button}: support both referenced and owned GPIO pins ([#2819](https://github.com/tock/tock/pull/2819) by [@lschuermann](https://github.com/lschuermann)) - [Nano RP2040 Connect] Update README app flashing command ([#2832](https://github.com/tock/tock/pull/2832) by [@Cristiana959](https://github.com/Cristiana959)) - Rv32i/pmp: Reduce size of some inefficient constructions ([#2757](https://github.com/tock/tock/pull/2757) by [@hudson-ayers](https://github.com/hudson-ayers)) - capsules/low_level_debug: source DRIVER_NUM from driver::NUM ([#2827](https://github.com/tock/tock/pull/2827) by [@lschuermann](https://github.com/lschuermann)) - kernel: mpu: Cleanup the comment for the default config type ([#2829](https://github.com/tock/tock/pull/2829) by [@bradjc](https://github.com/bradjc)) - Core working group notes, September 10 ([#2818](https://github.com/tock/tock/pull/2818) by [@brghena](https://github.com/brghena)) - Add core notes of 2021-09-03 ([#2817](https://github.com/tock/tock/pull/2817) by [@lschuermann](https://github.com/lschuermann)) - Console: Refactor code to reduce size ([#2823](https://github.com/tock/tock/pull/2823) by [@hudson-ayers](https://github.com/hudson-ayers)) - kernel: Add new userspace readable allow syscall ([#2803](https://github.com/tock/tock/pull/2803) by [@alistair23](https://github.com/alistair23)) - AES: Initial support for userspace AES ([#2795](https://github.com/tock/tock/pull/2795) by [@alistair23](https://github.com/alistair23)) - add core notes for August 20, 2021 ([#2813](https://github.com/tock/tock/pull/2813) by [@hudson-ayers](https://github.com/hudson-ayers)) - OpenTitan: Bump the SHA and add CW310 support ([#2804](https://github.com/tock/tock/pull/2804) by [@alistair23](https://github.com/alistair23)) - Update trd-uart.md ([#2808](https://github.com/tock/tock/pull/2808) by [@jettr](https://github.com/jettr)) - Correct punctuation issues in trd-uart.md ([#2807](https://github.com/tock/tock/pull/2807) by [@jettr](https://github.com/jettr)) - add core notes 2021-08-27 ([#2802](https://github.com/tock/tock/pull/2802) by [@gemarcano](https://github.com/gemarcano)) - rv32i/pmp: add clarifying comment to enumeration ([#2806](https://github.com/tock/tock/pull/2806) by [@jettr](https://github.com/jettr)) - OpenTitan: Initial commit of the CSRNG ([#2796](https://github.com/tock/tock/pull/2796) by [@alistair23](https://github.com/alistair23)) - Kernel panic debug: Add grant region breakdown ([#2747](https://github.com/tock/tock/pull/2747) by [@bradjc](https://github.com/bradjc)) - I2C for RPi Pico ([#2690](https://github.com/tock/tock/pull/2690) by [@Gerharddc](https://github.com/Gerharddc)) - debug: rename begin_debug_fmt and add non-newline version ([#2724](https://github.com/tock/tock/pull/2724) by [@jettr](https://github.com/jettr)) - kernel: add public process_map_or_external fn ([#2726](https://github.com/tock/tock/pull/2726) by [@jettr](https://github.com/jettr)) - doc: misc updates ([#2799](https://github.com/tock/tock/pull/2799) by [@bradjc](https://github.com/bradjc))
Date made available | 2022 |
---|---|
Publisher | ZENODO |