Mercurial > flash_v2
comparison packages/hal/common/current/src/hal_if.c @ 119:77cec8369160 ecos-sw-2000-09-01
Merge from eCos master repository on 2000-09-01-07:47:03-BST
| author | jlarmour |
|---|---|
| date | Fri, 01 Sep 2000 13:45:23 +0000 |
| parents | 6ed91473a1cd |
| children | a9ac27ec7abc |
comparison
equal
deleted
inserted
replaced
| 118:59c1a83fb200 | 119:77cec8369160 |
|---|---|
| 417 isr_ret = CYGACC_COMM_IF_DBG_ISR(*__chan, &ctrlc, vector, data); | 417 isr_ret = CYGACC_COMM_IF_DBG_ISR(*__chan, &ctrlc, vector, data); |
| 418 if (ctrlc) | 418 if (ctrlc) |
| 419 cyg_hal_user_break( (CYG_ADDRWORD *)hal_saved_interrupt_state ); | 419 cyg_hal_user_break( (CYG_ADDRWORD *)hal_saved_interrupt_state ); |
| 420 return isr_ret; | 420 return isr_ret; |
| 421 } | 421 } |
| 422 | |
| 423 cyg_bool | |
| 424 hal_ctrlc_check(CYG_ADDRWORD vector, CYG_ADDRWORD data) | |
| 425 { | |
| 426 hal_virtual_comm_table_t* chan = CYGACC_CALL_IF_DEBUG_PROCS(); | |
| 427 int gdb_vector = -1; | |
| 428 int isr_ret, ctrlc = 0; | |
| 429 | |
| 430 // This check only to avoid crash on older stubs in case of unhandled | |
| 431 // interrupts. It is a bit messy, but required in a transition period. | |
| 432 if (CYGNUM_CALL_IF_TABLE_VERSION+1 == CYGACC_CALL_IF_VERSION()) { | |
| 433 gdb_vector = CYGACC_COMM_IF_CONTROL(*chan, __COMMCTL_DBG_ISR_VECTOR); | |
| 434 } | |
| 435 if( vector == gdb_vector ) { | |
| 436 isr_ret = CYGACC_COMM_IF_DBG_ISR(*chan, &ctrlc, vector, data); | |
| 437 if (ctrlc) | |
| 438 cyg_hal_user_break( (CYG_ADDRWORD *)hal_saved_interrupt_state ); | |
| 439 return true; | |
| 440 } | |
| 441 return false; | |
| 442 } | |
| 422 #endif // CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT || CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT | 443 #endif // CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT || CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT |
| 423 | 444 |
| 424 //-------------------------------------------------------------------------- | 445 //-------------------------------------------------------------------------- |
| 425 // Init function. It should be called from the platform initialization code. | 446 // Init function. It should be called from the platform initialization code. |
| 426 // For monitor configurations it will initialize the calling interface table, | 447 // For monitor configurations it will initialize the calling interface table, |
