forked from KolibriOS/kolibrios
f62/pci_api: and again
git-svn-id: svn://kolibrios.org@1629 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
9173200506
commit
92dc7c223f
@ -63,9 +63,6 @@ pci_api:
|
|||||||
mov ebx,ecx
|
mov ebx,ecx
|
||||||
mov ecx,edx
|
mov ecx,edx
|
||||||
|
|
||||||
align 4
|
|
||||||
pci_api_drv:
|
|
||||||
|
|
||||||
cmp [pci_access_enabled],1
|
cmp [pci_access_enabled],1
|
||||||
jne pci_service_not_supported
|
jne pci_service_not_supported
|
||||||
|
|
||||||
@ -82,6 +79,24 @@ end if
|
|||||||
call dword [f62call+edx*4]
|
call dword [f62call+edx*4]
|
||||||
mov dword [esp+32],eax
|
mov dword [esp+32],eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
align 4
|
||||||
|
pci_api_drv:
|
||||||
|
|
||||||
|
cmp [pci_access_enabled],1
|
||||||
|
jne .fail
|
||||||
|
|
||||||
|
cmp eax, 2
|
||||||
|
ja .fail
|
||||||
|
|
||||||
|
jmp dword [f62call+eax*4]
|
||||||
|
|
||||||
|
.fail:
|
||||||
|
or eax,-1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
;; ============================================
|
;; ============================================
|
||||||
|
|
||||||
pci_fn_0:
|
pci_fn_0:
|
||||||
|
@ -32,7 +32,7 @@ proc alloc_page
|
|||||||
xor eax,eax
|
xor eax,eax
|
||||||
ret
|
ret
|
||||||
.found:
|
.found:
|
||||||
;//-
|
;//-
|
||||||
dec [pg_data.pages_free]
|
dec [pg_data.pages_free]
|
||||||
jz .out_of_memory
|
jz .out_of_memory
|
||||||
;//-
|
;//-
|
||||||
@ -1166,25 +1166,7 @@ sysfn_meminfo:
|
|||||||
.fail:
|
.fail:
|
||||||
or dword [esp+32], -1
|
or dword [esp+32], -1
|
||||||
ret
|
ret
|
||||||
iglobal
|
|
||||||
align 4
|
|
||||||
f68call:
|
|
||||||
dd f68.11 ; init_heap
|
|
||||||
dd f68.12 ; user_alloc
|
|
||||||
dd f68.13 ; user_free
|
|
||||||
dd f68.14 ; get_event_ex
|
|
||||||
dd f68.fail ;moved to f68.24
|
|
||||||
dd f68.16 ; get_service
|
|
||||||
dd f68.17 ; call_service
|
|
||||||
dd f68.fail ;moved to f68.25
|
|
||||||
dd f68.19 ; load_dll
|
|
||||||
dd f68.20 ; user_realloc
|
|
||||||
dd f68.21 ; load_driver
|
|
||||||
dd f68.22 ; shmem_open
|
|
||||||
dd f68.23 ; shmem_close
|
|
||||||
dd f68.24
|
|
||||||
dd f68.25
|
|
||||||
endg
|
|
||||||
align 4
|
align 4
|
||||||
f68:
|
f68:
|
||||||
cmp ebx,4
|
cmp ebx,4
|
||||||
@ -1236,7 +1218,7 @@ f68:
|
|||||||
ret
|
ret
|
||||||
.20:
|
.20:
|
||||||
mov eax, edx
|
mov eax, edx
|
||||||
mov ebx, ecx
|
mov ebx, ecx
|
||||||
call user_realloc ;in: eax = pointer, ebx = new size
|
call user_realloc ;in: eax = pointer, ebx = new size
|
||||||
mov [esp+32], eax
|
mov [esp+32], eax
|
||||||
ret
|
ret
|
||||||
@ -1304,6 +1286,27 @@ f68:
|
|||||||
mov [esp+32], eax
|
mov [esp+32], eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
align 4
|
||||||
|
f68call: ; keep this table closer to main code
|
||||||
|
|
||||||
|
dd f68.11 ; init_heap
|
||||||
|
dd f68.12 ; user_alloc
|
||||||
|
dd f68.13 ; user_free
|
||||||
|
dd f68.14 ; get_event_ex
|
||||||
|
dd f68.fail ; moved to f68.24
|
||||||
|
dd f68.16 ; get_service
|
||||||
|
dd f68.17 ; call_service
|
||||||
|
dd f68.fail ; moved to f68.25
|
||||||
|
dd f68.19 ; load_dll
|
||||||
|
dd f68.20 ; user_realloc
|
||||||
|
dd f68.21 ; load_driver
|
||||||
|
dd f68.22 ; shmem_open
|
||||||
|
dd f68.23 ; shmem_close
|
||||||
|
dd f68.24
|
||||||
|
dd f68.25
|
||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc load_pe_driver stdcall, file:dword
|
proc load_pe_driver stdcall, file:dword
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user