Mercurial > nand-ecoscentric
comparison packages/hal/mips/arch/current/src/vectors.S @ 48:1370c5e55234 ecos-sw-1999-10-25
Merge from eCos master repository on 1999-10-25-21:18:27-BST
| author | jlarmour |
|---|---|
| date | Mon, 25 Oct 1999 20:48:32 +0000 |
| parents | e7ba79f6d3a8 |
| children | a0774359f013 |
comparison
equal
deleted
inserted
replaced
| 47:dda182546c3f | 48:1370c5e55234 |
|---|---|
| 498 # Need to set up back pointers etc. ??? | 498 # Need to set up back pointers etc. ??? |
| 499 | 499 |
| 500 # Decode external interrupt via interrupt controller | 500 # Decode external interrupt via interrupt controller |
| 501 | 501 |
| 502 hal_intc_decode s2 | 502 hal_intc_decode s2 |
| 503 | 503 |
| 504 #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN | 504 # Here, s2 contains the number of the interrupt being serviced, |
| 505 move s1,zero # Just vector zero is supported | 505 # we need to derive from that the vector number to call in the ISR |
| 506 #else | 506 # table. |
| 507 move s1,s2 # Vector == interrupt number | 507 |
| 508 #endif | 508 hal_intc_translate s2,s1 |
| 509 | 509 |
| 510 # Here s1 is the number of the vector to be called and s2 is | 510 # Here s1 is the number of the vector to be called and s2 is |
| 511 # the number of the interrupt being serviced. | 511 # the number of the interrupt being serviced. |
| 512 | 512 |
| 513 hal_diag_intr_start | 513 hal_diag_intr_start |
| 514 | 514 |
| 517 # Call cyg_instrument to record that this interrupt is being raised. | 517 # Call cyg_instrument to record that this interrupt is being raised. |
| 518 | 518 |
| 519 li a0,0x0301 # a0 = type = INTR,RAISE | 519 li a0,0x0301 # a0 = type = INTR,RAISE |
| 520 move a1,s1 # a1 = vector number | 520 move a1,s1 # a1 = vector number |
| 521 jal cyg_instrument # call instrument function | 521 jal cyg_instrument # call instrument function |
| 522 xor a2,a2,a2 # arg2 = 0 (delay slot) | 522 move a2,s2 # a2 = interrupt number |
| 523 #endif | 523 #endif |
| 524 | 524 |
| 525 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) | 525 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) |
| 526 # If we are supporting Ctrl-C interrupts from GDB, we must squirrel | 526 # If we are supporting Ctrl-C interrupts from GDB, we must squirrel |
| 527 # away a pointer to the save interrupt state here so that we can | 527 # away a pointer to the save interrupt state here so that we can |
