Rev 2113 | Rev 2129 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2113 | Rev 2118 | ||
---|---|---|---|
Line 141... | Line 141... | ||
141 | proc detach_int_handler |
141 | proc detach_int_handler |
Line 142... | Line 142... | ||
142 | 142 | ||
143 | ret |
143 | ret |
Line 144... | Line -... | ||
144 | endp |
- | |
145 | - | ||
146 | align 4 |
- | |
147 | proc enable_irq stdcall, irq_line:dword |
- | |
148 | mov ebx, [irq_line] |
- | |
149 | mov edx, 0x21 |
- | |
150 | cmp ebx, 8 |
- | |
151 | jb @F |
- | |
152 | mov edx, 0xA1 |
- | |
153 | sub ebx,8 |
- | |
154 | @@: |
- | |
155 | in al,dx |
- | |
156 | btr eax, ebx |
- | |
157 | out dx, al |
- | |
158 | ret |
- | |
Line 159... | Line 144... | ||
159 | endp |
144 | endp |
160 | 145 | ||
161 | 146 | ||
162 | macro irq_serv_h [num] { |
147 | macro irq_serv_h [num] { |
Line 244... | Line 229... | ||
244 | 229 | ||
245 | inc [irq_failed+ebp*4] |
230 | inc [irq_failed+ebp*4] |
246 | .exit: |
231 | .exit: |
Line 247... | Line -... | ||
247 | mov [check_idle_semaphore],5 |
- | |
248 | 232 | mov [check_idle_semaphore],5 |
|
249 | cmp bp, 8 |
- | |
250 | mov al, 0x20 |
- | |
251 | jb @f |
- | |
252 | out 0xa0, al |
233 | |
Line 253... | Line 234... | ||
253 | @@: |
234 | mov ecx, ebp |
254 | out 0x20, al |
235 | call irq_eoi |
255 | 236 | ||
Line -... | Line 237... | ||
- | 237 | restore_ring3_context |
|
- | 238 | add esp, 4 |
|
- | 239 | iret |
|
- | 240 | ||
- | 241 | align 4 |
|
- | 242 | irqD: |
|
- | 243 | push eax |
|
- | 244 | push ecx |
|
- | 245 | xor eax,eax |
|
- | 246 | out 0xf0,al |
|
- | 247 | mov cl, 13 |