comparison packages/kernel/current/src/intr/intr.cxx @ 128:0c2b7be0d798 ecos-sw-2000-10-12

Merge from eCos master repository on 2000-10-12-08:46:24-BST
author jlarmour
date Thu, 12 Oct 2000 20:31:43 +0000
parents 95f3e12a6327
children eb9fd8c04db3
comparison
equal deleted inserted replaced
127:67f0ef5f8ee9 128:0c2b7be0d798
117 Cyg_Interrupt * 117 Cyg_Interrupt *
118 Cyg_Interrupt::dsr_table[CYGNUM_KERNEL_INTERRUPTS_DSRS_TABLE_SIZE]; 118 Cyg_Interrupt::dsr_table[CYGNUM_KERNEL_INTERRUPTS_DSRS_TABLE_SIZE];
119 119
120 cyg_ucount32 Cyg_Interrupt::dsr_table_head = 0; 120 cyg_ucount32 Cyg_Interrupt::dsr_table_head = 0;
121 121
122 cyg_ucount32 Cyg_Interrupt::dsr_table_tail = 0; 122 volatile cyg_ucount32 Cyg_Interrupt::dsr_table_tail = 0;
123 123
124 #endif 124 #endif
125 125
126 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST 126 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST
127 127
128 Cyg_Interrupt *Cyg_Interrupt::dsr_list = NULL; 128 volatile Cyg_Interrupt *Cyg_Interrupt::dsr_list = NULL;
129 129
130 #endif 130 #endif
131 131
132 // ------------------------------------------------------------------------- 132 // -------------------------------------------------------------------------
133 // Call any pending DSRs 133 // Call any pending DSRs
158 158
159 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST 159 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST
160 160
161 while( dsr_list != NULL ) 161 while( dsr_list != NULL )
162 { 162 {
163 Cyg_Interrupt *intr; 163 volatile Cyg_Interrupt *intr;
164 cyg_uint32 old_intr; 164 cyg_uint32 old_intr;
165 cyg_count32 count; 165 cyg_count32 count;
166 166
167 HAL_DISABLE_INTERRUPTS(old_intr); 167 HAL_DISABLE_INTERRUPTS(old_intr);
168 168
356 // If we finished the loop for some reason other than that an 356 // If we finished the loop for some reason other than that an
357 // ISR has handled the interrupt, call any default ISR to either 357 // ISR has handled the interrupt, call any default ISR to either
358 // report the spurious interrupt, or do some other HAL level processing 358 // report the spurious interrupt, or do some other HAL level processing
359 // such as GDB interrupt detection etc. 359 // such as GDB interrupt detection etc.
360 360
361 HAL_DEFAULT_ISR( vector, NULL ); 361 HAL_DEFAULT_ISR( vector, 0 );
362 } 362 }
363 #endif 363 #endif
364 return 0; 364 return 0;
365 } 365 }
366 366