Example #1
0
File: syscall.c Project: G-VAR/seL4
exception_t
handleInterruptEntry(void)
{
    irq_t irq;

    irq = getActiveIRQ();
#if defined(DEBUG) || defined(CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES)
    ksKernelEntry.path = Entry_Interrupt;
    ksKernelEntry.word = irq;
#endif /* DEBUG */

#ifdef CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES
    benchmark_track_start();
#endif

    if (irq != irqInvalid) {
        handleInterrupt(irq);
    } else {
#ifdef CONFIG_IRQ_REPORTING
        printf("Spurious interrupt\n");
#endif
        handleSpuriousIRQ();
    }

    schedule();
    activateThread();

#ifdef CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES
    benchmark_track_exit();
#endif

    return EXCEPTION_NONE;
}
Example #2
0
File: syscall.c Project: dnm/seL4
exception_t
handleInterruptEntry(void)
{
    irq_t irq;

    irq = getActiveIRQ();
    if (irq != irqInvalid) {
        handleInterrupt(irq);
    } else {
        printf("Spurious interrupt\n");
        handleSpuriousIRQ();
    }

    schedule();
    activateThread();

    return EXCEPTION_NONE;
}
Example #3
0
exception_t
handleInterruptEntry(void)
{
    irq_t irq;
    //printf("==in handleInterruptEntry function===\n");
    irq = getActiveIRQ();
    if (irq != irqInvalid) {
        //printf("will call hanleInterrupt function\n");
        handleInterrupt(irq);
    } else {
        //printf("Spurious interrupt\n");
        handleSpuriousIRQ();
    }
    //printf("will schedule\n");
    schedule();
    activateThread();

    return EXCEPTION_NONE;
}
Example #4
0
exception_t
handleInterruptEntry(void)
{
    irq_t irq;

    irq = getActiveIRQ();
#ifdef DEBUG
    ksKernelEntry.path = Debug_Interrupt;
    ksKernelEntry.irq = irq;
#endif /* DEBUG */
    if (irq != irqInvalid) {
        handleInterrupt(irq);
    } else {
#ifdef CONFIG_IRQ_REPORTING
        printf("Spurious interrupt\n");
#endif
        handleSpuriousIRQ();
    }

    schedule();
    activateThread();

    return EXCEPTION_NONE;
}