Both of these are committed. Thanks. On 5/23/2014 9:01 AM, Joel Sherrill wrote: > This looks OK as best I can tell. > On 5/23/2014 8:52 AM, Daniel Hellstrom wrote: >> --- >> c/src/lib/libcpu/sparc/syscall/syscall.S | 27 +++++++++++---------------- >> 1 files changed, 11 insertions(+), 16 deletions(-) >> >> diff --git a/c/src/lib/libcpu/sparc/syscall/syscall.S >> b/c/src/lib/libcpu/sparc/syscall/syscall.S >> index aa69f45..2d53ebe 100644 >> --- a/c/src/lib/libcpu/sparc/syscall/syscall.S >> +++ b/c/src/lib/libcpu/sparc/syscall/syscall.S >> @@ -37,42 +37,37 @@ SYM(syscall): >> >> subcc %g1, 2, %g0 ! syscall 2, disable interrupts >> bne 3f >> + subcc %g1, 3, %g0 ! syscall 3, enable interrupts >> or %l0, 0x0f00, %l4 ! set PIL=15 >> - mov %l4, %psr >> - or %l0, SPARC_PSR_ET_MASK, %i0 ! return old psr with ET=1 >> - ba,a 9f >> + ba 9f >> + or %l0, SPARC_PSR_ET_MASK, %i0 ! return old psr with ET=1 >> 3: >> - subcc %g1, 3, %g0 ! syscall 3, enable interrupts >> bne 1f >> - and %i0, SPARC_PSR_PIL_MASK, %l4 >> + and %i0, SPARC_PSR_PIL_MASK, %l4 >> andn %l0, SPARC_PSR_PIL_MASK, %l5 >> or %l5, %l4, %l4 >> - mov %l4, %psr >> - ba,a 9f >> - >> -1: >> - ta 0 ! halt >> 9: ! leave >> + mov %l4, %psr ! Update PSR according to Syscall 2 or 3 >> mov 0, %g1 ! clear %g1 >> - jmpl %l2, %g0 >> - rett %l2 + 4 >> + jmpl %l2, %g0 >> + rett %l2 + 4 >> +1: >> + ta 0 ! syscall 1 (not 2 or 3), halt >> >> PUBLIC(sparc_disable_interrupts) >> >> SYM(sparc_disable_interrupts): >> >> mov SYS_irqdis, %g1 >> - ta 0 >> retl >> - nop >> + ta 0 >> >> PUBLIC(sparc_enable_interrupts) >> >> SYM(sparc_enable_interrupts): >> >> mov SYS_irqen, %g1 >> - ta 0 >> retl >> - nop >> + ta 0 >> >> /* end of file */
-- Joel Sherrill, Ph.D. Director of Research & Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel