sancus-tee / sancus-core

Minimal OpenMSP430 hardware extensions for isolation and attestation
BSD 3-Clause "New" or "Revised" License
20 stars 13 forks source link

Make sure SM violation IRQ is served #2

Open jovanbulck opened 7 years ago

jovanbulck commented 7 years ago

SM violation IRQ (for debug purposes) doesn't always reliably fire. The signal should probably be buffered in the front-end for the remainder of the currently executing instruction.

jovanbulck commented 7 years ago

Update. Upon an exec_violation when jumping to a non-SM entry address, the violating instruction is still executed. The memory backbone component properly blocks any memory read/write operations, but instructions such as sancus_disable that do not touch memory still execute normally.

Solution. Block Sancus instructions in the execution unit upon sm_violation signal.