diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-05-09 21:43:28 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-05-09 21:43:28 +0000 |
commit | 911158aef6696d73667a81147c66cecadaa41e43 (patch) | |
tree | f6dba3aa172e9591371cd9796e45c72ad88e6129 | |
parent | 2001-05-09 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-911158aef6696d73667a81147c66cecadaa41e43.tar.bz2 |
2001-05-09 Joel Sherrill <joel@OARcorp.com>
* include/i960CA.h, include/i960RP.h: Correct inline assembly
forward reference labels.
-rw-r--r-- | c/src/lib/libcpu/i960/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libcpu/i960/include/i960CA.h | 4 | ||||
-rw-r--r-- | c/src/lib/libcpu/i960/include/i960RP.h | 4 |
3 files changed, 9 insertions, 4 deletions
diff --git a/c/src/lib/libcpu/i960/ChangeLog b/c/src/lib/libcpu/i960/ChangeLog index f9c4978821..d0f25342d5 100644 --- a/c/src/lib/libcpu/i960/ChangeLog +++ b/c/src/lib/libcpu/i960/ChangeLog @@ -1,3 +1,8 @@ +2001-05-09 Joel Sherrill <joel@OARcorp.com> + + * include/i960CA.h, include/i960RP.h: Correct inline assembly + forward reference labels. + 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de> * configure.ac: diff --git a/c/src/lib/libcpu/i960/include/i960CA.h b/c/src/lib/libcpu/i960/include/i960CA.h index b3f8971056..509a833937 100644 --- a/c/src/lib/libcpu/i960/include/i960CA.h +++ b/c/src/lib/libcpu/i960/include/i960CA.h @@ -83,8 +83,8 @@ typedef i960ca_PRCB i960_PRCB; #define i960_clear_intr( xint ) \ { register unsigned int _xint=(xint); \ -asm volatile( "loop_til_cleared: clrbit %0,sf0,sf0 ; \ - bbs %0,sf0, loop_til_cleared" \ +asm volatile( "99: clrbit %0,sf0,sf0 ; \ + bbs %0,sf0, 99b" \ : "=d" (_xint) : "0" (_xint) ); \ } diff --git a/c/src/lib/libcpu/i960/include/i960RP.h b/c/src/lib/libcpu/i960/include/i960RP.h index f186db5095..558e2b9556 100644 --- a/c/src/lib/libcpu/i960/include/i960RP.h +++ b/c/src/lib/libcpu/i960/include/i960RP.h @@ -366,9 +366,9 @@ typedef i960rp_PRCB i960_PRCB; register unsigned int _mask=(1<<(xint)); \ register unsigned int *_ipnd = (int * ) IPND_ADDR; \ register unsigned int _rslt = 0; \ -asm volatile( "loop_til_cleared: mov 0, %0; \ +asm volatile( "99: mov 0, %0; \ atmod %1, %2, %0; \ - bbs %3,%0, loop_til_cleared" \ + bbs %3,%0, 99b" \ : "=d" (_rslt), "=d" (_ipnd), "=d" (_mask), "=d" (_xint) \ : "0" (_rslt), "1" (_ipnd), "2" (_mask), "3" (_xint) ); \ } |