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 |