2142 nulldev, /* identify(9E) */
2143 nulldev, /* probe(9E) */
2144 xdt_attach, /* attach(9E) */
2145 xdt_detach, /* detach(9E) */
2146 nulldev, /* devo_reset */
2147 &xdt_cb_ops, /* devo_cb_ops */
2148 NULL, /* devo_bus_ops */
2149 NULL, /* power(9E) */
2150 ddi_quiesce_not_needed, /* devo_quiesce */
2151 };
2152
2153
2154 static struct modldrv modldrv = {
2155 &mod_driverops,
2156 "Hypervisor event tracing",
2157 &xdt_ops
2158 };
2159
2160 static struct modlinkage modlinkage = {
2161 MODREV_1,
2162 &modldrv,
2163 NULL
2164 };
2165
2166 int
2167 _init(void)
2168 {
2169 return (mod_install(&modlinkage));
2170 }
2171
2172 int
2173 _fini(void)
2174 {
2175 return (mod_remove(&modlinkage));
2176 }
2177
2178 int
2179 _info(struct modinfo *modinfop)
2180 {
2181 return (mod_info(&modlinkage, modinfop));
2182 }
|
2142 nulldev, /* identify(9E) */
2143 nulldev, /* probe(9E) */
2144 xdt_attach, /* attach(9E) */
2145 xdt_detach, /* detach(9E) */
2146 nulldev, /* devo_reset */
2147 &xdt_cb_ops, /* devo_cb_ops */
2148 NULL, /* devo_bus_ops */
2149 NULL, /* power(9E) */
2150 ddi_quiesce_not_needed, /* devo_quiesce */
2151 };
2152
2153
2154 static struct modldrv modldrv = {
2155 &mod_driverops,
2156 "Hypervisor event tracing",
2157 &xdt_ops
2158 };
2159
2160 static struct modlinkage modlinkage = {
2161 MODREV_1,
2162 { &modldrv, NULL }
2163 };
2164
2165 int
2166 _init(void)
2167 {
2168 return (mod_install(&modlinkage));
2169 }
2170
2171 int
2172 _fini(void)
2173 {
2174 return (mod_remove(&modlinkage));
2175 }
2176
2177 int
2178 _info(struct modinfo *modinfop)
2179 {
2180 return (mod_info(&modlinkage, modinfop));
2181 }
|