Changes between Version 24 and Version 25 of kernel_interrupts


Ignore:
Timestamp:
May 12, 2015, 1:53:20 PM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • kernel_interrupts

    v24 v25  
    2525 4. In each cluster, 4 '''WTI''' mailboxes (called WAKE_UP, EXT_IRQ_ONE, EXT_IRQ_TWO, EXT_IRQ_TER) are statically allocated to each processor.
    2626
    27  5. The '''WAKE-UP''' interrupt can be used in two situations: When the interrupted processor is in "wait state" (low-power mode), the processor exit the "wait state", but the ISR is not executed. When the processor is not in "wait state" the ISR is executed. If the interrupted processor is runing the idle_task, or if the value written in the WTI mailbox is non zero, the ISR force a context switch on the target processor. These WAKE_UP mailboxes have indexes from (0 to NB_PROCS_MAX-1).
     27 5. The '''WAKE-UP''' interrupt can be used in two situations: When the interrupted processor is in "wait state" (low-power mode), the processor exit the "wait state", but the ISR is not executed. When the processor is not in "wait state" the ISR is executed. If the interrupted processor is runing the idle_task, or if the value written in the WTI mailbox is non zero, the ISR force a context switch on the target processor.
    2828
    29  6. The three '''EXT_IRQ_ONE''', '''EXT_IRQ_TWO''' and '''EXT_IRQ_TER''' interrupts are dynamically allocated to external IRQS generated by the external peripherals (through the IOPIC component), in order to route the external IRQ - via a WTI - to the processor that launched the I/O operation. For processor with index = lpid, these 3 mailboxes have indexes (lpid + NB_PROCS_MAX) / (lpid + 2*NB_PROCS_MAX) / (lpid + 3*NB_PROCS_MAX).
     29 6. The three '''EXT_IRQ_ONE''', '''EXT_IRQ_TWO''' and '''EXT_IRQ_TER''' interrupts are dynamically allocated to external IRQS generated by the external peripherals (through the IOPIC component), in order to route the external IRQ - via a WTI - to the processor that launched the I/O operation.
    3030
    31 The array below define the static routing of WTIs to the local processors, implemented by the XCU masks:
     31The array below define the static allocation of WTI mailboxes to the local processors, implemented by the XCU masks:
    3232|| '''WTI name'''   || ''' WTI index''' ||
    3333|| WAKE_UP       || lpid           ||
     
    5959 * '''wti_index''' : return value defining the index of the WTI mailbox allocated to P[x,y,p]
    6060This function does three things:
    61  1. it allocates a WTI mailbox in the XCU of cluster[x,y] to the requesting processor : WTI index can be (p + NB_PROCS_MAX) / (p + 2*NBPROCS_MAX) / p + (3*NB_PROCS_MAX).
     61 1. it allocates a WTI mailbox in the XCU of cluster[x,y] to the requesting processor.
    6262 2. it initializes the IOPIC register associated to the (isr_type / isr_channel) external IRQ.
    6363 3. it initializes the proper entry in the WTI interrupt vector associated to processor P[x,y,p].