Subversion Repositories Kolibri OS

Rev

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

Rev 1171 Rev 1174
Line 72... Line 72...
72
	xor	eax, eax
72
	xor	eax, eax
73
	mov	edi, ETH_RUNNING
73
	mov	edi, ETH_RUNNING
74
	mov	ecx, (1+MAX_ETH_DEVICES)
74
	mov	ecx, (1+MAX_ETH_DEVICES)
75
	rep	stosd
75
	rep	stosd
Line 76... Line 76...
76
 
76
 
77
	mov	dword [ETH_IN_QUEUE], eax
77
	mov	dword [ETH_IN_QUEUE], ETH_QUEUE_SIZE
78
	mov	dword [ETH_IN_QUEUE+4], ETH_IN_QUEUE + queue.data
78
	mov	dword [ETH_IN_QUEUE+4], ETH_IN_QUEUE + queue.data
Line 79... Line 79...
79
	mov	dword [ETH_IN_QUEUE+8], ETH_IN_QUEUE + queue.data
79
	mov	dword [ETH_IN_QUEUE+8], ETH_IN_QUEUE + queue.data
80
 
80
 
81
	mov	dword [ETH_OUT_QUEUE], eax
81
	mov	dword [ETH_OUT_QUEUE], ETH_QUEUE_SIZE
Line 82... Line 82...
82
	mov	dword [ETH_OUT_QUEUE+4], ETH_OUT_QUEUE + queue.data
82
	mov	dword [ETH_OUT_QUEUE+4], ETH_OUT_QUEUE + queue.data
Line 83... Line -...
83
	mov	dword [ETH_OUT_QUEUE+8], ETH_OUT_QUEUE + queue.data
-
 
84
 
83
	mov	dword [ETH_OUT_QUEUE+8], ETH_OUT_QUEUE + queue.data
85
	ret
84
 
86
 
85
	ret
87
 
86
 
88
 
87
 
Line 100... Line 99...
100
 
99
 
101
align 4
100
align 4
Line 102... Line 101...
102
ETH_Add_Device:
101
ETH_Add_Device:
-
 
102
 
-
 
103
	DEBUGF	1,"ETH_Add_Device: %x\n", ebx
103
 
104
 
104
	DEBUGF	1,"ETH_Add_Device: %x\n", ebx
105
	mov	eax, [ETH_RUNNING]
Line -... Line 106...
-
 
106
	cmp	eax, MAX_ETH_DEVICES
-
 
107
	jge	.error
-
 
108
 
-
 
109
	test	eax, eax
-
 
110
	jnz	.notfirst
-
 
111
	mov	dword [ETH_IN_QUEUE], eax
105
	cmp	[ETH_RUNNING], MAX_ETH_DEVICES
112
	mov	dword [ETH_OUT_QUEUE], eax
106
	jge	.error
113
      .notfirst:
107
 
114
 
Line 108... Line 115...
108
	mov	eax, ebx
115
	mov	eax, ebx
Line 140... Line 147...
140
;        stosd                             ; Write MAC address to the MAC list
147
;        stosd                             ; Write MAC address to the MAC list
141
;        mov     ax, bx                    ;
148
;        mov     ax, bx                    ;
142
;        stosw                             ;
149
;        stosw                             ;
Line 143... Line 150...
143
 
150
 
-
 
151
	inc	[ETH_RUNNING]		  ; Indicate that one more ethernet device is up and running
144
	inc	[ETH_RUNNING]		  ; Indicate that one more ethernet device is up and running
152
 
145
;        pop     eax                       ; Output device num in eax
153
;        pop     eax                       ; Output device num in eax
146
	DEBUGF	1,"- succes: %u\n",eax
154
	DEBUGF	1,"- succes: %u\n",eax
Line 147... Line 155...
147
	ret
155
	ret
Line 182... Line 190...
182
 
190
 
183
	xor	eax, eax
191
	xor	eax, eax
Line 184... Line 192...
184
	mov	dword [edi-4], eax
192
	mov	dword [edi-4], eax
-
 
193
 
-
 
194
	dec	[ETH_RUNNING]
-
 
195
	jnz	.notlast
-
 
196
 
-
 
197
	mov	dword [ETH_IN_QUEUE], ETH_QUEUE_SIZE
-
 
198
	mov	dword [ETH_OUT_QUEUE], ETH_QUEUE_SIZE
Line 185... Line 199...
185
 
199
 
Line 186... Line 200...
186
	dec	[ETH_RUNNING]
200
       .notlast:
187
 
201
 
Line 468... Line 482...
468
 
482
 
469
.bytes_tx:
483
.bytes_tx:
470
	add	eax, ETH_DRV_LIST
484
	add	eax, ETH_DRV_LIST
471
	mov	eax, dword [eax]
485
	mov	eax, dword [eax]
-
 
486
	mov	eax, dword [eax + ETH_DEVICE.bytes_tx + 4]
-
 
487
	mov	eax, dword [eax + ETH_DEVICE.bytes_tx]
472
	mov	eax, dword [eax + ETH_DEVICE.bytes_tx + 4]
488
	mov	[esp+20+4], ebx 			; TODO: fix this ugly code
Line 473... Line 489...
473
	ret
489
	ret
474
 
490
 
475
.bytes_rx:
491
.bytes_rx:
476
	add	eax, ETH_DRV_LIST
492
	add	eax, ETH_DRV_LIST
-
 
493
	mov	eax, dword [eax]
-
 
494
	mov	ebx, dword [eax + ETH_DEVICE.bytes_rx + 4]
477
	mov	eax, dword [eax]
495
	mov	eax, dword [eax + ETH_DEVICE.bytes_rx]
Line -... Line 496...
-
 
496
	mov	[esp+20+4], ebx 			; TODO: fix this ugly code
478
	mov	eax, dword [eax + ETH_DEVICE.bytes_rx + 4]
497
	ret
479
	ret
498
 
480
 
499
 
481
.read_mac:
500
.read_mac:
482
	add	eax, ETH_DRV_LIST
501
	add	eax, ETH_DRV_LIST