Changes between Version 4 and Version 5 of kernel_interrupts


Ignore:
Timestamp:
Oct 26, 2014, 12:35:48 AM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • kernel_interrupts

    v4 v5  
    22
    33
    4 The [source:soft/giet_vm/giet_kernel/irq_handler.c irq_handler.c] and [source:soft/giet_vm/giet_kernel/irq_handler.h irq_handler.h] files define the kernel data structure and functions that are used to handle interrupts. They are prefixed by "-" to remind that they can only be executed by a processor in kernel mode.
     4The [source:soft/giet_vm/giet_kernel/irq_handler.c irq_handler.c] and [source:soft/giet_vm/giet_kernel/irq_handler.h irq_handler.h] files define the kernel data structure and functions that are used to handle interrupts. They are prefixed by "_" to remind that they can only be executed by a processor in kernel mode.
    55
    66[[PageOutline]]
     7
     8The GIET_VM interrupt handler supports only the SOCLIB ''vci_xcu'' interrupt controler, and does not support the ''vci_icu'' interrupt controler. In a multi-cluster architectures, it must exist one XCU controller in all clusters containing processors. Each multi-channel XCU component must contain as many channels as the number ofprocessors in the cluster (one output IRQ per processor).
    79
    810There is three interrupt vectors per processor (stored in each processor's scheduler) for the three HWI, PTI, and WTI interrupts types. Each interrupt vector entry contains three bits fields:
     
    1618
    1719 === void '''_irq_demux'''() ===
    18 This function access the ICU or XCU component (Interrupt Controler Unit) to get the interrupt vector entry. There is one ICU or XICU component per cluster, and these components support several output IRQs (one output IRQ per processor in a given cluster).
    19 It uses the [source:soft/giet_vm/giet_drivers/xcu_driver.c _xcu_get_index()] or  [source:soft/giet_vm/giet_drivers/icu_driver.c _icu_get_index()] functions to get the IRQ type (HWI / PTI / WTI), and the index in the corresponding interrupt vector.
     20This function access the XCU component to get the interrupt vector entry: 
     21It uses the [source:soft/giet_vm/giet_drivers/xcu_driver.c _xcu_get_index()]  functions to get the IRQ type ( HWI / PTI / WTI ), and the index in the corresponding interrupt vector.
    2022Any index value larger than 31 means "no active interrupt", and the default ISR is executed.
    2123