Back to Tock

Tock OT Notes 4/16/2020

doc/wg/opentitan/notes/2020-04-16.md

latest3.4 KB
Original Source

Tock OT Notes 4/16/2020

Present:

  • Brad Campbell (Chair), University of Virginia
  • Phil Levis, Stanford
  • Silvestrs Timofejevs, lowRISC
  • Johnathan Van Why, Google
  • Alistair Francis, Western Digital
  • Jon Flatley, Google
  • Garret Kelly, Google

Updates

  • Brad: Tock core is planning on doing a 1.5 release this month. That means the merge window will be ending soon, then we will do testing and will only merge bug fixes. Goal is to get the release done ASAP and resume normal development.

  • Garret: Is there documentation, or can you quickly describe the release process?

  • Brad: Sure, when 1.5 is ready we will tag a commit on master with the 1.5 release. If we missed something and major bugs are found we will do a 1.5.1 branch, and backport the fix, but generally we do not backport features into existing releases.

  • Garret: For testing, how automated is that, or is there a script?

  • Brad: It is ad-hoc, where individual platform maintainers are asked to test their platforms on a host of tests, and identify any bugs or issues.

  • Alistair: Please review HMAC PR.

  • Phil: Why is key a slice and not a fixed length array?

  • Alistair: It seems that the original HMAC spec allows for keys of any length.

  • Phil: But then is it guaranteed that different hardware platforms will handle keys of different lengths the same way?

  • Alistair: Not clear.

  • Phil: Seems like that should be a different API.

  • Garret: That sounds like a Key Derivation Function, which I agree should be a separate API.

  • Alistair: Ok, that makes sense.

  • Brad: What about supporting multiple apps?

  • Alistair: The updated version should support multiple apps.

  • Garret: Silvestrs, I think you mentioned successfully using DIFs?

  • Silvestrs: Yes, I made a proof of concept.

  • Silvestrs: I'm also working on configuration options and features, see the open PR in Tock.

Roadmap

  • Brad: Updates on progress?
  • Silvestrs: How should we keep track of what work is going on?
  • Brad: We have talked about using this call as a synchronization point. There may be parallel work, but it may lead to better design exploration.
  • Jon: Suggestion: put links to issues in roadmap document.
  • Garret: Alpan working on faster system calls.
  • Progress is looking good, tweaks to drop from 3000 cycles to roughly 600, and on OT 5000 down to 1200.
  • Phil: Good to see that if there is a need to optimize that path there is room for improvement.
  • Garret: Vadim believes it may be able to shrink further.
  • Jon: Making progress on host-side testing setup. Kernel runs as a linux process. Focusing on userland-kernel boundary, enough to run a libtock-rs process. Now working on syscalls.
  • Brad: Does this use any /arch crates?
  • Jon: No.
  • Garret: We expect that this will work well with JVW's libtock-rs updates.
  • Johnathan: I'm making the arch-specific code into a trait. Progress is continuing, hopefully no overhead in the approach so far.
  • Futures are working, and apps are actually smaller. Working on porting OpenSK and userland timer virtualization. Ordered a OT dev board.
  • Brad: What needs to be virtualized in userspace?
  • Johnathan: Certainly timers, since kernel only provides one alarm. But other syscalls will as well to make interfaces work.
  • Garret: Alpan also has some toolchain support for fixed address apps. Trying to motivate cleaning that up into at least an instructional PR.

Wrapup

  • Garret: Oxide?
  • Brad: Summarized from last week.