Print this page
de-linting of .s files
first
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/intel/ia32/ml/ddi_i86_asm.s
+++ new/usr/src/uts/intel/ia32/ml/ddi_i86_asm.s
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License (the "License").
6 6 * You may not use this file except in compliance with the License.
7 7 *
8 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 * or http://www.opensolaris.org/os/licensing.
10 10 * See the License for the specific language governing permissions
11 11 * and limitations under the License.
12 12 *
13 13 * When distributing Covered Code, include this CDDL HEADER in each
14 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 * If applicable, add the following below this CDDL HEADER, with the
16 16 * fields enclosed by brackets "[]" replaced with your own identifying
17 17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 18 *
19 19 * CDDL HEADER END
20 20 */
↓ open down ↓ |
20 lines elided |
↑ open up ↑ |
21 21
22 22 /*
23 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24 24 * Use is subject to license terms.
25 25 */
26 26
27 27 /*
28 28 * Copyright 2019 Joyent, Inc.
29 29 */
30 30
31 -#if defined(lint) || defined(__lint)
32 -#include <sys/types.h>
33 -#include <sys/sunddi.h>
34 -#else
35 31 #include <sys/asm_linkage.h>
36 32 #include <sys/asm_misc.h>
37 33 #include "assym.h"
38 -#endif
39 34
40 -#if defined(lint) || defined(__lint)
41 -
42 -/*ARGSUSED*/
43 -uint8_t
44 -ddi_get8(ddi_acc_handle_t handle, uint8_t *addr)
45 -{
46 - return (0);
47 -}
48 -
49 -/*ARGSUSED*/
50 -uint8_t
51 -ddi_mem_get8(ddi_acc_handle_t handle, uint8_t *addr)
52 -{
53 - return (0);
54 -}
55 -
56 -/*ARGSUSED*/
57 -uint8_t
58 -ddi_io_get8(ddi_acc_handle_t handle, uint8_t *dev_addr)
59 -{
60 - return (0);
61 -}
62 -
63 -/*ARGSUSED*/
64 -uint16_t
65 -ddi_get16(ddi_acc_handle_t handle, uint16_t *addr)
66 -{
67 - return (0);
68 -}
69 -
70 -/*ARGSUSED*/
71 -uint16_t
72 -ddi_mem_get16(ddi_acc_handle_t handle, uint16_t *addr)
73 -{
74 - return (0);
75 -}
76 -
77 -/*ARGSUSED*/
78 -uint16_t
79 -ddi_io_get16(ddi_acc_handle_t handle, uint16_t *dev_addr)
80 -{
81 - return (0);
82 -}
83 -
84 -/*ARGSUSED*/
85 -uint32_t
86 -ddi_get32(ddi_acc_handle_t handle, uint32_t *addr)
87 -{
88 - return (0);
89 -}
90 -
91 -/*ARGSUSED*/
92 -uint32_t
93 -ddi_mem_get32(ddi_acc_handle_t handle, uint32_t *addr)
94 -{
95 - return (0);
96 -}
97 -
98 -/*ARGSUSED*/
99 -uint32_t
100 -ddi_io_get32(ddi_acc_handle_t handle, uint32_t *dev_addr)
101 -{
102 - return (0);
103 -}
104 -
105 -/*ARGSUSED*/
106 -uint64_t
107 -ddi_get64(ddi_acc_handle_t handle, uint64_t *addr)
108 -{
109 - return (0);
110 -}
111 -
112 -/*ARGSUSED*/
113 -uint64_t
114 -ddi_mem_get64(ddi_acc_handle_t handle, uint64_t *addr)
115 -{
116 - return (0);
117 -}
118 -
119 -/*ARGSUSED*/
120 -void
121 -ddi_put8(ddi_acc_handle_t handle, uint8_t *addr, uint8_t value)
122 -{}
123 -
124 -/*ARGSUSED*/
125 -void
126 -ddi_mem_put8(ddi_acc_handle_t handle, uint8_t *dev_addr, uint8_t value)
127 -{}
128 -
129 -/*ARGSUSED*/
130 -void
131 -ddi_io_put8(ddi_acc_handle_t handle, uint8_t *dev_addr, uint8_t value)
132 -{}
133 -
134 -/*ARGSUSED*/
135 -void
136 -ddi_put16(ddi_acc_handle_t handle, uint16_t *addr, uint16_t value)
137 -{}
138 -
139 -/*ARGSUSED*/
140 -void
141 -ddi_mem_put16(ddi_acc_handle_t handle, uint16_t *dev_addr, uint16_t value)
142 -{}
143 -
144 -/*ARGSUSED*/
145 -void
146 -ddi_io_put16(ddi_acc_handle_t handle, uint16_t *dev_addr, uint16_t value)
147 -{}
148 -
149 -/*ARGSUSED*/
150 -void
151 -ddi_put32(ddi_acc_handle_t handle, uint32_t *addr, uint32_t value)
152 -{}
153 -
154 -/*ARGSUSED*/
155 -void
156 -ddi_mem_put32(ddi_acc_handle_t handle, uint32_t *dev_addr, uint32_t value)
157 -{}
158 -
159 -/*ARGSUSED*/
160 -void
161 -ddi_io_put32(ddi_acc_handle_t handle, uint32_t *dev_addr, uint32_t value)
162 -{}
163 -
164 -/*ARGSUSED*/
165 -void
166 -ddi_put64(ddi_acc_handle_t handle, uint64_t *addr, uint64_t value)
167 -{}
168 -
169 -/*ARGSUSED*/
170 -void
171 -ddi_mem_put64(ddi_acc_handle_t handle, uint64_t *dev_addr, uint64_t value)
172 -{}
173 -
174 -/*ARGSUSED*/
175 -void
176 -ddi_rep_get8(ddi_acc_handle_t handle, uint8_t *host_addr, uint8_t *dev_addr,
177 - size_t repcount, uint_t flags)
178 -{}
179 -
180 -/*ARGSUSED*/
181 -void
182 -ddi_rep_get16(ddi_acc_handle_t handle, uint16_t *host_addr, uint16_t *dev_addr,
183 - size_t repcount, uint_t flags)
184 -{}
185 -
186 -/*ARGSUSED*/
187 -void
188 -ddi_rep_get32(ddi_acc_handle_t handle, uint32_t *host_addr, uint32_t *dev_addr,
189 - size_t repcount, uint_t flags)
190 -{}
191 -
192 -/*ARGSUSED*/
193 -void
194 -ddi_rep_get64(ddi_acc_handle_t handle, uint64_t *host_addr, uint64_t *dev_addr,
195 - size_t repcount, uint_t flags)
196 -{}
197 -
198 -/*ARGSUSED*/
199 -void
200 -ddi_rep_put8(ddi_acc_handle_t handle, uint8_t *host_addr, uint8_t *dev_addr,
201 - size_t repcount, uint_t flags)
202 -{}
203 -
204 -/*ARGSUSED*/
205 -void
206 -ddi_rep_put16(ddi_acc_handle_t handle, uint16_t *host_addr, uint16_t *dev_addr,
207 - size_t repcount, uint_t flags)
208 -{}
209 -
210 -/*ARGSUSED*/
211 -void
212 -ddi_rep_put32(ddi_acc_handle_t handle, uint32_t *host_addr, uint32_t *dev_addr,
213 - size_t repcount, uint_t flags)
214 -{}
215 -
216 -/*ARGSUSED*/
217 -void
218 -ddi_rep_put64(ddi_acc_handle_t handle, uint64_t *host_addr, uint64_t *dev_addr,
219 - size_t repcount, uint_t flags)
220 -{}
221 -
222 -/*ARGSUSED*/
223 -void
224 -ddi_mem_rep_get8(ddi_acc_handle_t handle, uint8_t *host_addr,
225 - uint8_t *dev_addr, size_t repcount, uint_t flags)
226 -{}
227 -
228 -/*ARGSUSED*/
229 -void
230 -ddi_mem_rep_get16(ddi_acc_handle_t handle, uint16_t *host_addr,
231 - uint16_t *dev_addr, size_t repcount, uint_t flags)
232 -{}
233 -
234 -/*ARGSUSED*/
235 -void
236 -ddi_mem_rep_get32(ddi_acc_handle_t handle, uint32_t *host_addr,
237 - uint32_t *dev_addr, size_t repcount, uint_t flags)
238 -{}
239 -
240 -/*ARGSUSED*/
241 -void
242 -ddi_mem_rep_get64(ddi_acc_handle_t handle, uint64_t *host_addr,
243 - uint64_t *dev_addr, size_t repcount, uint_t flags)
244 -{}
245 -
246 -/*ARGSUSED*/
247 -void
248 -ddi_mem_rep_put8(ddi_acc_handle_t handle, uint8_t *host_addr,
249 - uint8_t *dev_addr, size_t repcount, uint_t flags)
250 -{}
251 -
252 -/*ARGSUSED*/
253 -void
254 -ddi_mem_rep_put16(ddi_acc_handle_t handle, uint16_t *host_addr,
255 - uint16_t *dev_addr, size_t repcount, uint_t flags)
256 -{}
257 -
258 -/*ARGSUSED*/
259 -void
260 -ddi_mem_rep_put32(ddi_acc_handle_t handle, uint32_t *host_addr,
261 - uint32_t *dev_addr, size_t repcount, uint_t flags)
262 -{}
263 -
264 -/*ARGSUSED*/
265 -void
266 -ddi_mem_rep_put64(ddi_acc_handle_t handle, uint64_t *host_addr,
267 - uint64_t *dev_addr, size_t repcount, uint_t flags)
268 -{}
269 -
270 -#else /* lint */
271 -
272 -
273 -#if defined(__amd64)
274 -
275 35 ENTRY(ddi_get8)
276 36 ALTENTRY(ddi_getb)
277 37 ALTENTRY(ddi_mem_getb)
278 38 ALTENTRY(ddi_mem_get8)
279 39 ALTENTRY(ddi_io_getb)
280 40 ALTENTRY(ddi_io_get8)
281 41 movl ACC_ATTR(%rdi), %edx
282 42 cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %edx
283 43 jne 1f
284 44 movq %rsi, %rdx
285 45 xorq %rax, %rax
286 46 inb (%dx)
287 47 ret
288 48 1:
289 49 cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %edx
290 50 jne 2f
291 51 movzbq (%rsi), %rax
292 52 ret
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
293 53 2:
294 54 movq ACC_GETB(%rdi), %rax
295 55 INDIRECT_JMP_REG(rax)
296 56 SET_SIZE(ddi_get8)
297 57 SET_SIZE(ddi_getb)
298 58 SET_SIZE(ddi_mem_getb)
299 59 SET_SIZE(ddi_mem_get8)
300 60 SET_SIZE(ddi_io_getb)
301 61 SET_SIZE(ddi_io_get8)
302 62
303 -#elif defined(__i386)
304 63
305 - ENTRY(ddi_get8)
306 - ALTENTRY(ddi_getb)
307 - ALTENTRY(ddi_mem_getb)
308 - ALTENTRY(ddi_mem_get8)
309 - ALTENTRY(ddi_io_getb)
310 - ALTENTRY(ddi_io_get8)
311 - movl 4(%esp), %eax
312 - movl ACC_ATTR(%eax), %ecx
313 - cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
314 - jne 1f
315 - movl 8(%esp), %edx
316 - xorl %eax, %eax
317 - inb (%dx)
318 - ret
319 -1:
320 - cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
321 - jne 2f
322 - movl 8(%esp), %eax
323 - movzbl (%eax), %eax
324 - ret
325 -2:
326 - jmp *ACC_GETB(%eax)
327 - SET_SIZE(ddi_get8)
328 - SET_SIZE(ddi_getb)
329 - SET_SIZE(ddi_mem_getb)
330 - SET_SIZE(ddi_mem_get8)
331 - SET_SIZE(ddi_io_getb)
332 - SET_SIZE(ddi_io_get8)
333 -
334 -#endif /* __i386 */
335 -
336 -#if defined(__amd64)
337 -
338 64 ENTRY(ddi_get16)
339 65 ALTENTRY(ddi_getw)
340 66 ALTENTRY(ddi_mem_getw)
341 67 ALTENTRY(ddi_mem_get16)
342 68 ALTENTRY(ddi_io_getw)
343 69 ALTENTRY(ddi_io_get16)
344 70 movl ACC_ATTR(%rdi), %edx
345 71 cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %edx
346 72 jne 3f
347 73 movq %rsi, %rdx
348 74 xorq %rax, %rax
349 75 inw (%dx)
350 76 ret
351 77 3:
352 78 cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %edx
353 79 jne 4f
354 80 movzwq (%rsi), %rax
355 81 ret
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
356 82 4:
357 83 movq ACC_GETW(%rdi), %rax
358 84 INDIRECT_JMP_REG(rax)
359 85 SET_SIZE(ddi_get16)
360 86 SET_SIZE(ddi_getw)
361 87 SET_SIZE(ddi_mem_getw)
362 88 SET_SIZE(ddi_mem_get16)
363 89 SET_SIZE(ddi_io_getw)
364 90 SET_SIZE(ddi_io_get16)
365 91
366 -#elif defined(__i386)
367 92
368 - ENTRY(ddi_get16)
369 - ALTENTRY(ddi_getw)
370 - ALTENTRY(ddi_mem_getw)
371 - ALTENTRY(ddi_mem_get16)
372 - ALTENTRY(ddi_io_getw)
373 - ALTENTRY(ddi_io_get16)
374 - movl 4(%esp), %eax
375 - movl ACC_ATTR(%eax), %ecx
376 - cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
377 - jne 3f
378 - movl 8(%esp), %edx
379 - xorl %eax, %eax
380 - inw (%dx)
381 - ret
382 -3:
383 - cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
384 - jne 4f
385 - movl 8(%esp), %eax
386 - movzwl (%eax), %eax
387 - ret
388 -4:
389 - jmp *ACC_GETW(%eax)
390 - SET_SIZE(ddi_get16)
391 - SET_SIZE(ddi_getw)
392 - SET_SIZE(ddi_mem_getw)
393 - SET_SIZE(ddi_mem_get16)
394 - SET_SIZE(ddi_io_getw)
395 - SET_SIZE(ddi_io_get16)
396 -
397 -#endif /* __i386 */
398 -
399 -#if defined(__amd64)
400 -
401 93 ENTRY(ddi_get32)
402 94 ALTENTRY(ddi_getl)
403 95 ALTENTRY(ddi_mem_getl)
404 96 ALTENTRY(ddi_mem_get32)
405 97 ALTENTRY(ddi_io_getl)
406 98 ALTENTRY(ddi_io_get32)
407 99 movl ACC_ATTR(%rdi), %edx
408 100 cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %edx
409 101 jne 5f
410 102 movq %rsi, %rdx
411 103 inl (%dx)
412 104 ret
413 105 5:
414 106 cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %edx
415 107 jne 6f
416 108 movl (%rsi), %eax
417 109 ret
↓ open down ↓ |
7 lines elided |
↑ open up ↑ |
418 110 6:
419 111 movq ACC_GETL(%rdi), %rax
420 112 INDIRECT_JMP_REG(rax)
421 113 SET_SIZE(ddi_get32)
422 114 SET_SIZE(ddi_getl)
423 115 SET_SIZE(ddi_mem_getl)
424 116 SET_SIZE(ddi_mem_get32)
425 117 SET_SIZE(ddi_io_getl)
426 118 SET_SIZE(ddi_io_get32)
427 119
428 -#elif defined(__i386)
429 120
430 - ENTRY(ddi_get32)
431 - ALTENTRY(ddi_getl)
432 - ALTENTRY(ddi_mem_getl)
433 - ALTENTRY(ddi_mem_get32)
434 - ALTENTRY(ddi_io_getl)
435 - ALTENTRY(ddi_io_get32)
436 - movl 4(%esp), %eax
437 - movl ACC_ATTR(%eax), %ecx
438 - cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
439 - jne 5f
440 - movl 8(%esp), %edx
441 - inl (%dx)
442 - ret
443 -5:
444 - cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
445 - jne 6f
446 - movl 8(%esp), %eax
447 - movl (%eax), %eax
448 - ret
449 -6:
450 - jmp *ACC_GETL(%eax)
451 - SET_SIZE(ddi_get32)
452 - SET_SIZE(ddi_getl)
453 - SET_SIZE(ddi_mem_getl)
454 - SET_SIZE(ddi_mem_get32)
455 - SET_SIZE(ddi_io_getl)
456 - SET_SIZE(ddi_io_get32)
457 -
458 -#endif /* __i386 */
459 -
460 -#if defined(__amd64)
461 -
462 121 ENTRY(ddi_get64)
463 122 ALTENTRY(ddi_getll)
464 123 ALTENTRY(ddi_mem_getll)
465 124 ALTENTRY(ddi_mem_get64)
466 125 movq ACC_GETLL(%rdi), %rax
467 126 INDIRECT_JMP_REG(rax)
468 127 SET_SIZE(ddi_get64)
469 128 SET_SIZE(ddi_getll)
470 129 SET_SIZE(ddi_mem_getll)
471 130 SET_SIZE(ddi_mem_get64)
472 131
473 -#elif defined(__i386)
474 132
475 - ENTRY(ddi_get64)
476 - ALTENTRY(ddi_getll)
477 - ALTENTRY(ddi_mem_getll)
478 - ALTENTRY(ddi_mem_get64)
479 - movl 4(%esp), %eax
480 - jmp *ACC_GETLL(%eax)
481 - SET_SIZE(ddi_get64)
482 - SET_SIZE(ddi_getll)
483 - SET_SIZE(ddi_mem_getll)
484 - SET_SIZE(ddi_mem_get64)
485 -
486 -#endif /* __i386 */
487 -
488 -#if defined(__amd64)
489 -
490 133 ENTRY(ddi_put8)
491 134 ALTENTRY(ddi_putb)
492 135 ALTENTRY(ddi_mem_putb)
493 136 ALTENTRY(ddi_mem_put8)
494 137 ALTENTRY(ddi_io_putb)
495 138 ALTENTRY(ddi_io_put8)
496 139 movl ACC_ATTR(%rdi), %ecx
497 140 cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
498 141 jne 7f
499 142 movq %rdx, %rax
500 143 movq %rsi, %rdx
501 144 outb (%dx)
502 145 ret
503 146 7:
504 147 cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
505 148 jne 8f
506 149 movb %dl, (%rsi)
507 150 ret
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
508 151 8:
509 152 movq ACC_PUTB(%rdi), %rax
510 153 INDIRECT_JMP_REG(rax)
511 154 SET_SIZE(ddi_put8)
512 155 SET_SIZE(ddi_putb)
513 156 SET_SIZE(ddi_mem_putb)
514 157 SET_SIZE(ddi_mem_put8)
515 158 SET_SIZE(ddi_io_putb)
516 159 SET_SIZE(ddi_io_put8)
517 160
518 -#elif defined(__i386)
519 161
520 - ENTRY(ddi_put8)
521 - ALTENTRY(ddi_putb)
522 - ALTENTRY(ddi_mem_putb)
523 - ALTENTRY(ddi_mem_put8)
524 - ALTENTRY(ddi_io_putb)
525 - ALTENTRY(ddi_io_put8)
526 - movl 4(%esp), %eax
527 - movl ACC_ATTR(%eax), %ecx
528 - cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
529 - jne 7f
530 - movl 12(%esp), %eax
531 - movl 8(%esp), %edx
532 - outb (%dx)
533 - ret
534 -7:
535 - cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
536 - jne 8f
537 - movl 8(%esp), %eax
538 - movl 12(%esp), %ecx
539 - movb %cl, (%eax)
540 - ret
541 -8:
542 - jmp *ACC_PUTB(%eax)
543 - SET_SIZE(ddi_put8)
544 - SET_SIZE(ddi_putb)
545 - SET_SIZE(ddi_mem_putb)
546 - SET_SIZE(ddi_mem_put8)
547 - SET_SIZE(ddi_io_putb)
548 - SET_SIZE(ddi_io_put8)
549 -
550 -#endif /* __i386 */
551 -
552 -#if defined(__amd64)
553 -
554 162 ENTRY(ddi_put16)
555 163 ALTENTRY(ddi_putw)
556 164 ALTENTRY(ddi_mem_putw)
557 165 ALTENTRY(ddi_mem_put16)
558 166 ALTENTRY(ddi_io_putw)
559 167 ALTENTRY(ddi_io_put16)
560 168 movl ACC_ATTR(%rdi), %ecx
561 169 cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
562 170 jne 8f
563 171 movq %rdx, %rax
564 172 movq %rsi, %rdx
565 173 outw (%dx)
566 174 ret
567 175 8:
568 176 cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
569 177 jne 9f
570 178 movw %dx, (%rsi)
571 179 ret
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
572 180 9:
573 181 movq ACC_PUTW(%rdi), %rax
574 182 INDIRECT_JMP_REG(rax)
575 183 SET_SIZE(ddi_put16)
576 184 SET_SIZE(ddi_putw)
577 185 SET_SIZE(ddi_mem_putw)
578 186 SET_SIZE(ddi_mem_put16)
579 187 SET_SIZE(ddi_io_putw)
580 188 SET_SIZE(ddi_io_put16)
581 189
582 -#elif defined(__i386)
583 190
584 - ENTRY(ddi_put16)
585 - ALTENTRY(ddi_putw)
586 - ALTENTRY(ddi_mem_putw)
587 - ALTENTRY(ddi_mem_put16)
588 - ALTENTRY(ddi_io_putw)
589 - ALTENTRY(ddi_io_put16)
590 - movl 4(%esp), %eax
591 - movl ACC_ATTR(%eax), %ecx
592 - cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
593 - jne 8f
594 - movl 12(%esp), %eax
595 - movl 8(%esp), %edx
596 - outw (%dx)
597 - ret
598 -8:
599 - cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
600 - jne 9f
601 - movl 8(%esp), %eax
602 - movl 12(%esp), %ecx
603 - movw %cx, (%eax)
604 - ret
605 -9:
606 - jmp *ACC_PUTW(%eax)
607 - SET_SIZE(ddi_put16)
608 - SET_SIZE(ddi_putw)
609 - SET_SIZE(ddi_mem_putw)
610 - SET_SIZE(ddi_mem_put16)
611 - SET_SIZE(ddi_io_putw)
612 - SET_SIZE(ddi_io_put16)
613 -
614 -#endif /* __i386 */
615 -
616 -#if defined(__amd64)
617 -
618 191 ENTRY(ddi_put32)
619 192 ALTENTRY(ddi_putl)
620 193 ALTENTRY(ddi_mem_putl)
621 194 ALTENTRY(ddi_mem_put32)
622 195 ALTENTRY(ddi_io_putl)
623 196 ALTENTRY(ddi_io_put32)
624 197 movl ACC_ATTR(%rdi), %ecx
625 198 cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
626 199 jne 8f
627 200 movq %rdx, %rax
628 201 movq %rsi, %rdx
629 202 outl (%dx)
630 203 ret
631 204 8:
632 205 cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
633 206 jne 9f
634 207 movl %edx, (%rsi)
635 208 ret
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
636 209 9:
637 210 movq ACC_PUTL(%rdi), %rax
638 211 INDIRECT_JMP_REG(rax)
639 212 SET_SIZE(ddi_put32)
640 213 SET_SIZE(ddi_putl)
641 214 SET_SIZE(ddi_mem_putl)
642 215 SET_SIZE(ddi_mem_put32)
643 216 SET_SIZE(ddi_io_putl)
644 217 SET_SIZE(ddi_io_put32)
645 218
646 -#elif defined(__i386)
647 219
648 - ENTRY(ddi_put32)
649 - ALTENTRY(ddi_putl)
650 - ALTENTRY(ddi_mem_putl)
651 - ALTENTRY(ddi_mem_put32)
652 - ALTENTRY(ddi_io_putl)
653 - ALTENTRY(ddi_io_put32)
654 - movl 4(%esp), %eax
655 - movl ACC_ATTR(%eax), %ecx
656 - cmpl $_CONST(DDI_ACCATTR_IO_SPACE|DDI_ACCATTR_DIRECT), %ecx
657 - jne 8f
658 - movl 12(%esp), %eax
659 - movl 8(%esp), %edx
660 - outl (%dx)
661 - ret
662 -8:
663 - cmpl $_CONST(DDI_ACCATTR_CPU_VADDR|DDI_ACCATTR_DIRECT), %ecx
664 - jne 9f
665 - movl 8(%esp), %eax
666 - movl 12(%esp), %ecx
667 - movl %ecx, (%eax)
668 - ret
669 -9:
670 - jmp *ACC_PUTL(%eax)
671 - SET_SIZE(ddi_put32)
672 - SET_SIZE(ddi_putl)
673 - SET_SIZE(ddi_mem_putl)
674 - SET_SIZE(ddi_mem_put32)
675 - SET_SIZE(ddi_io_putl)
676 - SET_SIZE(ddi_io_put32)
677 -
678 -#endif /* __i386 */
679 -
680 -#if defined(__amd64)
681 -
682 220 ENTRY(ddi_put64)
683 221 ALTENTRY(ddi_putll)
684 222 ALTENTRY(ddi_mem_putll)
685 223 ALTENTRY(ddi_mem_put64)
686 224 movq ACC_PUTLL(%rdi), %rax
687 225 INDIRECT_JMP_REG(rax)
688 226 SET_SIZE(ddi_put64)
689 227 SET_SIZE(ddi_putll)
690 228 SET_SIZE(ddi_mem_putll)
691 229 SET_SIZE(ddi_mem_put64)
692 230
693 -#elif defined(__i386)
694 231
695 - ENTRY(ddi_put64)
696 - ALTENTRY(ddi_putll)
697 - ALTENTRY(ddi_mem_putll)
698 - ALTENTRY(ddi_mem_put64)
699 - movl 4(%esp), %eax
700 - jmp *ACC_PUTLL(%eax)
701 - SET_SIZE(ddi_put64)
702 - SET_SIZE(ddi_putll)
703 - SET_SIZE(ddi_mem_putll)
704 - SET_SIZE(ddi_mem_put64)
705 -
706 -#endif /* __i386 */
707 -
708 -#if defined(__amd64)
709 -
710 232 ENTRY(ddi_rep_get8)
711 233 ALTENTRY(ddi_rep_getb)
712 234 ALTENTRY(ddi_mem_rep_getb)
713 235 ALTENTRY(ddi_mem_rep_get8)
714 236 movq ACC_REP_GETB(%rdi), %rax
715 237 INDIRECT_JMP_REG(rax)
716 238 SET_SIZE(ddi_rep_get8)
717 239 SET_SIZE(ddi_rep_getb)
718 240 SET_SIZE(ddi_mem_rep_getb)
719 241 SET_SIZE(ddi_mem_rep_get8)
720 242
721 -#elif defined(__i386)
722 243
723 - ENTRY(ddi_rep_get8)
724 - ALTENTRY(ddi_rep_getb)
725 - ALTENTRY(ddi_mem_rep_getb)
726 - ALTENTRY(ddi_mem_rep_get8)
727 - movl 4(%esp), %eax
728 - jmp *ACC_REP_GETB(%eax)
729 - SET_SIZE(ddi_rep_get8)
730 - SET_SIZE(ddi_rep_getb)
731 - SET_SIZE(ddi_mem_rep_getb)
732 - SET_SIZE(ddi_mem_rep_get8)
733 -
734 -#endif /* __i386 */
735 -
736 -#if defined(__amd64)
737 -
738 244 ENTRY(ddi_rep_get16)
739 245 ALTENTRY(ddi_rep_getw)
740 246 ALTENTRY(ddi_mem_rep_getw)
741 247 ALTENTRY(ddi_mem_rep_get16)
742 248 movq ACC_REP_GETW(%rdi), %rax
743 249 INDIRECT_JMP_REG(rax)
744 250 SET_SIZE(ddi_rep_get16)
745 251 SET_SIZE(ddi_rep_getw)
746 252 SET_SIZE(ddi_mem_rep_getw)
747 253 SET_SIZE(ddi_mem_rep_get16)
748 254
749 -#elif defined(__i386)
750 255
751 - ENTRY(ddi_rep_get16)
752 - ALTENTRY(ddi_rep_getw)
753 - ALTENTRY(ddi_mem_rep_getw)
754 - ALTENTRY(ddi_mem_rep_get16)
755 - movl 4(%esp), %eax
756 - jmp *ACC_REP_GETW(%eax)
757 - SET_SIZE(ddi_rep_get16)
758 - SET_SIZE(ddi_rep_getw)
759 - SET_SIZE(ddi_mem_rep_getw)
760 - SET_SIZE(ddi_mem_rep_get16)
761 -
762 -#endif /* __i386 */
763 -
764 -#if defined(__amd64)
765 -
766 256 ENTRY(ddi_rep_get32)
767 257 ALTENTRY(ddi_rep_getl)
768 258 ALTENTRY(ddi_mem_rep_getl)
769 259 ALTENTRY(ddi_mem_rep_get32)
770 260 movq ACC_REP_GETL(%rdi), %rax
771 261 INDIRECT_JMP_REG(rax)
772 262 SET_SIZE(ddi_rep_get32)
773 263 SET_SIZE(ddi_rep_getl)
774 264 SET_SIZE(ddi_mem_rep_getl)
775 265 SET_SIZE(ddi_mem_rep_get32)
776 266
777 -#elif defined(__i386)
778 267
779 - ENTRY(ddi_rep_get32)
780 - ALTENTRY(ddi_rep_getl)
781 - ALTENTRY(ddi_mem_rep_getl)
782 - ALTENTRY(ddi_mem_rep_get32)
783 - movl 4(%esp), %eax
784 - jmp *ACC_REP_GETL(%eax)
785 - SET_SIZE(ddi_rep_get32)
786 - SET_SIZE(ddi_rep_getl)
787 - SET_SIZE(ddi_mem_rep_getl)
788 - SET_SIZE(ddi_mem_rep_get32)
789 -
790 -#endif /* __i386 */
791 -
792 -#if defined(__amd64)
793 -
794 268 ENTRY(ddi_rep_get64)
795 269 ALTENTRY(ddi_rep_getll)
796 270 ALTENTRY(ddi_mem_rep_getll)
797 271 ALTENTRY(ddi_mem_rep_get64)
798 272 movq ACC_REP_GETLL(%rdi), %rax
799 273 INDIRECT_JMP_REG(rax)
800 274 SET_SIZE(ddi_rep_get64)
801 275 SET_SIZE(ddi_rep_getll)
802 276 SET_SIZE(ddi_mem_rep_getll)
803 277 SET_SIZE(ddi_mem_rep_get64)
804 278
805 -#elif defined(__i386)
806 279
807 - ENTRY(ddi_rep_get64)
808 - ALTENTRY(ddi_rep_getll)
809 - ALTENTRY(ddi_mem_rep_getll)
810 - ALTENTRY(ddi_mem_rep_get64)
811 - movl 4(%esp), %eax
812 - jmp *ACC_REP_GETLL(%eax)
813 - SET_SIZE(ddi_rep_get64)
814 - SET_SIZE(ddi_rep_getll)
815 - SET_SIZE(ddi_mem_rep_getll)
816 - SET_SIZE(ddi_mem_rep_get64)
817 -
818 -#endif /* __i386 */
819 -
820 -#if defined(__amd64)
821 -
822 280 ENTRY(ddi_rep_put8)
823 281 ALTENTRY(ddi_rep_putb)
824 282 ALTENTRY(ddi_mem_rep_putb)
825 283 ALTENTRY(ddi_mem_rep_put8)
826 284 movq ACC_REP_PUTB(%rdi), %rax
827 285 INDIRECT_JMP_REG(rax)
828 286 SET_SIZE(ddi_rep_put8)
829 287 SET_SIZE(ddi_rep_putb)
830 288 SET_SIZE(ddi_mem_rep_putb)
831 289 SET_SIZE(ddi_mem_rep_put8)
832 290
833 -#elif defined(__i386)
834 291
835 - ENTRY(ddi_rep_put8)
836 - ALTENTRY(ddi_rep_putb)
837 - ALTENTRY(ddi_mem_rep_putb)
838 - ALTENTRY(ddi_mem_rep_put8)
839 - movl 4(%esp), %eax
840 - jmp *ACC_REP_PUTB(%eax)
841 - SET_SIZE(ddi_rep_put8)
842 - SET_SIZE(ddi_rep_putb)
843 - SET_SIZE(ddi_mem_rep_putb)
844 - SET_SIZE(ddi_mem_rep_put8)
845 -
846 -#endif /* __i386 */
847 -
848 -#if defined(__amd64)
849 -
850 292 ENTRY(ddi_rep_put16)
851 293 ALTENTRY(ddi_rep_putw)
852 294 ALTENTRY(ddi_mem_rep_putw)
853 295 ALTENTRY(ddi_mem_rep_put16)
854 296 movq ACC_REP_PUTW(%rdi), %rax
855 297 INDIRECT_JMP_REG(rax)
856 298 SET_SIZE(ddi_rep_put16)
857 299 SET_SIZE(ddi_rep_putw)
858 300 SET_SIZE(ddi_mem_rep_putw)
859 301 SET_SIZE(ddi_mem_rep_put16)
860 302
861 -#elif defined(__i386)
862 303
863 - ENTRY(ddi_rep_put16)
864 - ALTENTRY(ddi_rep_putw)
865 - ALTENTRY(ddi_mem_rep_putw)
866 - ALTENTRY(ddi_mem_rep_put16)
867 - movl 4(%esp), %eax
868 - jmp *ACC_REP_PUTW(%eax)
869 - SET_SIZE(ddi_rep_put16)
870 - SET_SIZE(ddi_rep_putw)
871 - SET_SIZE(ddi_mem_rep_putw)
872 - SET_SIZE(ddi_mem_rep_put16)
873 -
874 -#endif /* __i386 */
875 -
876 -#if defined(__amd64)
877 -
878 304 ENTRY(ddi_rep_put32)
879 305 ALTENTRY(ddi_rep_putl)
880 306 ALTENTRY(ddi_mem_rep_putl)
881 307 ALTENTRY(ddi_mem_rep_put32)
882 308 movq ACC_REP_PUTL(%rdi), %rax
883 309 INDIRECT_JMP_REG(rax)
884 310 SET_SIZE(ddi_rep_put32)
885 311 SET_SIZE(ddi_rep_putl)
886 312 SET_SIZE(ddi_mem_rep_putl)
887 313 SET_SIZE(ddi_mem_rep_put32)
888 314
889 -#elif defined(__i386)
890 315
891 - ENTRY(ddi_rep_put32)
892 - ALTENTRY(ddi_rep_putl)
893 - ALTENTRY(ddi_mem_rep_putl)
894 - ALTENTRY(ddi_mem_rep_put32)
895 - movl 4(%esp), %eax
896 - jmp *ACC_REP_PUTL(%eax)
897 - SET_SIZE(ddi_rep_put32)
898 - SET_SIZE(ddi_rep_putl)
899 - SET_SIZE(ddi_mem_rep_putl)
900 - SET_SIZE(ddi_mem_rep_put32)
901 -
902 -#endif /* __i386 */
903 -
904 -#if defined(__amd64)
905 -
906 316 ENTRY(ddi_rep_put64)
907 317 ALTENTRY(ddi_rep_putll)
908 318 ALTENTRY(ddi_mem_rep_putll)
909 319 ALTENTRY(ddi_mem_rep_put64)
910 320 movq ACC_REP_PUTLL(%rdi), %rax
911 321 INDIRECT_JMP_REG(rax)
912 322 SET_SIZE(ddi_rep_put64)
913 323 SET_SIZE(ddi_rep_putll)
914 324 SET_SIZE(ddi_mem_rep_putll)
915 325 SET_SIZE(ddi_mem_rep_put64)
916 326
917 -#elif defined(__i386)
918 -
919 - ENTRY(ddi_rep_put64)
920 - ALTENTRY(ddi_rep_putll)
921 - ALTENTRY(ddi_mem_rep_putll)
922 - ALTENTRY(ddi_mem_rep_put64)
923 - movl 4(%esp), %eax
924 - jmp *ACC_REP_PUTLL(%eax)
925 - SET_SIZE(ddi_rep_put64)
926 - SET_SIZE(ddi_rep_putll)
927 - SET_SIZE(ddi_mem_rep_putll)
928 - SET_SIZE(ddi_mem_rep_put64)
929 -
930 -#endif /* __i386 */
931 -
932 -#endif /* lint */
933 -
934 -#if defined(lint) || defined(__lint)
935 -
936 -/*ARGSUSED*/
937 -uint8_t
938 -i_ddi_vaddr_get8(ddi_acc_impl_t *hdlp, uint8_t *addr)
939 -{
940 - return (*addr);
941 -}
942 -
943 -/*ARGSUSED*/
944 -uint16_t
945 -i_ddi_vaddr_get16(ddi_acc_impl_t *hdlp, uint16_t *addr)
946 -{
947 - return (*addr);
948 -}
949 -
950 -/*ARGSUSED*/
951 -uint32_t
952 -i_ddi_vaddr_get32(ddi_acc_impl_t *hdlp, uint32_t *addr)
953 -{
954 - return (*addr);
955 -}
956 -
957 -/*ARGSUSED*/
958 -uint64_t
959 -i_ddi_vaddr_get64(ddi_acc_impl_t *hdlp, uint64_t *addr)
960 -{
961 - return (*addr);
962 -}
963 -
964 -#else /* lint */
965 -
966 -#if defined(__amd64)
967 -
968 327 ENTRY(i_ddi_vaddr_get8)
969 328 movzbq (%rsi), %rax
970 329 ret
971 330 SET_SIZE(i_ddi_vaddr_get8)
972 331
973 -#elif defined(__i386)
974 -
975 - ENTRY(i_ddi_vaddr_get8)
976 - movl 8(%esp), %eax
977 - movzbl (%eax), %eax
978 - ret
979 - SET_SIZE(i_ddi_vaddr_get8)
980 -
981 -#endif /* __i386 */
982 -
983 -#if defined(__amd64)
984 -
985 332 ENTRY(i_ddi_vaddr_get16)
986 333 movzwq (%rsi), %rax
987 334 ret
988 335 SET_SIZE(i_ddi_vaddr_get16)
989 336
990 -#elif defined(__i386)
991 337
992 - ENTRY(i_ddi_vaddr_get16)
993 - movl 8(%esp), %eax
994 - movzwl (%eax), %eax
995 - ret
996 - SET_SIZE(i_ddi_vaddr_get16)
997 -
998 -#endif /* __i386 */
999 -
1000 -#if defined(__amd64)
1001 -
1002 338 ENTRY(i_ddi_vaddr_get32)
1003 339 movl (%rsi), %eax
1004 340 ret
1005 341 SET_SIZE(i_ddi_vaddr_get32)
1006 342
1007 -#elif defined(__i386)
1008 343
1009 - ENTRY(i_ddi_vaddr_get32)
1010 - movl 8(%esp), %eax
1011 - movl (%eax), %eax
1012 - ret
1013 - SET_SIZE(i_ddi_vaddr_get32)
1014 -
1015 -#endif /* __i386 */
1016 -
1017 -#if defined(__amd64)
1018 -
1019 344 ENTRY(i_ddi_vaddr_get64)
1020 345 movq (%rsi), %rax
1021 346 ret
1022 347 SET_SIZE(i_ddi_vaddr_get64)
1023 348
1024 -#elif defined(__i386)
1025 349
1026 - ENTRY(i_ddi_vaddr_get64)
1027 - movl 8(%esp), %ecx
1028 - movl (%ecx), %eax
1029 - movl 4(%ecx), %edx
1030 - ret
1031 - SET_SIZE(i_ddi_vaddr_get64)
1032 -
1033 -#endif /* __i386 */
1034 -
1035 -#endif /* lint */
1036 -
1037 -
1038 -#if defined(lint) || defined(__lint)
1039 -
1040 -/*ARGSUSED*/
1041 -uint8_t
1042 -i_ddi_io_get8(ddi_acc_impl_t *hdlp, uint8_t *addr)
1043 -{
1044 - return (0);
1045 -}
1046 -
1047 -/*ARGSUSED*/
1048 -uint16_t
1049 -i_ddi_io_get16(ddi_acc_impl_t *hdlp, uint16_t *addr)
1050 -{
1051 - return (0);
1052 -}
1053 -
1054 -/*ARGSUSED*/
1055 -uint32_t
1056 -i_ddi_io_get32(ddi_acc_impl_t *hdlp, uint32_t *addr)
1057 -{
1058 - return (0);
1059 -}
1060 -
1061 -#else /* lint */
1062 -
1063 -#if defined(__amd64)
1064 -
1065 350 ENTRY(i_ddi_io_get8)
1066 351 movq %rsi, %rdx
1067 352 inb (%dx)
1068 353 movzbq %al, %rax
1069 354 ret
1070 355 SET_SIZE(i_ddi_io_get8)
1071 356
1072 -#elif defined(__i386)
1073 357
1074 - ENTRY(i_ddi_io_get8)
1075 - movl 8(%esp), %edx
1076 - inb (%dx)
1077 - movzbl %al, %eax
1078 - ret
1079 - SET_SIZE(i_ddi_io_get8)
1080 -
1081 -#endif /* __i386 */
1082 -
1083 -#if defined(__amd64)
1084 -
1085 358 ENTRY(i_ddi_io_get16)
1086 359 movq %rsi, %rdx
1087 360 inw (%dx)
1088 361 movzwq %ax, %rax
1089 362 ret
1090 363 SET_SIZE(i_ddi_io_get16)
1091 364
1092 -#elif defined(__i386)
1093 365
1094 - ENTRY(i_ddi_io_get16)
1095 - movl 8(%esp), %edx
1096 - inw (%dx)
1097 - movzwl %ax, %eax
1098 - ret
1099 - SET_SIZE(i_ddi_io_get16)
1100 -
1101 -#endif /* __i386 */
1102 -
1103 -#if defined(__amd64)
1104 -
1105 366 ENTRY(i_ddi_io_get32)
1106 367 movq %rsi, %rdx
1107 368 inl (%dx)
1108 369 ret
1109 370 SET_SIZE(i_ddi_io_get32)
1110 371
1111 -#elif defined(__i386)
1112 -
1113 - ENTRY(i_ddi_io_get32)
1114 - movl 8(%esp), %edx
1115 - inl (%dx)
1116 - ret
1117 - SET_SIZE(i_ddi_io_get32)
1118 -
1119 -#endif /* __i386 */
1120 -
1121 -#endif /* lint */
1122 -
1123 -#if defined(lint) || defined(__lint)
1124 -
1125 -/*ARGSUSED*/
1126 -void
1127 -i_ddi_vaddr_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value)
1128 -{
1129 - *addr = value;
1130 -}
1131 -
1132 -/*ARGSUSED*/
1133 -void
1134 -i_ddi_vaddr_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value)
1135 -{
1136 - *addr = value;
1137 -}
1138 -
1139 -/*ARGSUSED*/
1140 -void
1141 -i_ddi_vaddr_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value)
1142 -{
1143 - *(uint32_t *)addr = value;
1144 -}
1145 -
1146 -/*ARGSUSED*/
1147 -void
1148 -i_ddi_vaddr_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value)
1149 -{
1150 - *addr = value;
1151 -}
1152 -
1153 -#else /* lint */
1154 -
1155 -#if defined(__amd64)
1156 -
1157 372 ENTRY(i_ddi_vaddr_put8)
1158 373 movb %dl, (%rsi)
1159 374 ret
1160 375 SET_SIZE(i_ddi_vaddr_put8)
1161 376
1162 -#elif defined(__i386)
1163 377
1164 - ENTRY(i_ddi_vaddr_put8)
1165 - movl 8(%esp), %eax
1166 - movb 12(%esp), %cl
1167 - movb %cl, (%eax)
1168 - ret
1169 - SET_SIZE(i_ddi_vaddr_put8)
1170 -
1171 -#endif /* __i386 */
1172 -
1173 -#if defined(__amd64)
1174 -
1175 378 ENTRY(i_ddi_vaddr_put16)
1176 379 movw %dx, (%rsi)
1177 380 ret
1178 381 SET_SIZE(i_ddi_vaddr_put16)
1179 382
1180 -#elif defined(__i386)
1181 383
1182 - ENTRY(i_ddi_vaddr_put16)
1183 - movl 8(%esp), %eax
1184 - movl 12(%esp), %ecx
1185 - movw %cx, (%eax)
1186 - ret
1187 - SET_SIZE(i_ddi_vaddr_put16)
1188 -
1189 -#endif /* __i386 */
1190 -
1191 -#if defined(__amd64)
1192 -
1193 384 ENTRY(i_ddi_vaddr_put32)
1194 385 movl %edx, (%rsi)
1195 386 ret
1196 387 SET_SIZE(i_ddi_vaddr_put32)
1197 388
1198 -#elif defined(__i386)
1199 389
1200 - ENTRY(i_ddi_vaddr_put32)
1201 - movl 8(%esp), %eax
1202 - movl 12(%esp), %ecx
1203 - movl %ecx, (%eax)
1204 - ret
1205 - SET_SIZE(i_ddi_vaddr_put32)
1206 -
1207 -#endif /* __i386 */
1208 -
1209 -#if defined(__amd64)
1210 -
1211 390 ENTRY(i_ddi_vaddr_put64)
1212 391 movq %rdx, (%rsi)
1213 392 ret
1214 393 SET_SIZE(i_ddi_vaddr_put64)
1215 394
1216 -#elif defined(__i386)
1217 -
1218 - ENTRY(i_ddi_vaddr_put64)
1219 - movl 8(%esp), %ecx
1220 - movl 12(%esp), %edx
1221 - movl 16(%esp), %eax
1222 - movl %edx, (%ecx)
1223 - movl %eax, 4(%ecx)
1224 - ret
1225 - SET_SIZE(i_ddi_vaddr_put64)
1226 -
1227 -#endif /* __i386 */
1228 -
1229 -#endif /* lint */
1230 -
1231 -#if defined(lint) || defined(__lint)
1232 -
1233 -/*ARGSUSED*/
1234 -void
1235 -i_ddi_io_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value)
1236 -{}
1237 -
1238 -/*ARGSUSED*/
1239 -void
1240 -i_ddi_io_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value)
1241 -{}
1242 -
1243 -/*ARGSUSED*/
1244 -void
1245 -i_ddi_io_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value)
1246 -{}
1247 -
1248 -#else /* lint */
1249 -
1250 -#if defined(__amd64)
1251 -
1252 395 ENTRY(i_ddi_io_put8)
1253 396 movq %rdx, %rax
1254 397 movq %rsi, %rdx
1255 398 outb (%dx)
1256 399 ret
1257 400 SET_SIZE(i_ddi_io_put8)
1258 401
1259 -#elif defined(__i386)
1260 402
1261 - ENTRY(i_ddi_io_put8)
1262 - movl 12(%esp), %eax
1263 - movl 8(%esp), %edx
1264 - outb (%dx)
1265 - ret
1266 - SET_SIZE(i_ddi_io_put8)
1267 -
1268 -#endif /* __i386 */
1269 -
1270 -#if defined(__amd64)
1271 -
1272 403 ENTRY(i_ddi_io_put16)
1273 404 movq %rdx, %rax
1274 405 movq %rsi, %rdx
1275 406 outw (%dx)
1276 407 ret
1277 408 SET_SIZE(i_ddi_io_put16)
1278 409
1279 -#elif defined(__i386)
1280 410
1281 - ENTRY(i_ddi_io_put16)
1282 - movl 12(%esp), %eax
1283 - movl 8(%esp), %edx
1284 - outw (%dx)
1285 - ret
1286 - SET_SIZE(i_ddi_io_put16)
1287 -
1288 -#endif /* __i386 */
1289 -
1290 -#if defined(__amd64)
1291 -
1292 411 ENTRY(i_ddi_io_put32)
1293 412 movq %rdx, %rax
1294 413 movq %rsi, %rdx
1295 414 outl (%dx)
1296 415 ret
1297 416 SET_SIZE(i_ddi_io_put32)
1298 417
1299 -#elif defined(__i386)
1300 -
1301 - ENTRY(i_ddi_io_put32)
1302 - movl 12(%esp), %eax
1303 - movl 8(%esp), %edx
1304 - outl (%dx)
1305 - ret
1306 - SET_SIZE(i_ddi_io_put32)
1307 -
1308 -#endif /* __i386 */
1309 -
1310 -#endif /* lint */
1311 -
1312 -#if defined(lint) || defined(__lint)
1313 -
1314 -/*ARGSUSED*/
1315 -void
1316 -i_ddi_io_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
1317 - uint8_t *dev_addr, size_t repcount, uint_t flags)
1318 -{}
1319 -
1320 -/*ARGSUSED*/
1321 -void
1322 -i_ddi_io_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
1323 - uint16_t *dev_addr, size_t repcount, uint_t flags)
1324 -{}
1325 -
1326 -/*ARGSUSED*/
1327 -void
1328 -i_ddi_io_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
1329 - uint32_t *dev_addr, size_t repcount, uint_t flags)
1330 -{}
1331 -
1332 -#else /* lint */
1333 -
1334 -#if defined(__amd64)
1335 -
1336 418 /*
1337 419 * Incoming arguments
1338 420 *
1339 421 * %rdi : hdlp
1340 422 * %rsi : host_addr
1341 423 * %rdx : dev_addr
1342 424 * %rcx : repcount
1343 425 * %r8 : flags
1344 426 *
1345 427 * This routine will destroy values in %rdx, %rsi, %rcx.
1346 428 */
1347 429 ENTRY(i_ddi_io_rep_get8)
1348 430
1349 431 cmpq $DDI_DEV_AUTOINCR, %r8
1350 432 je gb_ioadv
1351 433 movq %rsi, %rdi
1352 434 rep
1353 435 insb
1354 436 ret
1355 437
1356 438 gb_ioadv:
1357 439 andq %rcx, %rcx
1358 440 jz gb_ioadv_done
1359 441 gb_ioadv2:
1360 442 inb (%dx)
1361 443 movb %al, (%rsi)
1362 444 incq %rdx
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
1363 445 incq %rsi
1364 446 decq %rcx
1365 447 jg gb_ioadv2
1366 448
1367 449 gb_ioadv_done:
1368 450 rep; ret /* use 2 byte return instruction when branch target */
1369 451 /* AMD Software Optimization Guide - Section 6.2 */
1370 452
1371 453 SET_SIZE(i_ddi_io_rep_get8)
1372 454
1373 -#elif defined(__i386)
1374 455
1375 - ENTRY(i_ddi_io_rep_get8)
1376 - pushl %edi
1377 -
1378 - movl 12(%esp),%edi / get host_addr
1379 - movl 16(%esp),%edx / get port
1380 - movl 20(%esp),%ecx / get repcount
1381 - cmpl $DDI_DEV_AUTOINCR, 24(%esp)
1382 - je gb_ioadv
1383 -
1384 - rep
1385 - insb
1386 - popl %edi
1387 - ret
1388 -
1389 -gb_ioadv:
1390 - andl %ecx, %ecx
1391 - jz gb_ioadv_done
1392 -gb_ioadv2:
1393 - inb (%dx)
1394 - movb %al,(%edi)
1395 - incl %edi
1396 - incl %edx
1397 - decl %ecx
1398 - jg gb_ioadv2
1399 -
1400 -gb_ioadv_done:
1401 - popl %edi
1402 - ret
1403 -
1404 - SET_SIZE(i_ddi_io_rep_get8)
1405 -
1406 -#endif /* __i386 */
1407 -
1408 -#if defined(__amd64)
1409 -
1410 456 ENTRY(i_ddi_io_rep_get16)
1411 457
1412 458 cmpq $DDI_DEV_AUTOINCR, %r8
1413 459 je gw_ioadv
1414 460
1415 461 movq %rsi, %rdi
1416 462 rep
1417 463 insw
1418 464 ret
1419 465
1420 466 gw_ioadv:
1421 467 andq %rcx, %rcx
1422 468 jz gw_ioadv_done
1423 469 gw_ioadv2:
1424 470 inw (%dx)
1425 471 movw %ax,(%rsi)
↓ open down ↓ |
6 lines elided |
↑ open up ↑ |
1426 472 addq $2, %rsi
1427 473 addq $2, %rdx
1428 474 decq %rcx
1429 475 jg gw_ioadv2
1430 476
1431 477 gw_ioadv_done:
1432 478 rep; ret /* use 2 byte return instruction when branch target */
1433 479 /* AMD Software Optimization Guide - Section 6.2 */
1434 480 SET_SIZE(i_ddi_io_rep_get16)
1435 481
1436 -#elif defined(__i386)
1437 482
1438 - ENTRY(i_ddi_io_rep_get16)
1439 - pushl %edi
1440 -
1441 - movl 12(%esp),%edi / get host_addr
1442 - movl 16(%esp),%edx / get port
1443 - movl 20(%esp),%ecx / get repcount
1444 - cmpl $DDI_DEV_AUTOINCR, 24(%esp)
1445 - je gw_ioadv
1446 -
1447 - rep
1448 - insw
1449 - popl %edi
1450 - ret
1451 -
1452 -gw_ioadv:
1453 - andl %ecx, %ecx
1454 - jz gw_ioadv_done
1455 -gw_ioadv2:
1456 - inw (%dx)
1457 - movw %ax,(%edi)
1458 - addl $2, %edi
1459 - addl $2, %edx
1460 - decl %ecx
1461 - jg gw_ioadv2
1462 -
1463 -gw_ioadv_done:
1464 - popl %edi
1465 - ret
1466 - SET_SIZE(i_ddi_io_rep_get16)
1467 -
1468 -#endif /* __i386 */
1469 -
1470 -#if defined(__amd64)
1471 -
1472 483 ENTRY(i_ddi_io_rep_get32)
1473 484
1474 485 cmpq $DDI_DEV_AUTOINCR, %r8
1475 486 je gl_ioadv
1476 487
1477 488 movq %rsi, %rdi
1478 489 rep
1479 490 insl
1480 491 ret
1481 492
1482 493 gl_ioadv:
1483 494 andq %rcx, %rcx
1484 495 jz gl_ioadv_done
1485 496 gl_ioadv2:
1486 497 inl (%dx)
1487 498 movl %eax,(%rsi)
1488 499 addq $4, %rsi
↓ open down ↓ |
7 lines elided |
↑ open up ↑ |
1489 500 addq $4, %rdx
1490 501 decq %rcx
1491 502 jg gl_ioadv2
1492 503
1493 504 gl_ioadv_done:
1494 505 rep; ret /* use 2 byte return instruction when branch target */
1495 506 /* AMD Software Optimization Guide - Section 6.2 */
1496 507
1497 508 SET_SIZE(i_ddi_io_rep_get32)
1498 509
1499 -
1500 -#elif defined(__i386)
1501 -
1502 - ENTRY(i_ddi_io_rep_get32)
1503 - pushl %edi
1504 -
1505 - movl 12(%esp),%edi / get host_addr
1506 - movl 16(%esp),%edx / get port
1507 - movl 20(%esp),%ecx / get repcount
1508 - cmpl $DDI_DEV_AUTOINCR, 24(%esp)
1509 - je gl_ioadv
1510 -
1511 - rep
1512 - insl
1513 - popl %edi
1514 - ret
1515 -
1516 -gl_ioadv:
1517 - andl %ecx, %ecx
1518 - jz gl_ioadv_done
1519 -gl_ioadv2:
1520 - inl (%dx)
1521 - movl %eax,(%edi)
1522 - addl $4, %edi
1523 - addl $4, %edx
1524 - decl %ecx
1525 - jg gl_ioadv2
1526 -
1527 -gl_ioadv_done:
1528 - popl %edi
1529 - ret
1530 -
1531 - SET_SIZE(i_ddi_io_rep_get32)
1532 -
1533 -#endif /* __i386 */
1534 -
1535 -#endif /* lint */
1536 -
1537 -#if defined(lint) || defined(__lint)
1538 -
1539 -/*ARGSUSED*/
1540 -void
1541 -i_ddi_io_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
1542 - uint8_t *dev_addr, size_t repcount, uint_t flags)
1543 -{}
1544 -
1545 -/*ARGSUSED*/
1546 -void
1547 -i_ddi_io_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
1548 - uint16_t *dev_addr, size_t repcount, uint_t flags)
1549 -{}
1550 -
1551 -/*ARGSUSED*/
1552 -void
1553 -i_ddi_io_rep_put32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
1554 - uint32_t *dev_addr, size_t repcount, uint_t flags)
1555 -{}
1556 -
1557 -#else /* lint */
1558 -
1559 -#if defined(__amd64)
1560 -
1561 510 /*
1562 511 * Incoming arguments
1563 512 *
1564 513 * %rdi : hdlp
1565 514 * %rsi : host_addr
1566 515 * %rdx : dev_addr
1567 516 * %rcx : repcount
1568 517 * %r8 : flags
1569 518 *
1570 519 * This routine will destroy values in %rdx, %rsi, %rcx.
1571 520 */
1572 521 ENTRY(i_ddi_io_rep_put8)
1573 522
1574 523 cmpq $DDI_DEV_AUTOINCR, %r8
1575 524 je pb_ioadv
1576 525
1577 526 movq %rsi, %rdi
1578 527 rep
1579 528 outsb
1580 529 ret
1581 530
1582 531 pb_ioadv:
1583 532 andq %rcx, %rcx
1584 533 jz pb_ioadv_done
1585 534 pb_ioadv2:
1586 535 movb (%rsi), %al
1587 536 outb (%dx)
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
1588 537 incq %rsi
1589 538 incq %rdx
1590 539 decq %rcx
1591 540 jg pb_ioadv2
1592 541
1593 542 pb_ioadv_done:
1594 543 rep; ret /* use 2 byte return instruction when branch target */
1595 544 /* AMD Software Optimization Guide - Section 6.2 */
1596 545 SET_SIZE(i_ddi_io_rep_put8)
1597 546
1598 -#elif defined(__i386)
1599 -
1600 - ENTRY(i_ddi_io_rep_put8)
1601 - pushl %esi
1602 -
1603 - movl 12(%esp),%esi / get host_addr
1604 - movl 16(%esp),%edx / get port
1605 - movl 20(%esp),%ecx / get repcount
1606 - cmpl $DDI_DEV_AUTOINCR, 24(%esp)
1607 - je pb_ioadv
1608 -
1609 - rep
1610 - outsb
1611 - popl %esi
1612 - ret
1613 -
1614 -pb_ioadv:
1615 - andl %ecx, %ecx
1616 - jz pb_ioadv_done
1617 -pb_ioadv2:
1618 - movb (%esi), %al
1619 - outb (%dx)
1620 - incl %esi
1621 - incl %edx
1622 - decl %ecx
1623 - jg pb_ioadv2
1624 -
1625 -pb_ioadv_done:
1626 - popl %esi
1627 - ret
1628 - SET_SIZE(i_ddi_io_rep_put8)
1629 -
1630 -#endif /* __i386 */
1631 -
1632 -#if defined(__amd64)
1633 -
1634 547 ENTRY(i_ddi_io_rep_put16)
1635 548
1636 549 cmpq $DDI_DEV_AUTOINCR, %r8
1637 550 je pw_ioadv
1638 551
1639 552 movq %rsi, %rdi
1640 553 rep
1641 554 outsw
1642 555 ret
1643 556
1644 557 pw_ioadv:
1645 558 andq %rcx, %rcx
1646 559 jz pw_ioadv_done
1647 560 pw_ioadv2:
1648 561 movw (%rsi), %ax
1649 562 outw (%dx)
↓ open down ↓ |
6 lines elided |
↑ open up ↑ |
1650 563 addq $2, %rsi
1651 564 addq $2, %rdx
1652 565 decq %rcx
1653 566 jg pw_ioadv2
1654 567
1655 568 pw_ioadv_done:
1656 569 rep; ret /* use 2 byte return instruction when branch target */
1657 570 /* AMD Software Optimization Guide - Section 6.2 */
1658 571 SET_SIZE(i_ddi_io_rep_put16)
1659 572
1660 -#elif defined(__i386)
1661 573
1662 - ENTRY(i_ddi_io_rep_put16)
1663 - pushl %esi
1664 -
1665 - movl 12(%esp),%esi / get host_addr
1666 - movl 16(%esp),%edx / get port
1667 - movl 20(%esp),%ecx / get repcount
1668 - cmpl $DDI_DEV_AUTOINCR, 24(%esp)
1669 - je pw_ioadv
1670 -
1671 - rep
1672 - outsw
1673 - popl %esi
1674 - ret
1675 -
1676 -pw_ioadv:
1677 - andl %ecx, %ecx
1678 - jz pw_ioadv_done
1679 -pw_ioadv2:
1680 - movw (%esi), %ax
1681 - outw (%dx)
1682 - addl $2, %esi
1683 - addl $2, %edx
1684 - decl %ecx
1685 - jg pw_ioadv2
1686 -
1687 -pw_ioadv_done:
1688 - popl %esi
1689 - ret
1690 - SET_SIZE(i_ddi_io_rep_put16)
1691 -
1692 -#endif /* __i386 */
1693 -
1694 -#if defined(__amd64)
1695 -
1696 574 ENTRY(i_ddi_io_rep_put32)
1697 575
1698 576 cmpq $DDI_DEV_AUTOINCR, %r8
1699 577 je pl_ioadv
1700 578
1701 579 movq %rsi, %rdi
1702 580 rep
1703 581 outsl
1704 582 ret
1705 583
1706 584 pl_ioadv:
1707 585 andq %rcx, %rcx
1708 586 jz pl_ioadv_done
1709 587 pl_ioadv2:
1710 588 movl (%rsi), %eax
1711 589 outl (%dx)
↓ open down ↓ |
6 lines elided |
↑ open up ↑ |
1712 590 addq $4, %rsi
1713 591 addq $4, %rdx
1714 592 decq %rcx
1715 593 jg pl_ioadv2
1716 594
1717 595 pl_ioadv_done:
1718 596 rep; ret /* use 2 byte return instruction when branch target */
1719 597 /* AMD Software Optimization Guide - Section 6.2 */
1720 598 SET_SIZE(i_ddi_io_rep_put32)
1721 599
1722 -#elif defined(__i386)
1723 -
1724 - ENTRY(i_ddi_io_rep_put32)
1725 - pushl %esi
1726 -
1727 - movl 12(%esp),%esi / get host_addr
1728 - movl 16(%esp),%edx / get port
1729 - movl 20(%esp),%ecx / get repcount
1730 - cmpl $DDI_DEV_AUTOINCR, 24(%esp)
1731 - je pl_ioadv
1732 -
1733 - rep
1734 - outsl
1735 - popl %esi
1736 - ret
1737 -
1738 -pl_ioadv:
1739 - andl %ecx, %ecx
1740 - jz pl_ioadv_done
1741 -pl_ioadv2:
1742 - movl (%esi), %eax
1743 - outl (%dx)
1744 - addl $4, %esi
1745 - addl $4, %edx
1746 - decl %ecx
1747 - jg pl_ioadv2
1748 -
1749 -pl_ioadv_done:
1750 - popl %esi
1751 - ret
1752 - SET_SIZE(i_ddi_io_rep_put32)
1753 -
1754 -#endif /* __i386 */
1755 -
1756 -#endif /* lint */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX