doc/wg/core/notes/core-notes-2025-01-22.md
Agenda
A proposal to add consistent and explicit type information to syscall definitions in TRD104.
https://github.com/tock/tock/pull/4228
Do we to include explicit type information for each system call in TRD104? (up or down)
If yes, does PR #4228 have exactly the right types? If not, what would needs to change? If unclear, what questions to be resolved?
Close PR if we (1) is no.
Merge PR if (2) is yes
usize, which gets messier on 64-bit, where I don't think we have agreement yet.usize or u32 and that's all the same thing, in practice, once we include 64-bit it's not longer the same thing, so should TRD104 be explicit about which one is the right one for syscall arguments?u32 versus usize, for example, search for *mut; we pass an array with address and sizeu32/usize instead of i32/isize, or larger than u8, or etc. There is also a statement about what kind of value.usize instead of u32. Does putting u32 in places cause unnecessary churn in practice, especially given that things are defined cleanly with the 32-bit limitation?u32...Command as an example, we have all u32's proposed for their arguments in the PR nowu32 etc, it's about having at least 32 bitsu32 here, but for command 2/3, it is opaque bits, deferring semantic/API meaning to specific commands)?usize to talk about length in placesusize in practice, but a few pain points / places where there's u32u32/u64/usize, but they can all collapse onto the same ABI implementation since they all fitDoes it matter how they are implemented?
If yes to (1), which of the options should we go with?
usize, it wraps the largest thing a register can contain