34 #include <sys/modctl.h>
35 #include <sys/sunddi.h>
36 #include <sys/iommulib.h>
37 #include <sys/sdt.h>
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43
44 /* size of buffer used for ctlop reportdev */
45 #define REPORTDEV_BUFSIZE 1024
46
47 /* min and max interrupt vectors */
48 #define VEC_MIN 1
49 #define VEC_MAX 255
50
51 /* atomic increment/decrement to keep track of outstanding binds, etc */
52 #ifdef DEBUG
53 #define ROOTNEX_DPROF_INC(addr) atomic_inc_64(addr)
54 #define ROOTNEX_DPROF_DEC(addr) atomic_add_64(addr, -1)
55 #define ROOTNEX_DPROBE1(name, type1, arg1) \
56 DTRACE_PROBE1(name, type1, arg1)
57 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2) \
58 DTRACE_PROBE2(name, type1, arg1, type2, arg2)
59 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3) \
60 DTRACE_PROBE3(name, type1, arg1, type2, arg2, type3, arg3)
61 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
62 type4, arg4) \
63 DTRACE_PROBE4(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
64 #else
65 #define ROOTNEX_DPROF_INC(addr)
66 #define ROOTNEX_DPROF_DEC(addr)
67 #define ROOTNEX_DPROBE1(name, type1, arg1)
68 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2)
69 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3)
70 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
71 type4, arg4)
72 #endif
73
74 /* set in dmac_type to signify that this cookie uses the copy buffer */
|
34 #include <sys/modctl.h>
35 #include <sys/sunddi.h>
36 #include <sys/iommulib.h>
37 #include <sys/sdt.h>
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43
44 /* size of buffer used for ctlop reportdev */
45 #define REPORTDEV_BUFSIZE 1024
46
47 /* min and max interrupt vectors */
48 #define VEC_MIN 1
49 #define VEC_MAX 255
50
51 /* atomic increment/decrement to keep track of outstanding binds, etc */
52 #ifdef DEBUG
53 #define ROOTNEX_DPROF_INC(addr) atomic_inc_64(addr)
54 #define ROOTNEX_DPROF_DEC(addr) atomic_dec_64(addr)
55 #define ROOTNEX_DPROBE1(name, type1, arg1) \
56 DTRACE_PROBE1(name, type1, arg1)
57 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2) \
58 DTRACE_PROBE2(name, type1, arg1, type2, arg2)
59 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3) \
60 DTRACE_PROBE3(name, type1, arg1, type2, arg2, type3, arg3)
61 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
62 type4, arg4) \
63 DTRACE_PROBE4(name, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
64 #else
65 #define ROOTNEX_DPROF_INC(addr)
66 #define ROOTNEX_DPROF_DEC(addr)
67 #define ROOTNEX_DPROBE1(name, type1, arg1)
68 #define ROOTNEX_DPROBE2(name, type1, arg1, type2, arg2)
69 #define ROOTNEX_DPROBE3(name, type1, arg1, type2, arg2, type3, arg3)
70 #define ROOTNEX_DPROBE4(name, type1, arg1, type2, arg2, type3, arg3, \
71 type4, arg4)
72 #endif
73
74 /* set in dmac_type to signify that this cookie uses the copy buffer */
|