Rev 895 | Rev 1193 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 895 | Rev 958 | ||
---|---|---|---|
Line 263... | Line 263... | ||
263 | SPECIAL, /* 0x7d */ |
263 | SPECIAL, /* 0x7d */ |
264 | SPECIAL, /* 0x7e */ |
264 | SPECIAL, /* 0x7e */ |
265 | SPECIAL, /* 0x7f */ |
265 | SPECIAL, /* 0x7f */ |
266 | }; |
266 | }; |
267 | 267 | ||
268 | static void i8042_interrupt(int n, void *stack); |
268 | static void i8042_interrupt(int n, istate_t *istate); |
269 | static void i8042_wait(void); |
269 | static void i8042_wait(void); |
270 | 270 | ||
271 | /** Initialize i8042. */ |
271 | /** Initialize i8042. */ |
272 | void i8042_init(void) |
272 | void i8042_init(void) |
273 | { |
273 | { |
274 | exc_register(VECTOR_KBD, "i8042_interrupt", i8042_interrupt); |
274 | exc_register(VECTOR_KBD, "i8042_interrupt", (iroutine) i8042_interrupt); |
275 | i8042_wait(); |
275 | i8042_wait(); |
276 | i8042_command_write(i8042_SET_COMMAND); |
276 | i8042_command_write(i8042_SET_COMMAND); |
277 | i8042_wait(); |
277 | i8042_wait(); |
278 | i8042_data_write(i8042_COMMAND); |
278 | i8042_data_write(i8042_COMMAND); |
279 | i8042_wait(); |
279 | i8042_wait(); |
Line 286... | Line 286... | ||
286 | /** Process i8042 interrupt. |
286 | /** Process i8042 interrupt. |
287 | * |
287 | * |
288 | * @param n Interrupt vector. |
288 | * @param n Interrupt vector. |
289 | * @param stack Interrupted stack. |
289 | * @param stack Interrupted stack. |
290 | */ |
290 | */ |
291 | void i8042_interrupt(int n, void *stack) |
291 | void i8042_interrupt(int n, istate_t *istate) |
292 | { |
292 | { |
293 | __u8 x; |
293 | __u8 x; |
294 | 294 | ||
295 | trap_virtual_eoi(); |
295 | trap_virtual_eoi(); |
296 | x = i8042_data_read(); |
296 | x = i8042_data_read(); |