| CPC G06F 11/1629 (2013.01) [G06F 9/3861 (2013.01); G06F 11/1641 (2013.01); G06F 9/3851 (2013.01)] | 18 Claims |

|
1. A method of explicit lockstep for functional safety, the method comprising:
spawning, by a main thread, a first safe thread and a second safe thread;
initializing and mapping a first data register associated with the first safe thread to each safe variable of a set of predetermined safe variables;
allocating, by the main thread, a first physical memory page and a first address space mapped to the first data register associated with the first safe thread;
initializing and mapping a second data register associated with the second safe thread to each safe variable of the set of predetermined safe variables;
allocating, by the main thread, a second physical memory page and a second address space mapped to the second data register associated with the second safe thread;
comparing, by a hardware comparator, a first safe variable value in the first data register to a second safe variable value in the second register; and
issuing an error completion to the first safe thread and the second safe thread when the hardware comparator detects a mismatch between the first data register and the second data register.
|