comparison packages/hal/common/current/src/hal_if.c @ 112:02ea4320376c ecos-sw-2000-07-21

Merge from eCos master repository on 2000-07-21-21:01:39-BST
author jlarmour
date Fri, 21 Jul 2000 21:34:11 +0000
parents 84e4bde58b26
children 6ed91473a1cd
comparison
equal deleted inserted replaced
111:211b8a635ce9 112:02ea4320376c
159 } 159 }
160 160
161 //---------------------------------- 161 //----------------------------------
162 // Comm controls 162 // Comm controls
163 163
164 static hal_virtual_comm_table_t comm_channels[CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS+1]; 164 #ifdef CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS
165 #define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \
166 (CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS+CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS)
167 #else
168 #define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \
169 CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS
170 #endif
171
172 static hal_virtual_comm_table_t comm_channels[CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS+1];
165 173
166 static int 174 static int
167 set_debug_comm(int __comm_id) 175 set_debug_comm(int __comm_id)
168 { 176 {
169 static int __selected_id = CYGNUM_CALL_IF_SET_COMM_ID_EMPTY; 177 static int __selected_id = CYGNUM_CALL_IF_SET_COMM_ID_EMPTY;
171 int interrupt_state = 0; 179 int interrupt_state = 0;
172 int res = 1, update = 0; 180 int res = 1, update = 0;
173 CYGARC_HAL_SAVE_GP(); 181 CYGARC_HAL_SAVE_GP();
174 182
175 CYG_ASSERT(__comm_id >= CYGNUM_CALL_IF_SET_COMM_ID_MANGLER 183 CYG_ASSERT(__comm_id >= CYGNUM_CALL_IF_SET_COMM_ID_MANGLER
176 && __comm_id < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS, 184 && __comm_id < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS,
177 "Invalid channel"); 185 "Invalid channel");
178 186
179 switch (__comm_id) { 187 switch (__comm_id) {
180 case CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT: 188 case CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT:
181 if (__selected_id > 0) 189 if (__selected_id > 0)
229 static int __selected_id = CYGNUM_CALL_IF_SET_COMM_ID_EMPTY; 237 static int __selected_id = CYGNUM_CALL_IF_SET_COMM_ID_EMPTY;
230 int res = 1, update = 0; 238 int res = 1, update = 0;
231 CYGARC_HAL_SAVE_GP(); 239 CYGARC_HAL_SAVE_GP();
232 240
233 CYG_ASSERT(__comm_id >= CYGNUM_CALL_IF_SET_COMM_ID_MANGLER 241 CYG_ASSERT(__comm_id >= CYGNUM_CALL_IF_SET_COMM_ID_MANGLER
234 && __comm_id < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS, 242 && __comm_id < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS,
235 "Invalid channel"); 243 "Invalid channel");
236 244
237 switch (__comm_id) { 245 switch (__comm_id) {
238 case CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT: 246 case CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT:
239 if (__selected_id > 0) 247 if (__selected_id > 0)
420 // This should only be done for service routine entries - data 428 // This should only be done for service routine entries - data
421 // pointers should be NULLed. 429 // pointers should be NULLed.
422 for (i = 0; i < CYGNUM_CALL_IF_TABLE_SIZE; i++) 430 for (i = 0; i < CYGNUM_CALL_IF_TABLE_SIZE; i++)
423 hal_virtual_vector_table[i] = (CYG_ADDRWORD) &nop_service; 431 hal_virtual_vector_table[i] = (CYG_ADDRWORD) &nop_service;
424 432
425 for (j = 0; j < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS+1; j++) 433 for (j = 0; j < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS+1; j++)
426 for (i = 0; i < CYGNUM_COMM_IF_TABLE_SIZE; i++) 434 for (i = 0; i < CYGNUM_COMM_IF_TABLE_SIZE; i++)
427 comm_channels[j][i] = (CYG_ADDRWORD) &nop_service; 435 comm_channels[j][i] = (CYG_ADDRWORD) &nop_service;
428 436
429 437
430 // Fill in supported services. 438 // Fill in supported services.