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><><<> |