Subversion Repositories Kolibri OS

Rev

Rev 3509 | Rev 3512 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3509 Rev 3511
Line 243... Line 243...
243
        jz      .try_next_irq
243
        jz      .try_next_irq
244
        push    [ebx+IRQH.data]
244
        push    [ebx+IRQH.data]
245
        call    [ebx+IRQH.handler]
245
        call    [ebx+IRQH.handler]
246
        pop     ecx
246
        pop     ecx
247
        test    eax, eax
247
        test    eax, eax
248
        jnz     .found_in_wrong_list
248
        jz      .try_next_handler
-
 
249
 
-
 
250
.found_in_wrong_list:
-
 
251
        DEBUGF 1,'K : warning: relinking handler from IRQ%d to IRQ%d\n',\
-
 
252
                ebp, [esp]
-
 
253
        spin_lock_irqsave IrqsList
-
 
254
        list_del ebx
-
 
255
        pop     ebp
-
 
256
        lea     edx, [irqh_tab+ebp*8]
-
 
257
        list_add_tail ebx, edx
-
 
258
        spin_unlock_irqrestore IrqsList
-
 
259
        jmp     .exit
-
 
260
 
249
.try_next_irq:
261
.try_next_irq:
250
        inc     ebp
262
        inc     ebp
251
        cmp     ebp, 16
263
        cmp     ebp, 16
252
        jb      .try_other_irqs
264
        jb      .try_other_irqs
253
        pop     ebp
265
        pop     ebp
Line 262... Line 274...
262
 
274
 
263
        restore_ring3_context
275
        restore_ring3_context
264
        add     esp, 4
276
        add     esp, 4
Line 265... Line -...
265
        iret
-
 
266
 
-
 
267
.found_in_wrong_list:
-
 
268
        DEBUGF 1,'K : warning: relinking handler from IRQ%d to IRQ%d\n',\
-
 
269
                ebp, [esp]
-
 
270
        spin_lock_irqsave IrqsList
-
 
271
        list_del ebx
-
 
272
        pop     ebp
-
 
273
        lea     edx, [irqh_tab+ebp*8]
-
 
274
        list_add_tail ebx, edx
-
 
275
        spin_unlock_irqrestore IrqsList
-
 
276
        jmp     .exit
277
        iret
277
 
278
 
278
align 4
279
align 4
279
irqD:
280
irqD:
280
        push    eax
281
        push    eax