diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc/erc32/startup/spurious.c')
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/startup/spurious.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/startup/spurious.c b/c/src/lib/libbsp/sparc/erc32/startup/spurious.c index 30b0a0120a..c22a5373e2 100644 --- a/c/src/lib/libbsp/sparc/erc32/startup/spurious.c +++ b/c/src/lib/libbsp/sparc/erc32/startup/spurious.c @@ -148,7 +148,7 @@ rtems_isr bsp_spurious_handler( * What else can we do but stop ... */ - asm volatile( "ta 0x0" ); + asm volatile( "mov 1, %g1; ta 0x0" ); } /* @@ -177,8 +177,9 @@ void bsp_spurious_initialize() * paramaters to the program. */ - if (( trap == 5 || trap == 6 || trap == 0x83 ) || - (( trap >= 0x70 ) && ( trap <= 0x80 ))) + if (( trap == 5 || trap == 6 ) || + (( trap >= 0x11 ) && ( trap <= 0x1f )) || + (( trap >= 0x70 ) && ( trap <= 0x83 ))) continue; set_vector( bsp_spurious_handler, SPARC_SYNCHRONOUS_TRAP( trap ), 1 ); |