/kernel/branches/Kolibri-acpi/core/heap.inc |
---|
7,6 → 7,7 |
$Revision$ |
HASH_IT = 1 |
struc MEM_BLOCK |
{ |
278,6 → 279,8 |
proc alloc_kernel_space stdcall, size:dword |
local block_ind:DWORD |
; xchg bx, bx |
push ebx |
push esi |
push edi |
383,6 → 386,8 |
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 |
561,8 → 566,7 |
call mutex_unlock |
mov eax, [esi+block_base] |
mov ecx, [esi+block_size] |
mov ecx, [esi+block_size]; |
shr ecx, 12 |
call release_pages ;eax, ecx |
stdcall free_kernel_space, [base] |
/kernel/branches/Kolibri-acpi/core/v86.inc |
---|
898,8 → 898,10 |
pop ecx |
.cont: |
loop .scan |
mov ecx, edi |
call irq_eoi |
mov eax, edi |
call IRQ_EOI |
popad |
iretd |
.found: |
/kernel/branches/Kolibri-acpi/core/sched.inc |
---|
27,8 → 27,8 |
add [next_usage_update],100 |
call updatecputimes |
.nocounter: |
xor ecx, ecx ; send End Of Interrupt signal |
call irq_eoi |
mov al, 0 ; send End Of Interrupt signal |
call IRQ_EOI |
btr dword[DONT_SWITCH], 0 |
jc .return |
call find_next_task |
/kernel/branches/Kolibri-acpi/core/irq.inc |
---|
184,9 → 184,8 |
.exit: |
mov [check_idle_semaphore],5 |
mov ecx, ebp |
call irq_eoi |
mov eax, ebp |
call IRQ_EOI |
restore_ring3_context |
add esp, 4 |
iret |
197,8 → 196,8 |
push ecx |
xor eax,eax |
out 0xf0,al |
mov cl, 13 |
call irq_eoi |
mov eax, 13 |
call IRQ_EOI |
pop ecx |
pop eax |
iret |
/kernel/branches/Kolibri-acpi/core/apic.inc |
---|
339,19 → 339,17 |
ret |
; ----------------------------------------- |
; End Of Interrupt |
; cl - IRQ number |
; al - IRQ number |
align 16 |
irq_eoi: ; __fastcall |
IRQ_EOI: |
test dword[APIC], 0xffffffff |
jnz .APIC |
cmp cl, 8 |
cmp al, 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/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 esi, -ERROR_FILE_NOT_FOUND |
mov ecx, -ERROR_FILE_NOT_FOUND |
test eax, eax |
jz .err_file |
136,10 → 136,13 |
lea ebx, [hdr_cmdline] |
call test_app_header |
mov esi, -0x1F |
mov ecx, -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 |
156,7 → 159,7 |
call get_new_process_place |
test eax, eax |
mov esi, -0x20 ; too many processes |
mov ecx, -0x20 ; too many processes |
jz .err |
mov [slot], eax |
191,7 → 194,7 |
mov [save_cr3], ebx |
stdcall create_app_space,[hdr_mem],[file_base],[file_size] |
mov esi, -30 ; no memory |
mov ecx, -30 ; no memory |
test eax, eax |
jz .failed |
247,7 → 250,7 |
.err_file: |
xor eax, eax |
mov [application_table_status],eax |
mov eax, esi |
mov eax, ecx |
ret |
endp |
/kernel/branches/Kolibri-acpi/core/peload.inc |
---|
314,7 → 314,6 |
pci_write16, 'PciWrite16', \ ; stdcall |
pci_write32, 'PciWrite32', \ ; stdcall |
\ |
get_pid, 'GetPid', \ |
get_service, 'GetService', \ ; |
reg_service, 'RegService', \ ; stdcall |
attach_int_handler, 'AttachIntHandler', \ ; stdcall |