Rev 1206 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1206 | Rev 1318 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2008. 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: 1206 $ |
8 | $Revision: 1318 $ |
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] |