Back to Tock

Tock OT Notes 4/23/2020

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

latest2.2 KB
Original Source

Tock OT Notes 4/23/2020

Present:

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

Updates

  • Silvestrs: Starting to use OT DIFs with Tock. UART worked well. Had to add to build.rs for linking.
  • Also working on conditional compilation. So far cargo cfgs seems like the best approach.

Tock 1.5

  • Brad: Release testing is in progress.
  • Alistair: I've been testing apps, most don't work on OT.
    • Some inlcude ARM assembly.
    • Many libtock-c apps crash.
    • Some multiple apps do work.
  • Long strings seem to be a problem (see issue). Something with hardware configuration and reboot.
  • PMP doesn't need power of 2 rounding since using ToR.
  • Garret: So far only limited PMP support in OT.
  • Brad: We can mark OT support as preliminary.
  • Alistair: Should we test HiFive1?
  • Brad: I will.

Use Partial Crates

  • Silvestrs: can rust compile only certain files from a crate? Such that we can substitute one peripheral for another?
  • Garret: I'm not sure. You likely can use a cfg in mod.rs to control what is included in the compilation.
  • Silvestrs: Also, how does the lowrisc/ibex crate split work?
  • Alistair: Implementations of peripherals can be shared among multiple cores (ibex being one example).
  • Brad: Modeled after SiFive structure.
  • Alistair: Some things may be in the wrong directory currently, which could lead to confusion.

HMAC

  • Alistair: Not many changes.
  • Phil: Variable key lengths would have to be an async operation.
  • Jon: FIFO full not FIFO empty.
  • Alistair: Does that work?
  • Jon: Changed, I haven't tested.

Testing

  • Garret: Talked to Vadim. Questions about host testing. What is the hook point for code to interface with hardware abstractions? They are using dev_mem_read() and dev_mem_write() as a hook for testing.
  • Alistair: Can QEMU be used?
  • Garret: Not all peripherals are in QEMU. This is also heavy weight and difficult to keep in sync with changing hardware until tape-out.
  • Higher level would apply more broadly, QEMU after tape-out maybe.
  • Alistair: Well if you are already writing models.
  • Garret: I still think it would be lower impact.