diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-11-26 19:56:21 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-11-26 19:56:21 +0000 |
commit | f098bf131d8a50eb3336452f66a7852fdc9775b2 (patch) | |
tree | 008e0356251242f91fc0947ffa2419bda06b3761 /cpukit/score/cpu | |
parent | 2007-11-26 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-f098bf131d8a50eb3336452f66a7852fdc9775b2.tar.bz2 |
2007-11-26 Ray Xu <rayx.cn@gmail.com>
* thumb_isr.c: Remove extra debug information, Change function
definition.
Diffstat (limited to 'cpukit/score/cpu')
-rw-r--r-- | cpukit/score/cpu/arm/thumb/ChangeLog | 5 | ||||
-rw-r--r-- | cpukit/score/cpu/arm/thumb/thumb_isr.c | 36 |
2 files changed, 14 insertions, 27 deletions
diff --git a/cpukit/score/cpu/arm/thumb/ChangeLog b/cpukit/score/cpu/arm/thumb/ChangeLog index 65249bf529..65ae8c8b69 100644 --- a/cpukit/score/cpu/arm/thumb/ChangeLog +++ b/cpukit/score/cpu/arm/thumb/ChangeLog @@ -1,3 +1,8 @@ +2007-11-26 Ray Xu <rayx.cn@gmail.com> + + * thumb_isr.c: Remove extra debug information, Change function + definition. + 2007-11-06 Joel Sherrill <joel.sherrill@OARcorp.com> * thumb_isr.c: Fix headers. diff --git a/cpukit/score/cpu/arm/thumb/thumb_isr.c b/cpukit/score/cpu/arm/thumb/thumb_isr.c index 4460c7e78e..22915263f5 100644 --- a/cpukit/score/cpu/arm/thumb/thumb_isr.c +++ b/cpukit/score/cpu/arm/thumb/thumb_isr.c @@ -17,10 +17,10 @@ * _CPU_ISR_Get_level_Thumb - returns the current interrupt level */ uint32_t _CPU_ISR_Get_level_Thumb(void) __attribute__ ((naked)); -unsigned int _CPU_ISR_Disable_Thumb(void ) __attribute__ ((naked)); -void __inline__ _CPU_ISR_Enable_Thumb(int _level ) __attribute__ ((naked)); -void __inline__ _CPU_ISR_Flash_Thumb(int _level ) __attribute__ ((naked)); -void __inline__ _CPU_ISR_Set_level_Thumb(int new_level ) __attribute__ ((naked)); +uint32_t _CPU_ISR_Disable_Thumb(void ) __attribute__ ((naked)); +void _CPU_ISR_Enable_Thumb(int _level ) __attribute__ ((naked)); +void _CPU_ISR_Flash_Thumb(int _level ) __attribute__ ((naked)); +void _CPU_ISR_Set_level_Thumb(int new_level ) __attribute__ ((naked)); /* * prevent multipule enable/disable ISR @@ -33,25 +33,10 @@ void __inline__ _CPU_ISR_Set_level_Thumb(int new_level ) __attribute__ ((naked */ - -/* - * Fix me: use mutex to visit isr_flag - */ - #define str(x) #x #define xstr(x) str(x) #define L(x) #x "_" xstr(__LINE__) -#define U0THR (*((volatile unsigned char *) 0xE000C000)) -#define U0LSR (*((volatile unsigned char *) 0xE000C014)) - -void __inline__ UART0_Send_Byte(char data) -{ - U0THR = data; - - while( (U0LSR&0x40)==0 ); -} - /* * Switch to ARM mode Veneer,ugly but safe */ @@ -78,7 +63,7 @@ void __inline__ UART0_Send_Byte(char data) * level is returned in _level. */ -unsigned int __inline__ _CPU_ISR_Disable_Thumb(void ) +uint32_t _CPU_ISR_Disable_Thumb(void ) { int reg=0; TO_ARM_MODE(disable); @@ -100,7 +85,7 @@ unsigned int __inline__ _CPU_ISR_Disable_Thumb(void ) * _level is not modified. I do not think _level is useful in this */ -void __inline__ _CPU_ISR_Enable_Thumb(int _level ) +void _CPU_ISR_Enable_Thumb(int _level ) { int reg=0; TO_ARM_MODE(enable); @@ -120,12 +105,9 @@ void __inline__ _CPU_ISR_Enable_Thumb(int _level ) * sections into two or more parts. The parameter _level is not * modified. */ -void __inline__ _CPU_ISR_Flash_Thumb(int _level ) +void _CPU_ISR_Flash_Thumb(int _level ) { int reg=0; - UART0_Send_Byte(70); - //asm volatile("NOP"); - //(*((volatile unsigned char *) 0xE000C000))='\r'; TO_ARM_MODE(flash); asm volatile ( \ ".code 32 \n" \ @@ -155,7 +137,7 @@ void __inline__ _CPU_ISR_Flash_Thumb(int _level ) * ARM/Thumb dont distinguishd the interrupt levels */ -void __inline__ _CPU_ISR_Set_level_Thumb(int new_level ) +void _CPU_ISR_Set_level_Thumb(int new_level ) { int reg = 0; /* to avoid warning */ \ TO_ARM_MODE(SetISR); \ @@ -171,7 +153,7 @@ void __inline__ _CPU_ISR_Set_level_Thumb(int new_level ) : "0" (reg)); } -uint32_t __inline__ _CPU_ISR_Get_level_Thumb( void ) +uint32_t _CPU_ISR_Get_level_Thumb( void ) { uint32_t reg = 0; /* to avoid warning */ TO_ARM_MODE(GetISR); \ |