Changes between Version 29 and Version 30 of kernel_interrupts
- Timestamp:
- Dec 10, 2016, 11:52:57 AM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
kernel_interrupts
v29 v30 51 51 52 52 === void '''_ext_irq_init'''() === 53 This initializes the ''_ext_irq_index[isr][channel]'' kernel array. This array defines the IRQ index (i.e. the IOPIC inputindex) associated to an (isr_type / isr_channel) couple, as specified in the mapping. It defines the hardware connexions between external peripherals and the IOPIC external IRQ controller, and is used by the kernel for dynamic routing of external IRQs.53 This function is only used when the architecture contains an external IOPIC component. It initializes the ''_ext_irq_index[isr][channel]'' kernel array, that defines the IRQ index (i.e. the IOPIC input IRQ index) associated to an (isr_type / isr_channel) couple, as specified in the mapping. It defines the hardware connexions between external peripherals and the IOPIC external IRQ controller, and is used by the kernel for dynamic routing of external IRQs. 54 54 55 55 === void '''_ext_irq_alloc( unsigned int isr_type , unsigned int isr_channel , unsigned int* wti_index ) === 56 This function dynamicallyallocates an external IRQ signaling completion of an I/O operation to the processor P[x,y,p] running the calling task. The two (isr_type / isr_channel) arguments define actually the external IRQ to be routed.56 This function is only used when the architecture contains an external IOPIC component. It allocates an external IRQ signaling completion of an I/O operation to the processor P[x,y,p] running the calling task. The two (isr_type / isr_channel) arguments define actually the external IRQ to be routed. 57 57 * '''isr_type''' : type of ISR 58 58 * '''isr_channel''' : ISR channel (for multi-channels peripherals) … … 64 64 65 65 === void '''_ext_irq_release( unsigned int isr_type , unsigned int isr_channel , unsigned int wti_index ) === 66 This function desallocates the ressources allocated by the previous _ext_irq_alloc() function to the calling processor. The two (isr_type, isr_channel) arguments define actually the external IRQ to be released.66 This function is only used when the architecture contains an external IOPIC component. It desallocates the ressources allocated by the previous _ext_irq_alloc() function to the calling processor. The two (isr_type, isr_channel) arguments define actually the external IRQ to be released. 67 67 * '''isr_type''' : type of ISR 68 68 * '''isr_channel''' : ISR channel (for multi-channels peripherals) … … 88 88 89 89 As most ISRs (Interrupt Service Routine) are associated to a specific peripheral, these ISR are defined in the 90 [wiki:periphal_drivers drivers]. But the followingISRs are defined in the [source:soft/giet_vm/giet_kernel/irq_handler.c irq_handler.c] file:90 [wiki:periphal_drivers drivers]. Some ISRs are defined in the [source:soft/giet_vm/giet_kernel/irq_handler.c irq_handler.c] file: 91 91 92 92