187 static ndi_event_hdl_t xpvd_ndi_event_handle;
188
189 /*
190 * Hypervisor interrupt capabilities
191 */
192 #define XENDEV_INTR_CAPABILITIES \
193 (DDI_INTR_FLAG_EDGE | DDI_INTR_FLAG_MASKABLE | DDI_INTR_FLAG_PENDING)
194
195 /*
196 * Module linkage information for the kernel.
197 */
198
199 static struct modldrv modldrv = {
200 &mod_driverops, /* Type of module */
201 "virtual device nexus driver",
202 &xpvd_ops, /* driver ops */
203 };
204
205 static struct modlinkage modlinkage = {
206 MODREV_1,
207 (void *)&modldrv,
208 NULL
209 };
210
211 int
212 _init(void)
213 {
214 return (mod_install(&modlinkage));
215 }
216
217 int
218 _fini(void)
219 {
220 return (mod_remove(&modlinkage));
221 }
222
223 int
224 _info(struct modinfo *modinfop)
225 {
226 return (mod_info(&modlinkage, modinfop));
227 }
228
|
187 static ndi_event_hdl_t xpvd_ndi_event_handle;
188
189 /*
190 * Hypervisor interrupt capabilities
191 */
192 #define XENDEV_INTR_CAPABILITIES \
193 (DDI_INTR_FLAG_EDGE | DDI_INTR_FLAG_MASKABLE | DDI_INTR_FLAG_PENDING)
194
195 /*
196 * Module linkage information for the kernel.
197 */
198
199 static struct modldrv modldrv = {
200 &mod_driverops, /* Type of module */
201 "virtual device nexus driver",
202 &xpvd_ops, /* driver ops */
203 };
204
205 static struct modlinkage modlinkage = {
206 MODREV_1,
207 { (void *)&modldrv, NULL }
208 };
209
210 int
211 _init(void)
212 {
213 return (mod_install(&modlinkage));
214 }
215
216 int
217 _fini(void)
218 {
219 return (mod_remove(&modlinkage));
220 }
221
222 int
223 _info(struct modinfo *modinfop)
224 {
225 return (mod_info(&modlinkage, modinfop));
226 }
227
|