83 amd_iommu_getinfo, /* devo_getinfo */
84 nulldev, /* devo_identify */
85 nulldev, /* devo_probe */
86 amd_iommu_attach, /* devo_attach */
87 amd_iommu_detach, /* devo_detach */
88 nodev, /* devo_reset */
89 &amd_iommu_cb_ops, /* devo_cb_ops */
90 NULL, /* devo_bus_ops */
91 nulldev, /* devo_power */
92 amd_iommu_quiesce, /* devo_quiesce */
93 };
94
95 static struct modldrv modldrv = {
96 &mod_driverops,
97 "AMD IOMMU 0.1",
98 &amd_iommu_dev_ops
99 };
100
101 static struct modlinkage modlinkage = {
102 MODREV_1,
103 (void *)&modldrv,
104 NULL
105 };
106
107 amd_iommu_debug_t amd_iommu_debug;
108 kmutex_t amd_iommu_global_lock;
109 const char *amd_iommu_modname = "amd_iommu";
110 amd_iommu_alias_t **amd_iommu_alias;
111 amd_iommu_page_table_hash_t amd_iommu_page_table_hash;
112 static void *amd_iommu_statep;
113 int amd_iommu_64bit_bug;
114 int amd_iommu_unity_map;
115 int amd_iommu_no_RW_perms;
116 int amd_iommu_no_unmap;
117 int amd_iommu_pageva_inval_all;
118 int amd_iommu_disable; /* disable IOMMU */
119 char *amd_iommu_disable_list; /* list of drivers bypassing IOMMU */
120
121 int
122 _init(void)
123 {
124 int error = ENOTSUP;
|
83 amd_iommu_getinfo, /* devo_getinfo */
84 nulldev, /* devo_identify */
85 nulldev, /* devo_probe */
86 amd_iommu_attach, /* devo_attach */
87 amd_iommu_detach, /* devo_detach */
88 nodev, /* devo_reset */
89 &amd_iommu_cb_ops, /* devo_cb_ops */
90 NULL, /* devo_bus_ops */
91 nulldev, /* devo_power */
92 amd_iommu_quiesce, /* devo_quiesce */
93 };
94
95 static struct modldrv modldrv = {
96 &mod_driverops,
97 "AMD IOMMU 0.1",
98 &amd_iommu_dev_ops
99 };
100
101 static struct modlinkage modlinkage = {
102 MODREV_1,
103 { (void *)&modldrv, NULL }
104 };
105
106 amd_iommu_debug_t amd_iommu_debug;
107 kmutex_t amd_iommu_global_lock;
108 const char *amd_iommu_modname = "amd_iommu";
109 amd_iommu_alias_t **amd_iommu_alias;
110 amd_iommu_page_table_hash_t amd_iommu_page_table_hash;
111 static void *amd_iommu_statep;
112 int amd_iommu_64bit_bug;
113 int amd_iommu_unity_map;
114 int amd_iommu_no_RW_perms;
115 int amd_iommu_no_unmap;
116 int amd_iommu_pageva_inval_all;
117 int amd_iommu_disable; /* disable IOMMU */
118 char *amd_iommu_disable_list; /* list of drivers bypassing IOMMU */
119
120 int
121 _init(void)
122 {
123 int error = ENOTSUP;
|