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" |