Rev 4123 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4123 | Rev 4148 | ||
---|---|---|---|
Line 38... | Line 38... | ||
38 | #include <console/chardev.h> |
38 | #include <console/chardev.h> |
39 | #include <arch/drivers/pic.h> |
39 | #include <arch/drivers/pic.h> |
40 | #include <sysinfo/sysinfo.h> |
40 | #include <sysinfo/sysinfo.h> |
41 | #include <interrupt.h> |
41 | #include <interrupt.h> |
42 | #include <stdarg.h> |
42 | #include <stdarg.h> |
- | 43 | #include <ddi/device.h> |
|
43 | 44 | ||
44 | #define CUDA_IRQ 10 |
45 | #define CUDA_IRQ 10 |
45 | #define SPECIAL '?' |
46 | #define SPECIAL '?' |
46 | 47 | ||
47 | #define PACKET_ADB 0x00 |
48 | #define PACKET_ADB 0x00 |
Line 239... | Line 240... | ||
239 | static irq_ownership_t cuda_claim(irq_t *irq) |
240 | static irq_ownership_t cuda_claim(irq_t *irq) |
240 | { |
241 | { |
241 | return IRQ_ACCEPT; |
242 | return IRQ_ACCEPT; |
242 | } |
243 | } |
243 | 244 | ||
244 | void cuda_init(devno_t devno, uintptr_t base, size_t size) |
245 | void cuda_init(uintptr_t base, size_t size) |
245 | { |
246 | { |
246 | cuda = (uint8_t *) hw_map(base, size); |
247 | cuda = (uint8_t *) hw_map(base, size); |
247 | 248 | ||
248 | indev_initialize("cuda_kbd", &kbrd, &ops); |
249 | indev_initialize("cuda_kbd", &kbrd, &ops); |
249 | stdin = &kbrd; |
250 | stdin = &kbrd; |
250 | 251 | ||
251 | irq_initialize(&cuda_irq); |
252 | irq_initialize(&cuda_irq); |
252 | cuda_irq.devno = devno; |
253 | cuda_irq.devno = device_assign_devno(); |
253 | cuda_irq.inr = CUDA_IRQ; |
254 | cuda_irq.inr = CUDA_IRQ; |
254 | cuda_irq.claim = cuda_claim; |
255 | cuda_irq.claim = cuda_claim; |
255 | cuda_irq.handler = cuda_irq_handler; |
256 | cuda_irq.handler = cuda_irq_handler; |
256 | irq_register(&cuda_irq); |
257 | irq_register(&cuda_irq); |
257 | 258 | ||
258 | pic_enable_interrupt(CUDA_IRQ); |
259 | pic_enable_interrupt(CUDA_IRQ); |
259 | 260 | ||
260 | sysinfo_set_item_val("kbd", NULL, true); |
261 | sysinfo_set_item_val("kbd", NULL, true); |
261 | sysinfo_set_item_val("kbd.devno", NULL, devno); |
- | |
262 | sysinfo_set_item_val("kbd.inr", NULL, CUDA_IRQ); |
262 | sysinfo_set_item_val("kbd.inr", NULL, CUDA_IRQ); |
263 | sysinfo_set_item_val("kbd.address.virtual", NULL, base); |
263 | sysinfo_set_item_val("kbd.address.virtual", NULL, base); |
264 | } |
264 | } |
265 | 265 | ||
266 | 266 |