Differences from v1: * Patch 1/6: Commit message reworded * Patch 4/6: Added for independent exception control * Patch 6/6: Reworked to use illegal opcode instead of architecture-defined software break instruction