-
Talking Tock 62: Sound static global variables in Tock
In specific contexts Tock uses global
static mutvariables to share state among components. The most ubiquitous use of this sharing state between the main execution context and thepanic!()handler. When a Tock board panics, it needs to access resources used by the main kernel, including the list of processes, a reference to the MCU state, and a tool for formatting process printing data. Because panic is an exception, we need a global variable to access those resources. -
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.