Rev 3951 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3951 | Rev 4148 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | #include <ipc/ipc.h> |
37 | #include <ipc/ipc.h> |
38 | #include <async.h> |
38 | #include <async.h> |
39 | #include <sysinfo.h> |
39 | #include <sysinfo.h> |
40 | #include <kbd_port.h> |
40 | #include <kbd_port.h> |
41 | #include <kbd.h> |
41 | #include <kbd.h> |
- | 42 | #include <ddi.h> |
|
42 | 43 | ||
43 | static irq_cmd_t gxemul_cmds[] = { |
44 | static irq_cmd_t gxemul_cmds[] = { |
44 | { |
45 | { |
45 | .cmd = CMD_PIO_READ_8, |
46 | .cmd = CMD_PIO_READ_8, |
46 | .addr = (void *) 0, /* will be patched in run-time */ |
47 | .addr = (void *) 0, /* will be patched in run-time */ |
Line 61... | Line 62... | ||
61 | /** Initializes keyboard handler. */ |
62 | /** Initializes keyboard handler. */ |
62 | int kbd_port_init(void) |
63 | int kbd_port_init(void) |
63 | { |
64 | { |
64 | async_set_interrupt_received(gxemul_irq_handler); |
65 | async_set_interrupt_received(gxemul_irq_handler); |
65 | gxemul_cmds[0].addr = (void *) sysinfo_value("kbd.address.virtual"); |
66 | gxemul_cmds[0].addr = (void *) sysinfo_value("kbd.address.virtual"); |
66 | ipc_register_irq(sysinfo_value("kbd.inr"), sysinfo_value("kbd.devno"), |
67 | ipc_register_irq(sysinfo_value("kbd.inr"), device_assign_devno(), |
67 | 0, &gxemul_kbd); |
68 | 0, &gxemul_kbd); |
68 | return 0; |
69 | return 0; |
69 | } |
70 | } |
70 | 71 | ||
71 | /** Process data sent when a key is pressed. |
72 | /** Process data sent when a key is pressed. |