Subversion Repositories HelenOS

Rev

Rev 4343 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4343 Rev 4344
Line 32... Line 32...
32
/** @file
32
/** @file
33
 */
33
 */
34
 
34
 
35
#include <interrupt.h>
35
#include <interrupt.h>
36
#include <arch/cp0.h>
36
#include <arch/cp0.h>
37
#include <ipc/irq.h>
-
 
38
#include <arch/drivers/serial.h>
37
#include <arch/drivers/serial.h>
39
#include <console/chardev.h>
38
#include <console/chardev.h>
40
#include <console/console.h>
39
#include <console/console.h>
41
 
40
 
42
#define SERIAL_IRQ 2
41
#define SERIAL_IRQ 2
Line 112... Line 111...
112
}
111
}
113
 
112
 
114
/** Process keyboard interrupt. Does not work in simics? */
113
/** Process keyboard interrupt. Does not work in simics? */
115
static void serial_irq_handler(irq_t *irq)
114
static void serial_irq_handler(irq_t *irq)
116
{
115
{
117
    if ((irq->notif_cfg.notify) && (irq->notif_cfg.answerbox))
-
 
118
        ipc_irq_send_notif(irq);
-
 
119
    else
-
 
120
        serial_handler();
116
    serial_handler();
121
}
117
}
122
 
118
 
123
static irq_ownership_t serial_claim(void *instance)
119
static irq_ownership_t serial_claim(irq_t *irq)
124
{
120
{
125
    return IRQ_ACCEPT;
121
    return IRQ_ACCEPT;
126
}
122
}
127
 
123
 
128
static chardev_operations_t serial_ops = {
124
static chardev_operations_t serial_ops = {