Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/mach/msim/msim.c

    rc5429fe r124bc22  
    3535
    3636#include <arch/mach/msim/msim.h>
     37#include <arch/mach/msim/dorder.h>
    3738#include <console/console.h>
    3839#include <sysinfo/sysinfo.h>
    39 #include <arch/drivers/msim.h>
    4040#include <genarch/drivers/dsrln/dsrlnin.h>
    4141#include <genarch/drivers/dsrln/dsrlnout.h>
    4242#include <genarch/srln/srln.h>
     43#include <stdbool.h>
    4344
    4445static void msim_init(void);
     
    6061};
    6162
     63static void msim_irq_handler(unsigned int i)
     64{
     65        irq_t *irq = irq_dispatch_and_lock(i);
     66        if (irq) {
     67                irq->handler(irq);
     68                irq_spinlock_unlock(&irq->lock, false);
     69        } else {
     70#ifdef CONFIG_DEBUG
     71                log(LF_ARCH, LVL_DEBUG, "cpu%u: spurious IRQ (irq=%u)",
     72                    CPU->id, i);
     73#endif
     74        }
     75}
     76
    6277void msim_init(void)
    6378{
     79        irq_init(HW_INTERRUPTS, HW_INTERRUPTS);
     80
     81        int_handler[INT_HW0] = msim_irq_handler;
     82        int_handler[INT_HW1] = msim_irq_handler;
     83        int_handler[INT_HW2] = msim_irq_handler;
     84        int_handler[INT_HW3] = msim_irq_handler;
     85        int_handler[INT_HW4] = msim_irq_handler;
     86
     87        dorder_init();
    6488        cp0_unmask_int(MSIM_DDISK_IRQ);
    6589}
     
    80104{
    81105#ifdef CONFIG_MSIM_PRN
    82         outdev_t *dsrlndev = dsrlnout_init((ioport8_t *) MSIM_KBD_ADDRESS);
     106        outdev_t *dsrlndev = dsrlnout_init((ioport8_t *) MSIM_KBD_ADDRESS,
     107            KSEG12PA(MSIM_KBD_ADDRESS));
    83108        if (dsrlndev)
    84109                stdout_wire(dsrlndev);
Note: See TracChangeset for help on using the changeset viewer.