sd: remove 'ssd' driver support
[unleashed/tickless.git] / arch / x86 / include / sys / ddi_isa.h
blob7590c411fedd3bb8532ff4850baecceef3e10649
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
26 #ifndef _SYS_DDI_ISA_H
27 #define _SYS_DDI_ISA_H
29 #include <sys/isa_defs.h>
30 #include <sys/dditypes.h>
31 #include <sys/ndifm.h>
32 #ifdef _KERNEL
33 #include <sys/ddi_obsolete.h>
34 #endif
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
40 #ifdef _KERNEL
43 * These are the data access functions which the platform
44 * can choose to define as functions or macro's.
48 * DDI interfaces defined as macro's
52 * DDI interfaces defined as functions
55 #ifdef __STDC__
58 * ahi_acc_attr flags
60 #define DDI_ACCATTR_CONFIG_SPACE 0x1
61 #define DDI_ACCATTR_IO_SPACE 0x2
62 #define DDI_ACCATTR_CPU_VADDR 0x4
63 #define DDI_ACCATTR_DIRECT 0x8
65 typedef struct ddi_acc_impl {
66 ddi_acc_hdl_t ahi_common;
67 uint_t ahi_acc_attr;
68 ulong_t ahi_io_port_base;
70 uint8_t
71 (*ahi_get8)(struct ddi_acc_impl *handle, uint8_t *addr);
72 uint16_t
73 (*ahi_get16)(struct ddi_acc_impl *handle, uint16_t *addr);
74 uint32_t
75 (*ahi_get32)(struct ddi_acc_impl *handle, uint32_t *addr);
76 uint64_t
77 (*ahi_get64)(struct ddi_acc_impl *handle, uint64_t *addr);
79 void (*ahi_put8)(struct ddi_acc_impl *handle, uint8_t *addr,
80 uint8_t value);
81 void (*ahi_put16)(struct ddi_acc_impl *handle, uint16_t *addr,
82 uint16_t value);
83 void (*ahi_put32)(struct ddi_acc_impl *handle, uint32_t *addr,
84 uint32_t value);
85 void (*ahi_put64)(struct ddi_acc_impl *handle, uint64_t *addr,
86 uint64_t value);
88 void (*ahi_rep_get8)(struct ddi_acc_impl *handle,
89 uint8_t *host_addr, uint8_t *dev_addr,
90 size_t repcount, uint_t flags);
91 void (*ahi_rep_get16)(struct ddi_acc_impl *handle,
92 uint16_t *host_addr, uint16_t *dev_addr,
93 size_t repcount, uint_t flags);
94 void (*ahi_rep_get32)(struct ddi_acc_impl *handle,
95 uint32_t *host_addr, uint32_t *dev_addr,
96 size_t repcount, uint_t flags);
97 void (*ahi_rep_get64)(struct ddi_acc_impl *handle,
98 uint64_t *host_addr, uint64_t *dev_addr,
99 size_t repcount, uint_t flags);
101 void (*ahi_rep_put8)(struct ddi_acc_impl *handle,
102 uint8_t *host_addr, uint8_t *dev_addr,
103 size_t repcount, uint_t flags);
104 void (*ahi_rep_put16)(struct ddi_acc_impl *handle,
105 uint16_t *host_addr, uint16_t *dev_addr,
106 size_t repcount, uint_t flags);
107 void (*ahi_rep_put32)(struct ddi_acc_impl *handle,
108 uint32_t *host_addr, uint32_t *dev_addr,
109 size_t repcount, uint_t flags);
110 void (*ahi_rep_put64)(struct ddi_acc_impl *handle,
111 uint64_t *host_addr, uint64_t *dev_addr,
112 size_t repcount, uint_t flags);
114 int (*ahi_fault_check)(struct ddi_acc_impl *handle);
115 void (*ahi_fault_notify)(struct ddi_acc_impl *handle);
116 uint32_t ahi_fault;
117 ndi_err_t *ahi_err;
118 kmutex_t *ahi_peekpoke_mutexp;
119 kmutex_t *ahi_err_mutexp;
120 void (*ahi_scan)(dev_info_t *, ddi_fm_error_t *);
121 dev_info_t *ahi_scan_dip;
122 } ddi_acc_impl_t;
126 * Input functions to memory mapped IO
128 uint8_t
129 i_ddi_vaddr_get8(ddi_acc_impl_t *hdlp, uint8_t *addr);
131 uint16_t
132 i_ddi_vaddr_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
134 uint32_t
135 i_ddi_vaddr_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
137 uint64_t
138 i_ddi_vaddr_get64(ddi_acc_impl_t *hdlp, uint64_t *addr);
140 uint16_t
141 i_ddi_vaddr_swap_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
143 uint32_t
144 i_ddi_vaddr_swap_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
146 uint64_t
147 i_ddi_vaddr_swap_get64(ddi_acc_impl_t *hdlp, uint64_t *addr);
150 * Output functions to memory mapped IO
152 void
153 i_ddi_vaddr_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value);
155 void
156 i_ddi_vaddr_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
158 void
159 i_ddi_vaddr_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
161 void
162 i_ddi_vaddr_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value);
164 void
165 i_ddi_vaddr_swap_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
167 void
168 i_ddi_vaddr_swap_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
170 void
171 i_ddi_vaddr_swap_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value);
174 * Repeated input functions for memory mapped IO
176 void
177 i_ddi_vaddr_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
178 uint8_t *dev_addr, size_t repcount, uint_t flags);
180 void
181 i_ddi_vaddr_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
182 uint16_t *dev_addr, size_t repcount, uint_t flags);
184 void
185 i_ddi_vaddr_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
186 uint32_t *dev_addr, size_t repcount, uint_t flags);
188 void
189 i_ddi_vaddr_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr,
190 uint64_t *dev_addr, size_t repcount, uint_t flags);
192 void
193 i_ddi_vaddr_swap_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
194 uint16_t *dev_addr, size_t repcount, uint_t flags);
196 void
197 i_ddi_vaddr_swap_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
198 uint32_t *dev_addr, size_t repcount, uint_t flags);
200 void
201 i_ddi_vaddr_swap_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr,
202 uint64_t *dev_addr, size_t repcount, uint_t flags);
205 * Repeated output functions for memory mapped IO
207 void
208 i_ddi_vaddr_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
209 uint8_t *dev_addr, size_t repcount, uint_t flags);
211 void
212 i_ddi_vaddr_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
213 uint16_t *dev_addr, size_t repcount, uint_t flags);
215 void
216 i_ddi_vaddr_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
217 uint32_t *dev_addr, size_t repcount, uint_t flags);
219 void
220 i_ddi_vaddr_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr,
221 uint64_t *dev_addr, size_t repcount, uint_t flags);
223 void
224 i_ddi_vaddr_swap_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
225 uint16_t *dev_addr, size_t repcount, uint_t flags);
227 void
228 i_ddi_vaddr_swap_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
229 uint32_t *dev_addr, size_t repcount, uint_t flags);
231 void
232 i_ddi_vaddr_swap_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr,
233 uint64_t *dev_addr, size_t repcount, uint_t flags);
236 * Input functions to IO space
238 uint8_t
239 i_ddi_io_get8(ddi_acc_impl_t *hdlp, uint8_t *addr);
241 uint16_t
242 i_ddi_io_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
244 uint32_t
245 i_ddi_io_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
247 uint64_t
248 i_ddi_io_get64(ddi_acc_impl_t *hdlp, uint64_t *addr);
250 uint16_t
251 i_ddi_io_swap_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
253 uint32_t
254 i_ddi_io_swap_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
257 * Output functions to IO space
259 void
260 i_ddi_io_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value);
262 void
263 i_ddi_io_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
265 void
266 i_ddi_io_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
268 void
269 i_ddi_io_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value);
271 void
272 i_ddi_io_swap_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
274 void
275 i_ddi_io_swap_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
278 * Repeated input functions for IO space
280 void
281 i_ddi_io_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr, uint8_t *dev_addr,
282 size_t repcount, uint_t flags);
284 void
285 i_ddi_io_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
286 uint16_t *dev_addr, size_t repcount, uint_t flags);
288 void
289 i_ddi_io_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
290 uint32_t *dev_addr, size_t repcount, uint_t flags);
292 void
293 i_ddi_io_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr,
294 uint64_t *dev_addr, size_t repcount, uint_t flags);
296 void
297 i_ddi_io_swap_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
298 uint16_t *dev_addr, size_t repcount, uint_t flags);
300 void
301 i_ddi_io_swap_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
302 uint32_t *dev_addr, size_t repcount, uint_t flags);
305 * Repeated output functions for IO space
307 void
308 i_ddi_io_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr, uint8_t *dev_addr,
309 size_t repcount, uint_t flags);
311 void
312 i_ddi_io_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
313 uint16_t *dev_addr, size_t repcount, uint_t flags);
315 void
316 i_ddi_io_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr, uint32_t *dev_addr,
317 size_t repcount, uint_t flags);
319 void
320 i_ddi_io_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr, uint64_t *dev_addr,
321 size_t repcount, uint_t flags);
322 void
323 i_ddi_io_swap_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
324 uint16_t *dev_addr, size_t repcount, uint_t flags);
326 void
327 i_ddi_io_swap_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
328 uint32_t *dev_addr, size_t repcount, uint_t flags);
331 * repeat for protected mode accesses
335 * Input functions to memory mapped IO
337 uint8_t
338 i_ddi_prot_vaddr_get8(ddi_acc_impl_t *hdlp, uint8_t *addr);
340 uint16_t
341 i_ddi_prot_vaddr_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
343 uint32_t
344 i_ddi_prot_vaddr_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
346 uint64_t
347 i_ddi_prot_vaddr_get64(ddi_acc_impl_t *hdlp, uint64_t *addr);
349 uint16_t
350 i_ddi_prot_vaddr_swap_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
352 uint32_t
353 i_ddi_prot_vaddr_swap_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
355 uint64_t
356 i_ddi_prot_vaddr_swap_get64(ddi_acc_impl_t *hdlp, uint64_t *addr);
359 * Output functions to memory mapped IO
361 void
362 i_ddi_prot_vaddr_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value);
364 void
365 i_ddi_prot_vaddr_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
367 void
368 i_ddi_prot_vaddr_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
370 void
371 i_ddi_prot_vaddr_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value);
373 void
374 i_ddi_prot_vaddr_swap_put16(ddi_acc_impl_t *hdlp, uint16_t *addr,
375 uint16_t value);
377 void
378 i_ddi_prot_vaddr_swap_put32(ddi_acc_impl_t *hdlp, uint32_t *addr,
379 uint32_t value);
381 void
382 i_ddi_prot_vaddr_swap_put64(ddi_acc_impl_t *hdlp, uint64_t *addr,
383 uint64_t value);
386 * Repeated input functions for memory mapped IO
388 void
389 i_ddi_prot_vaddr_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
390 uint8_t *dev_addr, size_t repcount, uint_t flags);
392 void
393 i_ddi_prot_vaddr_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
394 uint16_t *dev_addr, size_t repcount, uint_t flags);
396 void
397 i_ddi_prot_vaddr_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
398 uint32_t *dev_addr, size_t repcount, uint_t flags);
400 void
401 i_ddi_prot_vaddr_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr,
402 uint64_t *dev_addr, size_t repcount, uint_t flags);
404 void
405 i_ddi_prot_vaddr_swap_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
406 uint16_t *dev_addr, size_t repcount, uint_t flags);
408 void
409 i_ddi_prot_vaddr_swap_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
410 uint32_t *dev_addr, size_t repcount, uint_t flags);
412 void
413 i_ddi_prot_vaddr_swap_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr,
414 uint64_t *dev_addr, size_t repcount, uint_t flags);
417 * Repeated output functions for memory mapped IO
419 void
420 i_ddi_prot_vaddr_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
421 uint8_t *dev_addr, size_t repcount, uint_t flags);
423 void
424 i_ddi_prot_vaddr_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
425 uint16_t *dev_addr, size_t repcount, uint_t flags);
427 void
428 i_ddi_prot_vaddr_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
429 uint32_t *dev_addr, size_t repcount, uint_t flags);
431 void
432 i_ddi_prot_vaddr_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr,
433 uint64_t *dev_addr, size_t repcount, uint_t flags);
435 void
436 i_ddi_prot_vaddr_swap_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
437 uint16_t *dev_addr, size_t repcount, uint_t flags);
439 void
440 i_ddi_prot_vaddr_swap_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
441 uint32_t *dev_addr, size_t repcount, uint_t flags);
443 void
444 i_ddi_prot_vaddr_swap_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr,
445 uint64_t *dev_addr, size_t repcount, uint_t flags);
448 * Input functions to IO space
450 uint8_t
451 i_ddi_prot_io_get8(ddi_acc_impl_t *hdlp, uint8_t *addr);
453 uint16_t
454 i_ddi_prot_io_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
456 uint32_t
457 i_ddi_prot_io_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
459 uint16_t
460 i_ddi_prot_io_swap_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
462 uint32_t
463 i_ddi_prot_io_swap_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
466 * Output functions to IO space
468 void
469 i_ddi_prot_io_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value);
471 void
472 i_ddi_prot_io_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
474 void
475 i_ddi_prot_io_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
477 void
478 i_ddi_prot_io_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value);
480 void
481 i_ddi_prot_io_swap_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
483 void
484 i_ddi_prot_io_swap_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
487 * Repeated input functions for IO space
489 void
490 i_ddi_prot_io_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
491 uint8_t *dev_addr, size_t repcount, uint_t flags);
493 void
494 i_ddi_prot_io_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
495 uint16_t *dev_addr, size_t repcount, uint_t flags);
497 void
498 i_ddi_prot_io_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
499 uint32_t *dev_addr, size_t repcount, uint_t flags);
501 void
502 i_ddi_prot_io_swap_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
503 uint16_t *dev_addr, size_t repcount, uint_t flags);
505 void
506 i_ddi_prot_io_swap_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
507 uint32_t *dev_addr, size_t repcount, uint_t flags);
510 * Repeated output functions for IO space
512 void
513 i_ddi_prot_io_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
514 uint8_t *dev_addr, size_t repcount, uint_t flags);
516 void
517 i_ddi_prot_io_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
518 uint16_t *dev_addr, size_t repcount, uint_t flags);
520 void
521 i_ddi_prot_io_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
522 uint32_t *dev_addr, size_t repcount, uint_t flags);
524 void
525 i_ddi_prot_io_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr,
526 uint64_t *dev_addr, size_t repcount, uint_t flags);
527 void
528 i_ddi_prot_io_swap_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
529 uint16_t *dev_addr, size_t repcount, uint_t flags);
531 void
532 i_ddi_prot_io_swap_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
533 uint32_t *dev_addr, size_t repcount, uint_t flags);
536 * Default fault-checking and notification functions
539 i_ddi_acc_fault_check(ddi_acc_impl_t *hdlp);
541 void
542 i_ddi_acc_fault_notify(ddi_acc_impl_t *hdlp);
544 /* DDI Fault Services functions */
545 void i_ddi_caut_get(size_t size, void *addr, void *val);
547 uint8_t i_ddi_caut_get8(ddi_acc_impl_t *hdlp, uint8_t *addr);
548 uint16_t i_ddi_caut_get16(ddi_acc_impl_t *hdlp, uint16_t *addr);
549 uint32_t i_ddi_caut_get32(ddi_acc_impl_t *hdlp, uint32_t *addr);
550 uint64_t i_ddi_caut_get64(ddi_acc_impl_t *hdlp, uint64_t *addr);
552 void i_ddi_caut_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value);
553 void i_ddi_caut_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value);
554 void i_ddi_caut_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value);
555 void i_ddi_caut_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value);
557 void i_ddi_caut_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
558 uint8_t *dev_addr, size_t repcount, uint_t flags);
559 void i_ddi_caut_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
560 uint16_t *dev_addr, size_t repcount, uint_t flags);
561 void i_ddi_caut_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr,
562 uint32_t *dev_addr, size_t repcount, uint_t flags);
563 void i_ddi_caut_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr,
564 uint64_t *dev_addr, size_t repcount, uint_t flags);
566 void i_ddi_caut_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr,
567 uint8_t *dev_addr, size_t repcount, uint_t flags);
568 void i_ddi_caut_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr,
569 uint16_t *dev_addr, size_t repcount, uint_t flags);
570 void i_ddi_caut_rep_put32(ddi_acc_impl_t *hdl, uint32_t *host_addr,
571 uint32_t *dev_addr, size_t repcount, uint_t flags);
572 void i_ddi_caut_rep_put64(ddi_acc_impl_t *hdl, uint64_t *host_addr,
573 uint64_t *dev_addr, size_t repcount, uint_t flags);
575 boolean_t i_ddi_copybuf_required(ddi_dma_attr_t *attrp);
576 size_t i_ddi_copybuf_size();
577 uint32_t i_ddi_dma_max(dev_info_t *dip, ddi_dma_attr_t *attrp);
579 /* handles case of running on top of hypervisor */
580 pfn_t i_ddi_paddr_to_pfn(paddr_t paddr);
582 #endif /* __STDC__ */
584 #endif /* _KERNEL */
586 #ifdef __cplusplus
588 #endif
590 #endif /* _SYS_DDI_ISA_H */