forked from KolibriOS/kolibrios
rename IRQ_EOI(irq) -> __fastcall irq_eoi(irq)
git-svn-id: svn://kolibrios.org@2166 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
cb9e74fce8
commit
6252cd9a99
@ -339,17 +339,19 @@ IRQ_mask_all:
|
|||||||
ret
|
ret
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
; End Of Interrupt
|
; End Of Interrupt
|
||||||
; al - IRQ number
|
; cl - IRQ number
|
||||||
align 16
|
align 16
|
||||||
IRQ_EOI:
|
irq_eoi: ; __fastcall
|
||||||
test dword[APIC], 0xffffffff
|
test dword[APIC], 0xffffffff
|
||||||
jnz .APIC
|
jnz .APIC
|
||||||
cmp al, 8
|
cmp cl, 8
|
||||||
mov al, 0x20
|
mov al, 0x20
|
||||||
jb @f
|
jb @f
|
||||||
out 0xa0, al
|
out 0xa0, al
|
||||||
@@: out 0x20, al
|
@@:
|
||||||
|
out 0x20, al
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.APIC:
|
.APIC:
|
||||||
mov eax, [LAPIC_BASE]
|
mov eax, [LAPIC_BASE]
|
||||||
mov dword [eax + APIC_EOI], 0 ; EOI
|
mov dword [eax + APIC_EOI], 0 ; EOI
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
$Revision$
|
$Revision$
|
||||||
|
|
||||||
HASH_IT = 1
|
|
||||||
|
|
||||||
struc MEM_BLOCK
|
struc MEM_BLOCK
|
||||||
{
|
{
|
||||||
@ -279,8 +278,6 @@ align 4
|
|||||||
proc alloc_kernel_space stdcall, size:dword
|
proc alloc_kernel_space stdcall, size:dword
|
||||||
local block_ind:DWORD
|
local block_ind:DWORD
|
||||||
|
|
||||||
; xchg bx, bx
|
|
||||||
|
|
||||||
push ebx
|
push ebx
|
||||||
push esi
|
push esi
|
||||||
push edi
|
push edi
|
||||||
@ -386,8 +383,6 @@ endp
|
|||||||
align 4
|
align 4
|
||||||
proc free_kernel_space stdcall uses ebx ecx edx esi edi, base:dword
|
proc free_kernel_space stdcall uses ebx ecx edx esi edi, base:dword
|
||||||
|
|
||||||
; xchg bx, bx
|
|
||||||
|
|
||||||
mov ecx, heap_mutex
|
mov ecx, heap_mutex
|
||||||
call mutex_lock
|
call mutex_lock
|
||||||
|
|
||||||
@ -566,7 +561,8 @@ proc kernel_free stdcall, base:dword
|
|||||||
|
|
||||||
call mutex_unlock
|
call mutex_unlock
|
||||||
|
|
||||||
mov ecx, [esi+block_size];
|
mov eax, [esi+block_base]
|
||||||
|
mov ecx, [esi+block_size]
|
||||||
shr ecx, 12
|
shr ecx, 12
|
||||||
call release_pages ;eax, ecx
|
call release_pages ;eax, ecx
|
||||||
stdcall free_kernel_space, [base]
|
stdcall free_kernel_space, [base]
|
||||||
|
@ -184,8 +184,9 @@ align 16
|
|||||||
.exit:
|
.exit:
|
||||||
mov [check_idle_semaphore],5
|
mov [check_idle_semaphore],5
|
||||||
|
|
||||||
mov eax, ebp
|
mov ecx, ebp
|
||||||
call IRQ_EOI
|
call irq_eoi
|
||||||
|
|
||||||
restore_ring3_context
|
restore_ring3_context
|
||||||
add esp, 4
|
add esp, 4
|
||||||
iret
|
iret
|
||||||
@ -196,8 +197,8 @@ irqD:
|
|||||||
push ecx
|
push ecx
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
out 0xf0,al
|
out 0xf0,al
|
||||||
mov eax, 13
|
mov cl, 13
|
||||||
call IRQ_EOI
|
call irq_eoi
|
||||||
pop ecx
|
pop ecx
|
||||||
pop eax
|
pop eax
|
||||||
iret
|
iret
|
||||||
|
@ -314,6 +314,7 @@ __exports:
|
|||||||
pci_write16, 'PciWrite16', \ ; stdcall
|
pci_write16, 'PciWrite16', \ ; stdcall
|
||||||
pci_write32, 'PciWrite32', \ ; stdcall
|
pci_write32, 'PciWrite32', \ ; stdcall
|
||||||
\
|
\
|
||||||
|
get_pid, 'GetPid', \
|
||||||
get_service, 'GetService', \ ;
|
get_service, 'GetService', \ ;
|
||||||
reg_service, 'RegService', \ ; stdcall
|
reg_service, 'RegService', \ ; stdcall
|
||||||
attach_int_handler, 'AttachIntHandler', \ ; stdcall
|
attach_int_handler, 'AttachIntHandler', \ ; stdcall
|
||||||
|
@ -27,8 +27,8 @@ irq0:
|
|||||||
add [next_usage_update],100
|
add [next_usage_update],100
|
||||||
call updatecputimes
|
call updatecputimes
|
||||||
.nocounter:
|
.nocounter:
|
||||||
mov al, 0 ; send End Of Interrupt signal
|
xor ecx, ecx ; send End Of Interrupt signal
|
||||||
call IRQ_EOI
|
call irq_eoi
|
||||||
btr dword[DONT_SWITCH], 0
|
btr dword[DONT_SWITCH], 0
|
||||||
jc .return
|
jc .return
|
||||||
call find_next_task
|
call find_next_task
|
||||||
|
@ -127,9 +127,9 @@ exc_c: ;
|
|||||||
reg_esi equ esp+0x04
|
reg_esi equ esp+0x04
|
||||||
reg_edi equ esp+0x00
|
reg_edi equ esp+0x00
|
||||||
|
|
||||||
mov ax, app_data ;исключение
|
mov ax, app_data ;исключение
|
||||||
mov ds, ax ;загрузим правильные значени
|
mov ds, ax ;загрузим правильные значения
|
||||||
mov es, ax ;в регистры
|
mov es, ax ;в регистры
|
||||||
cld ; è ïðèâîäèì DF ê ñòàíäàðòó
|
cld ; è ïðèâîäèì DF ê ñòàíäàðòó
|
||||||
movzx ebx,bl
|
movzx ebx,bl
|
||||||
; redirect to V86 manager? (EFLAGS & 0x20000) != 0?
|
; redirect to V86 manager? (EFLAGS & 0x20000) != 0?
|
||||||
|
@ -127,7 +127,7 @@ proc fs_execute
|
|||||||
@@:
|
@@:
|
||||||
lea eax, [filename]
|
lea eax, [filename]
|
||||||
stdcall load_file, eax
|
stdcall load_file, eax
|
||||||
mov ecx, -ERROR_FILE_NOT_FOUND
|
mov esi, -ERROR_FILE_NOT_FOUND
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .err_file
|
jz .err_file
|
||||||
|
|
||||||
@ -136,13 +136,10 @@ proc fs_execute
|
|||||||
|
|
||||||
lea ebx, [hdr_cmdline]
|
lea ebx, [hdr_cmdline]
|
||||||
call test_app_header
|
call test_app_header
|
||||||
mov ecx, -0x1F
|
mov esi, -0x1F
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .err_hdr
|
jz .err_hdr
|
||||||
|
|
||||||
;mov esi, new_process_loading
|
|
||||||
;call sys_msg_board_str ; write message to message board
|
|
||||||
|
|
||||||
.wait_lock:
|
.wait_lock:
|
||||||
cmp [application_table_status],0
|
cmp [application_table_status],0
|
||||||
je .get_lock
|
je .get_lock
|
||||||
@ -159,7 +156,7 @@ proc fs_execute
|
|||||||
|
|
||||||
call get_new_process_place
|
call get_new_process_place
|
||||||
test eax, eax
|
test eax, eax
|
||||||
mov ecx, -0x20 ; too many processes
|
mov esi, -0x20 ; too many processes
|
||||||
jz .err
|
jz .err
|
||||||
|
|
||||||
mov [slot], eax
|
mov [slot], eax
|
||||||
@ -194,7 +191,7 @@ proc fs_execute
|
|||||||
mov [save_cr3], ebx
|
mov [save_cr3], ebx
|
||||||
|
|
||||||
stdcall create_app_space,[hdr_mem],[file_base],[file_size]
|
stdcall create_app_space,[hdr_mem],[file_base],[file_size]
|
||||||
mov ecx, -30 ; no memory
|
mov esi, -30 ; no memory
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .failed
|
jz .failed
|
||||||
|
|
||||||
@ -250,7 +247,7 @@ end if
|
|||||||
.err_file:
|
.err_file:
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov [application_table_status],eax
|
mov [application_table_status],eax
|
||||||
mov eax, ecx
|
mov eax, esi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
@ -898,10 +898,8 @@ v86_irq2:
|
|||||||
pop ecx
|
pop ecx
|
||||||
.cont:
|
.cont:
|
||||||
loop .scan
|
loop .scan
|
||||||
|
mov ecx, edi
|
||||||
mov eax, edi
|
call irq_eoi
|
||||||
call IRQ_EOI
|
|
||||||
|
|
||||||
popad
|
popad
|
||||||
iretd
|
iretd
|
||||||
.found:
|
.found:
|
||||||
|
Loading…
Reference in New Issue
Block a user