Hacker News new | ask | show | jobs
by drawnwren 392 days ago
if you could get this working on embedded arm cpus, I think you'd be surprised how many customers there would be.
2 comments

Time travel debugging on embedded ARM has been available for over 20 years via trace probes [1].

The category namer of time-travel debugging, TimeMachine, (hence time-travel debugging in contrast to other attempted names such as reversible, bidirectional, record-replay, etc.) was available in 2003 and supports/supported the ARM7 [2]. Note, that is not ARMv7 architecture, that is the ARM7 chip [3] in use from 1993-2001.

From what I know, the ARM7 was one of the first ARM designs implementing the Embedded Trace Macrocell (ETM) which could output the instruction and data trace data used to support trace probe-based time travel debugging.

[1] https://jakob.engbloms.se/archives/1564

[2] https://www.ghs.com/products/probe.html

[3] https://en.m.wikipedia.org/wiki/ARM7

What's limiting us is that Undo does need a Linux kernel - so traditional embedded programming wouldn't be a fit. Embedded Linux could work and we do support ARM64.

I've thought I bit about how you might support time travel on bare metal embedded - but actually there are hardware-assisted solutions (Lauterbach's Trace32 was one we came across) there sometimes.