Subversion Repositories Kolibri OS

Rev

Rev 1949 | Rev 2455 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1949 Rev 2288
Line 19... Line 19...
19
;;                                                              ;;
19
;;                                                              ;;
20
;;  See file COPYING for details                                ;;
20
;;  See file COPYING for details                                ;;
21
;;                                                              ;;
21
;;                                                              ;;
22
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 23... Line 23...
23
 
23
 
Line 24... Line 24...
24
$Revision: 1949 $
24
$Revision: 2288 $
25
 
25
 
26
;***************************************************************************
26
;***************************************************************************
27
;   Function
27
;   Function
Line 543... Line 543...
543
 
543
 
544
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
544
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
545
uglobal
545
uglobal
546
align 4
546
align 4
-
 
547
; VendID (2), DevID (2), Revision = 0 (1), Class Code (3), FNum (1), Bus (1)
547
; VendID (2), DevID (2), Revision = 0 (1), Class Code (3), FNum (1), Bus (1)
548
pci_emu_dat:
548
pci_emu_dat:	times	30*10 db 0
549
                times   30*10 db 0
549
endg
550
endg
550
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
551
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
551
align 4
552
align 4
552
sys_pcibios:
553
sys_pcibios:
Line 577... Line 578...
577
 
578
 
578
.not_PCI_BIOS_PRESENT:
579
.not_PCI_BIOS_PRESENT:
579
	cmp	ebp, 2			; FIND_PCI_DEVICE
580
        cmp     ebp, 2                  ; FIND_PCI_DEVICE
580
	jne	.not_FIND_PCI_DEVICE
581
        jne     .not_FIND_PCI_DEVICE
-
 
582
        mov     ebx, pci_emu_dat
581
	mov	ebx, pci_emu_dat
583
..nxt:
582
..nxt:	cmp	[ebx], dx
584
        cmp     [ebx], dx
583
	jne	..no
585
        jne     ..no
584
	cmp	[ebx + 2], cx
586
        cmp     [ebx + 2], cx
585
	jne	..no
587
        jne     ..no
586
	dec	si
588
        dec     si
587
	jns	..no
589
        jns     ..no
588
	mov	bx, [ebx + 4]
590
        mov     bx, [ebx + 4]
589
	xor	ah, ah
591
        xor     ah, ah
-
 
592
        jmp     .return_ab
590
	jmp	.return_ab
593
..no:
591
..no:	cmp	word[ebx], 0
594
        cmp     word[ebx], 0
592
	je	..dev_not_found
595
        je      ..dev_not_found
593
	add	ebx, 10
596
        add     ebx, 10
594
	jmp	..nxt
597
        jmp     ..nxt
595
..dev_not_found:
598
..dev_not_found:
Line 599... Line 602...
599
.not_FIND_PCI_DEVICE:
602
.not_FIND_PCI_DEVICE:
600
	cmp	ebp, 3			; FIND_PCI_CLASS_CODE
603
        cmp     ebp, 3                  ; FIND_PCI_CLASS_CODE
601
	jne	.not_FIND_PCI_CLASS_CODE
604
        jne     .not_FIND_PCI_CLASS_CODE
602
	mov	esi, pci_emu_dat
605
        mov     esi, pci_emu_dat
603
	shl	ecx, 8
606
        shl     ecx, 8
-
 
607
..nxt2:
604
..nxt2: cmp	[esi], ecx
608
        cmp     [esi], ecx
605
	jne	..no2
609
        jne     ..no2
606
	mov	bx, [esi]
610
        mov     bx, [esi]
607
	xor	ah, ah
611
        xor     ah, ah
608
	jmp	.return_ab
612
        jmp     .return_ab
-
 
613
..no2:
609
..no2:	cmp	dword[esi], 0
614
        cmp     dword[esi], 0
610
	je	..dev_not_found
615
        je      ..dev_not_found
611
	add	esi, 10
616
        add     esi, 10
612
	jmp	..nxt2
617
        jmp     ..nxt2
Line 613... Line 618...
613
 
618
 
Line 639... Line 644...
639
	xor	ah, ah			; SUCCESSFUL
644
        xor     ah, ah                  ; SUCCESSFUL
640
	jmp	.return_abc
645
        jmp     .return_abc
641
.not_WRITE_CONFIG:
646
.not_WRITE_CONFIG:
642
.unsupported_func:
647
.unsupported_func:
643
	mov	ah, 0x81		; FUNC_NOT_SUPPORTED
648
        mov     ah, 0x81                ; FUNC_NOT_SUPPORTED
-
 
649
.return:
644
.return:mov	dword[esp + 4 ], edi
650
        mov     dword[esp + 4 ], edi
645
	mov	dword[esp + 8], esi
651
        mov     dword[esp + 8], esi
646
.return_abcd:
652
.return_abcd:
647
	mov	dword[esp + 24], edx
653
        mov     dword[esp + 24], edx
648
.return_abc:
654
.return_abc:
649
	mov	dword[esp + 28], ecx
655
        mov     dword[esp + 28], ecx