Bugfixes for PE version of i8254x driver

git-svn-id: svn://kolibrios.org@4524 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2014-01-24 16:40:41 +00:00
parent 7b7c0326ac
commit 7ea58d1906

View File

@ -219,7 +219,6 @@ FCT_TYPE_DEFAULT = 0x8808
struct TDESC struct TDESC
addr_l dd ? addr_l dd ?
addr_h dd ? addr_h dd ?
length_cso_cmd dd ? ; 16 bits length + 8 bits cso + 8 bits cmd length_cso_cmd dd ? ; 16 bits length + 8 bits cso + 8 bits cmd
status dd ? ; status, checksum start field, special status dd ? ; status, checksum start field, special
ends ends
@ -294,7 +293,7 @@ ends
;; (standard driver proc) ;; ;; (standard driver proc) ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
proc START stdcall, reason:dword, cmdline:dword proc START c, reason:dword, cmdline:dword
cmp [reason], DRV_ENTRY cmp [reason], DRV_ENTRY
jne .fail jne .fail
@ -345,7 +344,7 @@ proc service_proc stdcall, ioctl:dword
jb .fail jb .fail
mov eax, [edx + IOCTL.input] mov eax, [edx + IOCTL.input]
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given cmp byte[eax], 1 ; 1 means device number and bus number (pci) are given
jne .fail ; other types arent supported for this card yet jne .fail ; other types arent supported for this card yet
; check if the device is already listed ; check if the device is already listed
@ -385,9 +384,9 @@ proc service_proc stdcall, ioctl:dword
; save the pci bus and device numbers ; save the pci bus and device numbers
mov eax, [edx + IOCTL.input] mov eax, [edx + IOCTL.input]
movzx ecx, byte [eax+1] movzx ecx, byte[eax+1]
mov [ebx + device.pci_bus], ecx mov [ebx + device.pci_bus], ecx
movzx ecx, byte [eax+2] movzx ecx, byte[eax+2]
mov [ebx + device.pci_dev], ecx mov [ebx + device.pci_dev], ecx
; Now, it's time to find the base mmio addres of the PCI device ; Now, it's time to find the base mmio addres of the PCI device
@ -891,7 +890,10 @@ int_handler:
; End of code ; End of code
section '.data' readable writable data fixups
end data
;section '.data' readable writable
include '../peimport.inc' include '../peimport.inc'
include_debug_strings include_debug_strings