zephyr/samples/microkernel/test/test_task_irq
Dmitriy Korovkin f1420515a7 irq: Add flags to IRQ_CONNECT_STATIC() macro and irq_connect() function
Flags allow passing IRQ triggering option for x86 architecture.
Each platform defines flags for a particular device and then
device driver uses them when registers the interrupt handler.

The change in API means that device drivers and sample
applications need to use the new API.

IRQ triggering configuration is now handled by device drivers
by using flags passed to interrupt registering API:
IRQ_CONNECT_STATIC() or irq_connect()

Change-Id: Ibc4312ea2b4032a2efc5b913c6389f780a2a11d1
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:24:44 -05:00
..
src irq: Add flags to IRQ_CONNECT_STATIC() macro and irq_connect() function 2016-02-05 20:24:44 -05:00
Makefile Renames supported platform configurations 2016-02-05 20:14:39 -05:00
prj_arm.conf samples: remove explicit enabling of SW_ISR_TABLE/DYNAMIC 2016-02-05 20:13:45 -05:00
prj_x86.conf First commit 2015-04-10 16:44:37 -07:00
prj.mdef Rename VPF files to use MDEF file extension 2016-02-05 20:14:15 -05:00
README.txt Update Title in sample project README.txt files 2016-02-05 20:15:21 -05:00
testcase.ini initial commit for next-gen sanity checks 2016-02-05 20:14:42 -05:00

Title: Task Level Interrupt Handling

Description:

This test exercises the APIs of the task level interrupt handling feature.

--------------------------------------------------------------------------------

Building and Running Project:

This microkernel project outputs to the console.  It can be built and executed
on QEMU as follows:

    make qemu

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

Starting task level interrupt handling tests
===================================================================
IRQ object 0 using IRQ8 allocated
IRQ object 1 using IRQ14 allocated

IRQ object 2 using IRQ32 allocated
IRQ object 3 using IRQ34 allocated

Generating interrupts for all allocated IRQ objects...
Received event for IRQ object 0
Received event for IRQ object 1
Received event for IRQ object 2
Received event for IRQ object 3

Attempt to allocate an IRQ object that
is already allocated by another task...
Re-allocation of IRQ object 3 prevented

Attempt to allocate an IRQ that
is already allocated by another task...
Re-allocation of IRQ34 prevented

Attempt to free an IRQ object...
IRQ object 2 freed
===================================================================
PROJECT EXECUTION SUCCESSFUL