Rev 1936 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1936 | Rev 1944 | ||
---|---|---|---|
Line 118... | Line 118... | ||
118 | return IRQ_ACCEPT; |
118 | return IRQ_ACCEPT; |
119 | } |
119 | } |
120 | 120 | ||
121 | void msim_kbd_grab(void) |
121 | void msim_kbd_grab(void) |
122 | { |
122 | { |
- | 123 | ipl_t ipl = interrupts_disable(); |
|
- | 124 | spinlock_lock(&msim_irq.lock); |
|
123 | msim_irq.notif_cfg.notify = false; |
125 | msim_irq.notif_cfg.notify = false; |
- | 126 | spinlock_unlock(&msim_irq.lock); |
|
- | 127 | interrupts_restore(ipl); |
|
124 | } |
128 | } |
125 | 129 | ||
126 | void msim_kbd_release(void) |
130 | void msim_kbd_release(void) |
127 | { |
131 | { |
- | 132 | ipl_t ipl = interrupts_disable(); |
|
- | 133 | spinlock_lock(&msim_irq.lock); |
|
128 | if (msim_irq.notif_cfg.answerbox) |
134 | if (msim_irq.notif_cfg.answerbox) |
129 | msim_irq.notif_cfg.notify = true; |
135 | msim_irq.notif_cfg.notify = true; |
- | 136 | spinlock_unlock(&msim_irq.lock); |
|
- | 137 | interrupts_restore(ipl); |
|
130 | } |
138 | } |
131 | 139 | ||
132 | 140 | ||
133 | /* Return console object representing msim console */ |
141 | /* Return console object representing msim console */ |
134 | void msim_console(devno_t devno) |
142 | void msim_console(devno_t devno) |