Changeset 124bc22 in mainline for kernel/arch/mips32/src/exception.c


Ignore:
Timestamp:
2019-04-04T18:08:51Z (5 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5d97627
Parents:
e064102
Message:

Reorganize interrupt and IRQ handling on mips32

This allows msim to use MIPS CPU interrupt numbers as IRQ numbers and
Malta to use ISA IRQ numbers as IRQ numbers. Common code can still
register MIPS CPU interrupts by their respective numbers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/exception.c

    re064102 r124bc22  
    4747#include <symtab.h>
    4848#include <log.h>
     49#include <arch/machine_func.h>
    4950
    5051static const char *exctable[] = {
     
    174175
    175176        unsigned int i;
    176         for (i = 0; i < 8; i++) {
     177        for (i = 0; i < INTERRUPTS; i++) {
    177178
    178179                /*
     
    183184                 */
    184185                if (im & ip & (1 << i)) {
    185                         irq_t *irq = irq_dispatch_and_lock(i);
    186                         if (irq) {
    187                                 /*
    188                                  * The IRQ handler was found.
    189                                  */
    190                                 irq->handler(irq);
    191                                 if (irq->cir)
    192                                         irq->cir(irq->cir_arg, i);
    193                                 irq_spinlock_unlock(&irq->lock, false);
    194                         } else {
     186                        if (int_handler[i])
     187                                int_handler[i](i);
     188                        else {
    195189                                /*
    196190                                 * Spurious interrupt.
Note: See TracChangeset for help on using the changeset viewer.