-
Talking Tock 61: x86 Working Group
Following on Talking Tock #60, we have established an x86 working group. This working group will steward Tock development (include userspace and tooling) related to Tock running on x86 platforms. With representation from multiple companies, the working group will help ensure x86 support grows while meeting the needs of Tock’s users.
-
Tock Strategy Workshop: Winter 2025
In March 2025, we held a virtual strategy workshop marking about a halfway point between TockWorld 7 and TockWorld 8. Our goal to discuss project direction and focus areas for the coming months—where efforts were best spent and where there might be good opportunities for collaboration. We had a group of about 20 contributors and stakeholders in the Tock project, including members of the working groups and other contributors and stakeholders representing UC San Diego, Princeton, OxidOS, Microsoft, Google, zeroRISC, and AMD.
-
Talking Tock 60: x86 Architecture Support
With PR #4385 merged, Tock is now compatible with x86-based platforms! For now, this is only for 32-bit architectures (e.g., i486). Upstream Tock supports a QEMU version of the Q35 machine type.
-
Talking Tock 59: Runtime process loading support
With PR #3941 merged, the Tock kernel now supports dynamically loading userspace apps at runtime. New apps can be installed on a board without restarting Tock or affecting any existing applications.
-
Talking Tock 58: New pointer type in the kernel
Correctly expressing data types in Rust between userspace and the kernel with correctly captured semantics is challenging as different hardware platforms provide different data representations. The common example of this is 32-bit platforms versus 64-bit platforms which store different sized types in registers and therefore provide a different amount of data between userspace and the kernel. Emerging platforms, for example hardware with CHERI support, complicate this further. With pull request #4174 merged, Tock has taken a step to improve this by adding
CapabilityPtr
, a type within the kernel to clearly express when data within the kernel is a pointer.