Subversion Repositories Kolibri OS

Rev

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

Rev 837 Rev 914
Line 30... Line 30...
30
;;                                                                 ;;
30
;;                                                                 ;;
31
;;  See file COPYING for details                                   ;;
31
;;  See file COPYING for details                                   ;;
32
;;                                                                 ;;
32
;;                                                                 ;;
33
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
33
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 34... Line 34...
34
 
34
 
Line 35... Line 35...
35
$Revision: 739 $
35
$Revision: 914 $
36
 
36
 
37
 
37
 
Line 102... Line 102...
102
include "drivers/rtl8139.inc"
102
include "drivers/rtl8139.inc"
103
include "drivers/3c59x.inc"
103
include "drivers/3c59x.inc"
104
include "drivers/sis900.inc"
104
include "drivers/sis900.inc"
105
include "drivers/pcnet32.inc"
105
include "drivers/pcnet32.inc"
106
include "drivers/rtl8169.inc"
106
include "drivers/rtl8169.inc"
-
 
107
include "drivers/forcedeth.inc"
Line 107... Line 108...
107
 
108
 
108
; PCICards
109
; PCICards
109
; ========
110
; ========
110
; PCI vendor and hardware types for hardware supported by the above drivers
111
; PCI vendor and hardware types for hardware supported by the above drivers
Line 151... Line 152...
151
 
152
 
152
dd  0x816810ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
153
dd  0x816810ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
153
dd  0x816910ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
154
dd  0x816910ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
154
dd  0x011616ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
155
dd  0x011616ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
-
 
156
dd  0x43001186, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
Line 155... Line 157...
155
dd  0x43001186, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
157
dd  0x816710ec, rtl8169_probe, rtl8169_reset, rtl8169_poll, rtl8169_transmit, 0
156
 
158
 
157
dd  0x590010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit, 0
159
dd  0x590010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit, 0
158
dd  0x592010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit, 0
160
dd  0x592010b7, e3c59x_probe, e3c59x_reset, e3c59x_poll, e3c59x_transmit, 0
Line 198... Line 200...
198
; following cards are untested
200
; following cards are untested
199
dd  0x70161039, SIS900_probe, SIS900_reset, SIS900_poll, SIS900_transmit, 0
201
dd  0x70161039, SIS900_probe, SIS900_reset, SIS900_poll, SIS900_transmit, 0
200
;dd  0x08001516, mtd80x_probe, mtd80x_reset, mtd80x_poll, mtd80x_transmit, mtd80x_cable
202
;dd  0x08001516, mtd80x_probe, mtd80x_reset, mtd80x_poll, mtd80x_transmit, mtd80x_cable
201
;dd  0x08911516, mtd80x_probe, mtd80x_reset, mtd80x_poll, mtd80x_transmit, mtd80x_cable
203
;dd  0x08911516, mtd80x_probe, mtd80x_reset, mtd80x_poll, mtd80x_transmit, mtd80x_cable
Line -... Line 204...
-
 
204
 
-
 
205
dd 0x006610de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; nVidia Corporation nForce2 Ethernet Controller
-
 
206
dd 0x01c310de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
207
dd 0x00D610de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
208
dd 0x008610de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
209
dd 0x008c10de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
210
dd 0x00e610de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
211
dd 0x00df10de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
212
dd 0x005610de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
213
dd 0x005710de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
214
dd 0x003710de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
215
dd 0x003810de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
216
dd 0x026810de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
217
dd 0x026910de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
218
dd 0x037210de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
219
dd 0x037310de, forcedeth_probe, forcedeth_reset, forcedeth_poll, forcedeth_transmit, forcedeth_cable ; not tested
-
 
220
 
202
 
221
 
203
rb PCICARDS_ENTRY_SIZE	; end of list marker, do not remove
222
rb PCICARDS_ENTRY_SIZE	; end of list marker, do not remove
Line 204... Line 223...
204
endg
223
endg
205
 
224
 
Line 332... Line 351...
332
;      IPRX queue.
351
;      IPRX queue.
333
;      If no queue entry is available, the packet is silently discarded
352
;      If no queue entry is available, the packet is silently discarded
334
;      All registers may be destroyed
353
;      All registers may be destroyed
335
;
354
;
336
;***************************************************************************
355
;***************************************************************************
-
 
356
uglobal
-
 
357
  ether_IP_handler_cnt dd ?
-
 
358
endg
337
ether_IP_handler:
359
ether_IP_handler:
338
    mov     eax, EMPTY_QUEUE
360
    mov     eax, EMPTY_QUEUE
339
    call    dequeue
361
    call    dequeue
340
    cmp     ax, NO_BUFFER
362
    cmp     ax, NO_BUFFER
341
    je	    eiph00x
363
    je	    eiph00x
Line 355... Line 377...
355
    mov     ecx, IPBUFFSIZE / 4     ; Copy all of the available
377
    mov     ecx, IPBUFFSIZE / 4     ; Copy all of the available
356
			      ; data across - worse case
378
			      ; data across - worse case
357
    cld
379
    cld
358
    rep     movsd
380
    rep     movsd
Line -... Line 381...
-
 
381
 
-
 
382
;        inc     [ether_IP_handler_cnt]
-
 
383
;        DEBUGF  1, "K : ether_IP_handler (%u)\n", [ether_IP_handler_cnt]
359
 
384
 
360
    ; And finally, place the buffer in the IPRX queue
385
    ; And finally, place the buffer in the IPRX queue
361
    pop     ebx
386
    pop     ebx
362
    mov     eax, IPIN_QUEUE
387
    mov     eax, IPIN_QUEUE
Line 441... Line 466...
441
    je	    .is_ip		     ; It's IP
466
    je	    .is_ip		     ; It's IP
Line 442... Line 467...
442
 
467
 
443
    cmp     ax, ETHER_ARP
468
    cmp     ax, ETHER_ARP
Line -... Line 469...
-
 
469
    je	    .is_arp		     ; It is ARP
-
 
470
 
444
    je	    .is_arp		     ; It is ARP
471
    DEBUGF  1,"K : eth_rx - dumped (%u)\n", ax
Line 445... Line 472...
445
 
472
    inc     [dumped_rx_count]
446
    jmp     .exit		; If not IP or ARP, ignore
473
    jmp     .exit		; If not IP or ARP, ignore
447
 
474
 
448
  .is_ip:
475
  .is_ip:
449
    DEBUGF  1,"K : eth_rx - IP packet\n"
476
;    DEBUGF  1,"K : eth_rx - IP packet\n"
Line 450... Line 477...
450
    inc     dword [ip_rx_count]
477
    inc     dword [ip_rx_count]
451
    call    ether_IP_handler
478
    call    ether_IP_handler
452
    jmp     .exit
479
    jmp     .exit
453
 
480
 
Line 454... Line 481...
454
  .is_arp:
481
  .is_arp:
455
    DEBUGF  1,"K : eth_rx - ARP packet\n"
482
;    DEBUGF  1,"K : eth_rx - ARP packet\n"