Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2009 → Rev 2010

/kernel/branches/Kolibri-acpi/core/apic.inc
8,7 → 8,7
IRQ_RESERVE = 24 ; 16 or 24
 
iglobal
IRQ_COUNT dd 16
IRQ_COUNT dd 24
endg
 
uglobal
45,8 → 45,8
APIC_init:
mov dword[APIC], 0
; jmp .no_apic ; NO APIC
bt [cpu_caps], CAPS_APIC
jnc .no_apic
; bt [cpu_caps], CAPS_APIC
; jnc .no_apic
; Check for MP table
;.....
96,6 → 96,12
call LAPIC_init
mov dword[APIC], 0xffffffff
 
mov al, 0x70
out 0x22, al
mov al, 1
out 0x23, al
 
; mov dword[irq_type_to_set], IRQ_TYPE_APIC
.no_apic:
ret
/kernel/branches/Kolibri-acpi/core/dll.inc
17,6 → 17,9
align 4
proc attach_int_handler stdcall, irq:dword, handler:dword, access_rights:dword
 
pushfd
cli
 
push ebx
 
mov ebx, [irq] ;irq num
46,10 → 49,12
stdcall enable_irq, [irq]
pop ebx
mov eax, 1
popfd
ret
.err:
pop ebx
xor eax, eax
popfd
ret
endp
 
100,7 → 105,7
jmp .main
}
 
irq_serv_h 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12
irq_serv_h 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15
 
; I don`t known how to use IRQ_RESERVE
if IRQ_RESERVE > 16
118,6 → 123,26
cmp [v86_irqhooks+eax*8], 0
jnz v86_irq
 
cmp al, 6
jnz @f
push eax
call [fdc_irq_func]
pop eax
@@:
 
cmp al, 14
jnz @f
push eax
call [irq14_func]
pop eax
@@:
cmp al, 15
jnz @f
push eax
call [irq15_func]
pop eax
@@:
 
mov ebx, [irq_tab+eax*4]
test ebx, ebx
jz .exit
/kernel/branches/Kolibri-acpi/core/exports.inc
75,6 → 75,9
szSleep db 'Sleep',0
szGetTimerTicks db 'GetTimerTicks',0
 
szGetDisplay db 'GetDisplay',0
szSetScreen db 'SetScreen',0
 
szStrncat db 'strncat',0
szStrncpy db 'strncpy',0
szstrncmp db 'strncmp',0
147,6 → 150,9
dd szSleep , delay_ms
dd szGetTimerTicks , get_timer_ticks
 
dd szGetDisplay , get_display
dd szSetScreen , set_screen
 
dd szStrncat , strncat
dd szStrncpy , strncpy
dd szstrncmp , strncmp
/kernel/branches/Kolibri-acpi/core/memory.inc
1426,7 → 1426,7
mov ebx, [size]
dec ebx
mov eax, 0xFFFFFFFF
mov edx, 0x0000000F
mov edx, 0x00000000
sub eax, ebx
sbb edx, 0
or eax, 0x800
/kernel/branches/Kolibri-acpi/core/peload.inc
322,8 → 322,10
unmap_pages, 'UnmapPages', \ ; eax, ecx
sys_msg_board_str, 'SysMsgBoardStr', \
get_timer_ticks, 'GetTimerTicks', \
get_stack_base, 'GetStackBase', \
delay_hs, 'Delay', \ ; ebx
set_mouse_data, 'SetMouseData'
set_mouse_data, 'SetMouseData', \ ;
set_keyboard_data, 'SetKeyboardData' ; gcc fastcall
 
 
 
/kernel/branches/Kolibri-acpi/core/sys32.inc
46,11 → 46,9
else
dd p_irq3, p_irq4 ;??? íåñòûêîâêà
end if
dd irq_serv.irq_5, p_irq6, irq_serv.irq_7
dd irq_serv.irq_5, irq_serv.irq_6, irq_serv.irq_7
dd irq_serv.irq_8, irq_serv.irq_9, irq_serv.irq_10
dd irq_serv.irq_11, irq_serv.irq_12
dd irq13
dd p_irq14,p_irq15
dd irq_serv.irq_11, irq_serv.irq_12, irqD, irq_serv.irq_14, irq_serv.irq_15
; I don`t known how to use IRQ_RESERVE
if IRQ_RESERVE > 16
dd irq_serv.irq_16
208,6 → 206,14
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
; bl - error vector
show_error_parameters:
cmp bl, 0x06
jnz .no_ud
push ebx
mov ebx, ud_user_message
mov ebp, notifyapp
call fs_execute_from_sysdir_param
pop ebx
.no_ud:
mov edx,[TASK_BASE] ;not scratched below
DEBUGF 1, "K : Process - forced terminate PID: %x\n", [edx+TASKDATA.pid]
cmp bl, 0x08
/kernel/branches/Kolibri-acpi/core/syscall.inc
193,6 → 193,7
dd file_system_lfn ; 70-Common file system interface, version 2
dd syscall_window_settings ; 71-Window settings
dd sys_sendwindowmsg ; 72-Send window message
dd blit_32 ; blitter;
times 255 - ( ($-servetable2) /4 ) dd undefined_syscall
dd sys_end ; -1-end application
 
/kernel/branches/Kolibri-acpi/core/taskman.inc
48,6 → 48,7
 
fs_execute_from_sysdir:
xor ebx, ebx
fs_execute_from_sysdir_param:
xor edx, edx
mov esi, sysdir_path
 
1166,4 → 1167,13
ret
endp
 
 
align 4
 
get_stack_base:
mov eax,[current_slot]
mov eax,[eax+APPDATA.pl0_stack]
ret
 
 
include "debug.inc"