/kernel/branches/Kolibri-acpi/core/apic.inc |
---|
339,17 → 339,19 |
ret |
; ----------------------------------------- |
; End Of Interrupt |
; al - IRQ number |
; cl - IRQ number |
align 16 |
IRQ_EOI: |
irq_eoi: ; __fastcall |
test dword[APIC], 0xffffffff |
jnz .APIC |
cmp al, 8 |
cmp cl, 8 |
mov al, 0x20 |
jb @f |
out 0xa0, al |
@@: out 0x20, al |
@@: |
out 0x20, al |
ret |
.APIC: |
mov eax, [LAPIC_BASE] |
mov dword [eax + APIC_EOI], 0 ; EOI |
/kernel/branches/Kolibri-acpi/core/heap.inc |
---|
7,7 → 7,6 |
$Revision$ |
HASH_IT = 1 |
struc MEM_BLOCK |
{ |
279,8 → 278,6 |
proc alloc_kernel_space stdcall, size:dword |
local block_ind:DWORD |
; xchg bx, bx |
push ebx |
push esi |
push edi |
386,8 → 383,6 |
align 4 |
proc free_kernel_space stdcall uses ebx ecx edx esi edi, base:dword |
; xchg bx, bx |
mov ecx, heap_mutex |
call mutex_lock |
566,7 → 561,8 |
call mutex_unlock |
mov ecx, [esi+block_size]; |
mov eax, [esi+block_base] |
mov ecx, [esi+block_size] |
shr ecx, 12 |
call release_pages ;eax, ecx |
stdcall free_kernel_space, [base] |
/kernel/branches/Kolibri-acpi/core/irq.inc |
---|
184,8 → 184,9 |
.exit: |
mov [check_idle_semaphore],5 |
mov eax, ebp |
call IRQ_EOI |
mov ecx, ebp |
call irq_eoi |
restore_ring3_context |
add esp, 4 |
iret |
196,8 → 197,8 |
push ecx |
xor eax,eax |
out 0xf0,al |
mov eax, 13 |
call IRQ_EOI |
mov cl, 13 |
call irq_eoi |
pop ecx |
pop eax |
iret |
/kernel/branches/Kolibri-acpi/core/peload.inc |
---|
314,6 → 314,7 |
pci_write16, 'PciWrite16', \ ; stdcall |
pci_write32, 'PciWrite32', \ ; stdcall |
\ |
get_pid, 'GetPid', \ |
get_service, 'GetService', \ ; |
reg_service, 'RegService', \ ; stdcall |
attach_int_handler, 'AttachIntHandler', \ ; stdcall |
/kernel/branches/Kolibri-acpi/core/sched.inc |
---|
27,8 → 27,8 |
add [next_usage_update],100 |
call updatecputimes |
.nocounter: |
mov al, 0 ; send End Of Interrupt signal |
call IRQ_EOI |
xor ecx, ecx ; send End Of Interrupt signal |
call irq_eoi |
btr dword[DONT_SWITCH], 0 |
jc .return |
call find_next_task |
/kernel/branches/Kolibri-acpi/core/sys32.inc |
---|
128,7 → 128,7 |
reg_edi equ esp+0x00 |
mov ax, app_data ;èñêëþ÷åíèå |
mov ds, ax ;çàãðóçèì ïðàâèëüíûå çíà÷åíè |
mov ds, ax ;çàãðóçèì ïðàâèëüíûå çíà÷åíèÿ |
mov es, ax ;â ðåãèñòðû |
cld ; è ïðèâîäèì DF ê ñòàíäàðòó |
movzx ebx,bl |
/kernel/branches/Kolibri-acpi/core/taskman.inc |
---|
127,7 → 127,7 |
@@: |
lea eax, [filename] |
stdcall load_file, eax |
mov ecx, -ERROR_FILE_NOT_FOUND |
mov esi, -ERROR_FILE_NOT_FOUND |
test eax, eax |
jz .err_file |
136,13 → 136,10 |
lea ebx, [hdr_cmdline] |
call test_app_header |
mov ecx, -0x1F |
mov esi, -0x1F |
test eax, eax |
jz .err_hdr |
;mov esi, new_process_loading |
;call sys_msg_board_str ; write message to message board |
.wait_lock: |
cmp [application_table_status],0 |
je .get_lock |
159,7 → 156,7 |
call get_new_process_place |
test eax, eax |
mov ecx, -0x20 ; too many processes |
mov esi, -0x20 ; too many processes |
jz .err |
mov [slot], eax |
194,7 → 191,7 |
mov [save_cr3], ebx |
stdcall create_app_space,[hdr_mem],[file_base],[file_size] |
mov ecx, -30 ; no memory |
mov esi, -30 ; no memory |
test eax, eax |
jz .failed |
250,7 → 247,7 |
.err_file: |
xor eax, eax |
mov [application_table_status],eax |
mov eax, ecx |
mov eax, esi |
ret |
endp |
/kernel/branches/Kolibri-acpi/core/v86.inc |
---|
898,10 → 898,8 |
pop ecx |
.cont: |
loop .scan |
mov eax, edi |
call IRQ_EOI |
mov ecx, edi |
call irq_eoi |
popad |
iretd |
.found: |