Rev 3969 | Rev 4148 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3969 | Rev 4026 | ||
|---|---|---|---|
| Line 39... | Line 39... | ||
| 39 | #include <async.h> |
39 | #include <async.h> |
| 40 | #include <sysinfo.h> |
40 | #include <sysinfo.h> |
| 41 | #include <kbd.h> |
41 | #include <kbd.h> |
| 42 | #include <kbd_port.h> |
42 | #include <kbd_port.h> |
| 43 | #include <sys/types.h> |
43 | #include <sys/types.h> |
| - | 44 | #include <ddi.h> |
|
| 44 | 45 | ||
| 45 | #define CHAN_A_STATUS 4 |
46 | #define CHAN_A_STATUS 4 |
| 46 | #define CHAN_A_DATA 6 |
47 | #define CHAN_A_DATA 6 |
| 47 | 48 | ||
| 48 | #define RR0_RCA 1 |
49 | #define RR0_RCA 1 |
| Line 82... | Line 83... | ||
| 82 | static void z8530_irq_handler(ipc_callid_t iid, ipc_call_t *call); |
83 | static void z8530_irq_handler(ipc_callid_t iid, ipc_call_t *call); |
| 83 | 84 | ||
| 84 | int kbd_port_init(void) |
85 | int kbd_port_init(void) |
| 85 | { |
86 | { |
| 86 | async_set_interrupt_received(z8530_irq_handler); |
87 | async_set_interrupt_received(z8530_irq_handler); |
| 87 | z8530_cmds[0].addr = (void *) sysinfo_value("kbd.address.virtual") + |
88 | z8530_cmds[0].addr = (void *) sysinfo_value("kbd.address.kernel") + |
| 88 | CHAN_A_STATUS; |
89 | CHAN_A_STATUS; |
| 89 | z8530_cmds[3].addr = (void *) sysinfo_value("kbd.address.virtual") + |
90 | z8530_cmds[3].addr = (void *) sysinfo_value("kbd.address.kernel") + |
| 90 | CHAN_A_DATA; |
91 | CHAN_A_DATA; |
| 91 | ipc_register_irq(sysinfo_value("kbd.inr"), sysinfo_value("kbd.devno"), |
92 | ipc_register_irq(sysinfo_value("kbd.inr"), sysinfo_value("kbd.devno"), |
| 92 | sysinfo_value("kbd.inr"), &z8530_kbd); |
93 | sysinfo_value("kbd.inr"), &z8530_kbd); |
| 93 | return 0; |
94 | return 0; |
| 94 | } |
95 | } |