Reference 1
Itanium: deferred exception tracking. can be used to support for information flow tracking.
Deferred exception for speculatively executed instructions. An exception is deferred for later handling instead of being thrown out immediately.
Each general purpose register is extended with an additional deferred exception token (NaT, Not a Thing) to keep track of exceptions.
Token is propagated along with the executing instructions.
Instruction to tnat
check the existence of exceptions. chk.s
jumps to some recovery code if the register is with an exception token.
Changes to GCC: add passes
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?