Subversion Repositories Kolibri OS

Rev

Rev 837 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 837 Rev 854
Line 23... Line 23...
23
;;  Updates:                                                          ;;
23
;;  Updates:                                                          ;;
24
;;    Revision Look up table and SIS635 Mac Address by Jarek Pelczar  ;;
24
;;    Revision Look up table and SIS635 Mac Address by Jarek Pelczar  ;;
25
;;                                                                    ;;
25
;;                                                                    ;;
26
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
26
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 27... Line 27...
27
 
27
 
Line 28... Line 28...
28
$Revision: 735 $
28
$Revision: 854 $
29
 
29
 
30
 
30
 
Line 456... Line 456...
456
   mov     [txd+4],dword 0      ;clear status field
456
   mov     [txd+4],dword 0      ;clear status field
457
   mov     [txd+8], dword txb - OS_BASE   ;save address to buffer ptr field
457
   mov     [txd+8], dword txb - OS_BASE   ;save address to buffer ptr field
458
   ;*************** load Transmit Descriptor Register ***************
458
   ;*************** load Transmit Descriptor Register ***************
459
   mov     dx, [io_addr]            ; base address
459
   mov     dx, [io_addr]            ; base address
460
   add     dx, SIS900_txdp      ; TX Descriptor Pointer
460
   add     dx, SIS900_txdp      ; TX Descriptor Pointer
461
   mov     eax, txd - OS_BASE               ; First Descriptor
461
   mov     eax, txd + (0x100000000-OS_BASE)           ; First Descriptor
462
   out     dx, eax                              ; move the pointer
462
   out     dx, eax                              ; move the pointer
463
   ret
463
   ret
Line 464... Line 464...
464
 
464
 
465
;***************************************************************************
465
;***************************************************************************
Line 484... Line 484...
484
    cmp     ebx, NUM_RX_DESC                ;
484
    cmp     ebx, NUM_RX_DESC                ;
485
    jne     SIS900_init_rxd_Loop_0          ;
485
    jne     SIS900_init_rxd_Loop_0          ;
486
    xor     ebx, ebx                        ;
486
    xor     ebx, ebx                        ;
487
SIS900_init_rxd_Loop_0:                    ;
487
SIS900_init_rxd_Loop_0:                     ;
488
    imul    ebx, 12                         ;
488
    imul    ebx, 12                         ;
489
    add     ebx, rxd - OS_BASE              ;
489
    add     ebx, rxd + (0x100000000-OS_BASE);
490
    mov     [rxd+eax], ebx                                      ;save link to next descriptor
490
    mov     [rxd+eax], ebx                                      ;save link to next descriptor
491
    mov     [rxd+eax+4],dword RX_BUFF_SZ        ;status bits init to buf size
491
    mov     [rxd+eax+4],dword RX_BUFF_SZ        ;status bits init to buf size
492
    mov     ebx, ecx                                            ;find where the buf is located
492
    mov     ebx, ecx                                            ;find where the buf is located
493
    imul    ebx,RX_BUFF_SZ                  ;
493
    imul    ebx,RX_BUFF_SZ                  ;
494
    add     ebx, rxb - OS_BASE              ;
494
    add     ebx, rxb - OS_BASE              ;
Line 498... Line 498...
498
    jne     SIS900_init_rxd_Loop            ;
498
    jne     SIS900_init_rxd_Loop            ;
499
    ;********* load Receive Descriptor Register with address of first
499
    ;********* load Receive Descriptor Register with address of first
500
    ; descriptor*********
500
    ; descriptor*********
501
    mov     dx, [io_addr]
501
    mov     dx, [io_addr]
502
    add     dx, SIS900_rxdp
502
    add     dx, SIS900_rxdp
503
    mov     eax, rxd - OS_BASE
503
    mov     eax, rxd + (0x100000000-OS_BASE)
504
    out     dx, eax
504
    out     dx, eax
505
    ret
505
    ret
Line 506... Line 506...
506
 
506
 
507
;***************************************************************************
507
;***************************************************************************
Line 996... Line 996...
996
   in       eax, dx                         ; Get current Command Register
996
   in       eax, dx                         ; Get current Command Register
997
   or       eax, SIS900_TxDIS   ; Disable Transmitter
997
   or       eax, SIS900_TxDIS   ; Disable Transmitter
998
   out      dx, eax
998
   out      dx, eax
999
   ;*******load Transmit Descriptor Register *******
999
   ;*******load Transmit Descriptor Register *******
1000
   lea      edx,[ebp+SIS900_txdp]
1000
   lea      edx,[ebp+SIS900_txdp]
1001
   mov      eax, txd - OS_BASE
1001
   mov      eax, txd + (0x100000000-OS_BASE)
1002
   out      dx, eax
1002
   out      dx, eax
1003
   ;******* copy packet to descriptor*******
1003
   ;******* copy packet to descriptor*******
1004
   push    esi
1004
   push    esi
1005
   mov     esi, edi                ;copy destination addess
1005
   mov     esi, edi                ;copy destination addess
1006
   mov     edi, txb
1006
   mov     edi, txb