Subversion Repositories Kolibri OS

Rev

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

Rev 1345 Rev 1376
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 1345 $
8
$Revision: 1376 $
9
 
9
 
Line 210... Line 210...
210
	   jmp .wait
210
	   jmp .wait
211
endp
211
endp
Line 212... Line 212...
212
 
212
 
213
align 4
213
align 4
214
proc pci_read32 stdcall, bus:dword, devfn:dword, reg:dword
214
proc pci_read32 stdcall, bus:dword, devfn:dword, reg:dword
215
	   push ebx
215
	   push ebx edx
216
	   xor eax, eax
216
	   xor eax, eax
217
	   xor ebx, ebx
217
	   xor ebx, ebx
218
	   mov ah, byte [bus]
218
	   mov ah, byte [bus]
219
	   mov al, 6
219
	   mov al, 6
220
	   mov bh, byte [devfn]
220
	   mov bh, byte [devfn]
221
	   mov bl, byte [reg]
221
	   mov bl, byte [reg]
222
	   call pci_read_reg
222
	   call pci_read_reg
223
	   pop ebx
223
	   pop edx ebx
224
	   ret
224
	   ret
Line 225... Line 225...
225
endp
225
endp
226
 
226
 
227
align 4
227
align 4
228
proc pci_read16 stdcall, bus:dword, devfn:dword, reg:dword
228
proc pci_read16 stdcall, bus:dword, devfn:dword, reg:dword
229
	   push ebx
229
	   push ebx edx
230
	   xor eax, eax
230
	   xor eax, eax
231
	   xor ebx, ebx
231
	   xor ebx, ebx
232
	   mov ah, byte [bus]
232
	   mov ah, byte [bus]
233
	   mov al, 5
233
	   mov al, 5
234
	   mov bh, byte [devfn]
234
	   mov bh, byte [devfn]
235
	   mov bl, byte [reg]
235
	   mov bl, byte [reg]
236
	   call pci_read_reg
236
	   call pci_read_reg
237
	   pop ebx
237
	   pop edx ebx
Line 238... Line 238...
238
	   ret
238
	   ret
239
endp
239
endp
240
 
240
 
241
align 4
241
align 4
242
proc pci_read8 stdcall, bus:dword, devfn:dword, reg:dword
242
proc pci_read8 stdcall, bus:dword, devfn:dword, reg:dword
243
	   push ebx
243
	   push ebx edx
244
	   xor eax, eax
244
	   xor eax, eax
245
	   xor ebx, ebx
245
	   xor ebx, ebx
246
	   mov ah, byte [bus]
246
	   mov ah, byte [bus]
247
	   mov al, 4
247
	   mov al, 4
248
	   mov bh, byte [devfn]
248
	   mov bh, byte [devfn]
249
	   mov bl, byte [reg]
249
	   mov bl, byte [reg]
250
	   call pci_read_reg
250
	   call pci_read_reg
Line 251... Line 251...
251
	   pop ebx
251
	   pop edx ebx
252
	   ret
252
	   ret
253
endp
253
endp
254
 
254
 
255
align 4
255
align 4
256
proc pci_write8 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
256
proc pci_write8 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
257
	   push ebx
257
	   push ebx edx
258
	   xor eax, eax
258
	   xor eax, eax
259
	   xor ebx, ebx
259
	   xor ebx, ebx
260
	   mov ah, byte [bus]
260
	   mov ah, byte [bus]
261
	   mov al, 8
261
	   mov al, 8
262
	   mov bh, byte [devfn]
262
	   mov bh, byte [devfn]
263
	   mov bl, byte [reg]
263
	   mov bl, byte [reg]
264
	   mov ecx, [val]
264
	   mov ecx, [val]
Line 265... Line 265...
265
	   call pci_write_reg
265
	   call pci_write_reg
266
	   pop ebx
266
	   pop edx ebx
267
	   ret
267
	   ret
268
endp
268
endp
269
 
269
 
270
align 4
270
align 4
271
proc pci_write16 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
271
proc pci_write16 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
272
	   push ebx
272
	   push ebx edx
273
	   xor eax, eax
273
	   xor eax, eax
274
	   xor ebx, ebx
274
	   xor ebx, ebx
275
	   mov ah, byte [bus]
275
	   mov ah, byte [bus]
276
	   mov al, 9
276
	   mov al, 9
277
	   mov bh, byte [devfn]
277
	   mov bh, byte [devfn]
278
	   mov bl, byte [reg]
278
	   mov bl, byte [reg]
Line 279... Line 279...
279
	   mov ecx, [val]
279
	   mov ecx, [val]
280
	   call pci_write_reg
280
	   call pci_write_reg
281
	   pop ebx
281
	   pop edx ebx
282
	   ret
282
	   ret
283
endp
283
endp
284
 
284
 
285
align 4
285
align 4
286
proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
286
proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
287
	   push ebx
287
	   push ebx edx
288
	   xor eax, eax
288
	   xor eax, eax
289
	   xor ebx, ebx
289
	   xor ebx, ebx
290
	   mov ah, byte [bus]
290
	   mov ah, byte [bus]
291
	   mov al, 10
291
	   mov al, 10
292
	   mov bh, byte [devfn]
292
	   mov bh, byte [devfn]
Line 293... Line 293...
293
	   mov bl, byte [reg]
293
	   mov bl, byte [reg]
294
	   mov ecx, [val]
294
	   mov ecx, [val]