Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2014 → Rev 2015

/kernel/branches/Kolibri-acpi/bus/pci/pci32.inc
652,3 → 652,47
.return_a:
mov dword[esp + 32], eax
ret
 
align 4
 
pci_irq_fixup:
 
push ebp
 
stdcall load_file, dev_data_path
test eax, eax
jz .fail
 
push eax
 
mov esi, eax
lea edi, [eax+ebx]
 
.iterate:
 
cmp esi, edi
jae .done
 
mov eax, [esi]
cmp eax, -1
je .done
 
movzx ebx, al
movzx ebp, ah
 
stdcall pci_read32, ebp, ebx, 0
 
cmp eax, [esi+4]
jne .skip
 
mov eax, [esi+8]
stdcall pci_write8, ebp, ebx, 0x3C, eax
.skip:
add esi, 16
jmp .iterate
 
.done:
call kernel_free ;and pop file base from stack
.fail:
pop ebp
ret
/kernel/branches/Kolibri-acpi/data32.inc
114,6 → 114,7
vrr_m db 'VRR_M',0
kernel_file db 'KERNEL MNT'
 
dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0
 
align 4
 
/kernel/branches/Kolibri-acpi/drivers/sound.asm
334,7 → 334,37
mov esi, msgDone
call SysMsgBoardStr
 
stdcall AttachIntHandler, 17, ac97_irq, dword 0
if IRQ_REMAP
pushf
cli
 
mov ebx, [ctrl.int_line]
in al, 0xA1
mov ah, al
in al, 0x21
test ebx, ebx
jz .skip
bts ax, bx ;mask old line
.skip
bts ax, IRQ_LINE ;mask new ine
out 0x21, al
mov al, ah
out 0xA1, al
;remap IRQ
stdcall PciWrite8, 0, 0xF8, 0x61, IRQ_LINE
 
mov dx, 0x4d0 ;8259 ELCR1
in al, dx
bts ax, IRQ_LINE
out dx, al ;set level-triggered mode
mov [ctrl.int_line], IRQ_LINE
popf
mov esi, msgRemap
call SysMsgBoardStr
end if
 
mov ebx, [ctrl.int_line]
stdcall AttachIntHandler, ebx, ac97_irq, dword 0
.reg:
stdcall RegService, sz_sound_srv, service_proc
ret
511,7 → 541,7
stdcall [ctrl.user_callback], ebx
.done:
pop eax
and eax, 0x40
; and eax, 0x40
mov edx, CTRL_STAT
call [ctrl.ctrl_write32]
ret
/kernel/branches/Kolibri-acpi/gui/mouse.inc
306,6 → 306,7
call sys_window_end_moving_handler
 
.exit:
and [mouse.active_sys_window.action], 0
ret
 
align 4
/kernel/branches/Kolibri-acpi/kernel.asm
563,7 → 563,7
 
mov edi, irq_tab
xor eax, eax
mov ecx, 16
mov ecx, IRQ_RESERVE
rep stosd
 
;Set base of graphic segment to linear address of LFB
613,6 → 613,8
; Try to Initialize APIC
call APIC_init
 
call pci_irq_fixup
 
; Enable timer IRQ (IRQ0) and hard drives IRQs (IRQ14, IRQ15)
; they are used: when partitions are scanned, hd_read relies on timer
call unmask_timer