Subversion Repositories Kolibri OS

Rev

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

Rev 2465 Rev 3500
Line 378... Line 378...
378
        xchg    eax, ebx
378
        xchg    eax, ebx
379
        call    IOAPIC_write
379
        call    IOAPIC_write
380
        ret
380
        ret
381
endp
381
endp
Line -... Line 382...
-
 
382
 
-
 
383
proc disable_irq stdcall, irq_line:dword
-
 
384
        mov     ebx, [irq_line]
-
 
385
        cmp     [irq_mode], IRQ_APIC
-
 
386
        je      .APIC
-
 
387
 
-
 
388
        mov     edx, 0x21
-
 
389
        cmp     ebx, 8
-
 
390
        jb      @F
-
 
391
 
-
 
392
        mov     edx, 0xA1
-
 
393
        sub     ebx, 8
-
 
394
@@:
-
 
395
        in      al, dx
-
 
396
        bts     eax, ebx
-
 
397
        out     dx, al
-
 
398
        ret
-
 
399
.APIC:
-
 
400
        shl     ebx, 1
-
 
401
        add     ebx, 0x10
-
 
402
        mov     eax, ebx
-
 
403
        call    IOAPIC_read
-
 
404
        or      eax, 0x10000; bit 16
-
 
405
        xchg    eax, ebx
-
 
406
        call    IOAPIC_write
-
 
407
        ret
-
 
408
endp
382
 
409
 
383
align 4
410
align 4
Line 384... Line 411...
384
pci_irq_fixup:
411
pci_irq_fixup:
Line 417... Line 444...
417
.done:
444
.done:
418
.fail:
445
.fail:
419
        pop ebp
446
        pop ebp
420
        ret
447
        ret
Line -... Line 448...
-
 
448
 
421
 
449
if 0
422
align 4
450
align 4
423
start_ap:
451
start_ap:
Line 424... Line 452...
424
;eax= cpu id
452
;eax= cpu id
Line 446... Line 474...
446
        mov     [esi+APIC_ICRH], eax
474
        mov     [esi+APIC_ICRH], eax
447
        mov     [esi+APIC_ICRL], dword CMD_IPI_START
475
        mov     [esi+APIC_ICRL], dword CMD_IPI_START
448
.exit:
476
.exit:
449
        ret
477
        ret
Line -... Line 478...
-
 
478
 
-
 
479
end if