diff options
Diffstat (limited to 'cpukit/score/cpu/sparc/rtems/asm.h')
-rw-r--r-- | cpukit/score/cpu/sparc/rtems/asm.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpukit/score/cpu/sparc/rtems/asm.h b/cpukit/score/cpu/sparc/rtems/asm.h index a3d62416b8..4f425de956 100644 --- a/cpukit/score/cpu/sparc/rtems/asm.h +++ b/cpukit/score/cpu/sparc/rtems/asm.h @@ -105,6 +105,16 @@ jmp %l4+%lo(_handler); \ mov _vector, %l3 +/* + * Used for the reset trap for ERC32 to avoid a supervisor instruction + */ + +#define RTRAP(_vector, _handler) \ + mov %g0, %l0 ; \ + sethi %hi(_handler), %l4 ; \ + jmp %l4+%lo(_handler); \ + mov _vector, %l3 + #endif /* end of include file */ |