Rev 1909 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1909 | Rev 1919 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | #include <genarch/kbd/z8530.h> |
37 | #include <genarch/kbd/z8530.h> |
38 | #include <genarch/kbd/key.h> |
38 | #include <genarch/kbd/key.h> |
39 | #include <genarch/kbd/scanc.h> |
39 | #include <genarch/kbd/scanc.h> |
40 | #include <genarch/kbd/scanc_sun.h> |
40 | #include <genarch/kbd/scanc_sun.h> |
41 | #include <arch/drivers/z8530.h> |
41 | #include <arch/drivers/z8530.h> |
- | 42 | #include <irq.h> |
|
42 | #include <arch/interrupt.h> |
43 | #include <arch/interrupt.h> |
43 | #include <arch/drivers/kbd.h> |
44 | #include <arch/drivers/kbd.h> |
- | 45 | #include <arch/drivers/fhc.h> |
|
44 | #include <cpu.h> |
46 | #include <cpu.h> |
45 | #include <arch/asm.h> |
47 | #include <arch/asm.h> |
46 | #include <arch.h> |
48 | #include <arch.h> |
47 | #include <typedefs.h> |
49 | #include <typedefs.h> |
48 | #include <console/chardev.h> |
50 | #include <console/chardev.h> |
Line 167... | Line 169... | ||
167 | key_pressed(x); |
169 | key_pressed(x); |
168 | } |
170 | } |
169 | } |
171 | } |
170 | } |
172 | } |
171 | 173 | ||
- | 174 | irq_ownership_t z8530_claim(void) |
|
- | 175 | { |
|
- | 176 | return (z8530_read_a(RR0) & RR0_RCA); |
|
- | 177 | } |
|
- | 178 | ||
- | 179 | void z8530_irq_handler(irq_t *irq, void *arg, ...) |
|
- | 180 | { |
|
- | 181 | /* |
|
- | 182 | * So far, we know we got this interrupt through the FHC. |
|
- | 183 | * Since we don't have enough information about the FHC and |
|
- | 184 | * because the interrupt looks like level sensitive, |
|
- | 185 | * we cannot handle it by scheduling one of the level |
|
- | 186 | * interrupt traps. Process the interrupt directly. |
|
- | 187 | */ |
|
- | 188 | if (z8530_belongs_to_kernel) |
|
- | 189 | z8530_interrupt(); |
|
- | 190 | else |
|
- | 191 | ipc_irq_send_notif(0); |
|
- | 192 | fhc_clear_interrupt(central_fhc, irq->inr); |
|
- | 193 | } |
|
- | 194 | ||
172 | /** @} |
195 | /** @} |
173 | */ |
196 | */ |