Lines Matching refs:dev
75 libxl__device *dev) in libxl__parse_backend_path() argument
80 &dev->backend_domid, in libxl__parse_backend_path()
82 &dev->domid, in libxl__parse_backend_path()
83 &dev->devid); in libxl__parse_backend_path()
88 return libxl__device_kind_from_string(strkind, &dev->backend_kind); in libxl__parse_backend_path()
91 int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype) in libxl__nic_type() argument
96 be_path = libxl__device_backend_path(gc, dev); in libxl__nic_type()
100 LOGED(ERROR, dev->domid, "unable to read nictype from %s", be_path); in libxl__nic_type()
106 LOGED(ERROR, dev->domid, "unable to parse nictype from %s", be_path); in libxl__nic_type()
569 #define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED)) in libxl__devid_to_vdev() argument
570 #define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED)) in libxl__devid_to_vdev() argument
605 aodev->dev = NULL; in libxl__prepare_ao_device()
699 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) in libxl__device_destroy() argument
703 const char *libxl_path = libxl__device_libxl_path(gc, dev); in libxl__device_destroy()
709 int libxl_only = dev->backend_kind == LIBXL__DEVICE_KIND_NONE; in libxl__device_destroy()
712 be_path = libxl__device_backend_path(gc, dev); in libxl__device_destroy()
713 fe_path = libxl__device_frontend_path(gc, dev); in libxl__device_destroy()
739 if (dev->backend_domid == domid && !libxl_only) { in libxl__device_destroy()
773 libxl__device *dev; in libxl__devices_destroy() local
802 GCNEW(dev); in libxl__devices_destroy()
803 if (path && libxl__parse_backend_path(gc, path, dev) == 0) { in libxl__devices_destroy()
804 dev->domid = domid; in libxl__devices_destroy()
805 dev->kind = kind; in libxl__devices_destroy()
806 dev->devid = atoi(devs[j]); in libxl__devices_destroy()
807 if (dev->backend_kind == LIBXL__DEVICE_KIND_CONSOLE || in libxl__devices_destroy()
808 dev->backend_kind == LIBXL__DEVICE_KIND_VUART) { in libxl__devices_destroy()
813 libxl__device_destroy(gc, dev); in libxl__devices_destroy()
818 aodev->dev = dev; in libxl__devices_destroy()
820 if (dev->kind == LIBXL__DEVICE_KIND_VUSB) in libxl__devices_destroy()
873 char *be_path = libxl__device_backend_path(gc, aodev->dev); in libxl__wait_device_connection()
877 if (QEMU_BACKEND(aodev->dev)) { in libxl__wait_device_connection()
894 LOGD(ERROR, aodev->dev->domid, "unable to initialize device %s", be_path); in libxl__wait_device_connection()
911 char *be_path = libxl__device_backend_path(gc, aodev->dev); in libxl__initiate_device_generic_remove()
916 uint32_t my_domid, domid = aodev->dev->domid; in libxl__initiate_device_generic_remove()
933 if (QEMU_BACKEND(aodev->dev) && in libxl__initiate_device_generic_remove()
960 libxl__device_frontend_path(gc, aodev->dev)); in libxl__initiate_device_generic_remove()
1015 char *be_path = libxl__device_backend_path(gc, aodev->dev); in device_qemu_timeout()
1028 LOGD(ERROR, aodev->dev->domid, "unable to start transaction"); in device_qemu_timeout()
1065 LOGD(DEBUG, aodev->dev->domid, "calling device_backend_cleanup"); in device_backend_callback()
1071 LOGD(DEBUG, aodev->dev->domid, "Timeout reached, initiating forced remove"); in device_backend_callback()
1078 LOGD(ERROR, aodev->dev->domid, "unable to %s device with path %s", in device_backend_callback()
1080 libxl__device_backend_path(gc, aodev->dev)); in device_backend_callback()
1103 char *be_path = libxl__device_backend_path(gc, aodev->dev); in device_hotplug()
1115 LOGD(ERROR, aodev->dev->domid, "Failed to get domid"); in device_hotplug()
1118 if (aodev->dev->backend_domid != domid) { in device_hotplug()
1119 LOGD(DEBUG, aodev->dev->domid, in device_hotplug()
1121 aodev->dev->backend_domid, domid); in device_hotplug()
1135 LOGD(ERROR, aodev->dev->domid, in device_hotplug()
1145 hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env, in device_hotplug()
1151 LOGD(DEBUG, aodev->dev->domid, "No hotplug script to execute"); in device_hotplug()
1158 LOGD(ERROR, aodev->dev->domid, in device_hotplug()
1160 "device %s", libxl__device_backend_path(gc, aodev->dev)); in device_hotplug()
1166 LOGD(DEBUG, aodev->dev->domid, "calling hotplug script: %s %s", args[0], args[1]); in device_hotplug()
1167 LOGD(DEBUG, aodev->dev->domid, "extra args:"); in device_hotplug()
1173 LOGD(DEBUG, aodev->dev->domid, "\t%s", arg); in device_hotplug()
1175 LOGD(DEBUG, aodev->dev->domid, "env:"); in device_hotplug()
1182 LOGD(DEBUG, aodev->dev->domid, "\t%s: %s", k, v); in device_hotplug()
1188 LOGD(ERROR, aodev->dev->domid, "unable to open /dev/null for hotplug script"); in device_hotplug()
1225 char *be_path = libxl__device_backend_path(gc, aodev->dev); in device_hotplug_child_death_cb()
1272 LOGD(ERROR, aodev->dev->domid, in device_destroy_be_watch_cb()
1298 rc = libxl__device_destroy(gc, aodev->dev); in device_hotplug_done()
1376 if (aodev->dev) { in device_addrm_aocomplete()
1377 LOGD(ERROR, aodev->dev->domid, "Unable to %s %s with id %u", in device_addrm_aocomplete()
1379 libxl__device_kind_to_string(aodev->dev->kind), in device_addrm_aocomplete()
1380 aodev->dev->devid); in device_addrm_aocomplete()
1419 libxl__device_backend_path(gc, aodev->dev), in device_complete()
1445 libxl__device *dev; member
1482 libxl__device *dev) in search_for_device() argument
1488 if (LIBXL_DEVICE_CMP(ddev->dev, dev, backend_devid) && in search_for_device()
1489 LIBXL_DEVICE_CMP(ddev->dev, dev, backend_domid) && in search_for_device()
1490 LIBXL_DEVICE_CMP(ddev->dev, dev, devid) && in search_for_device()
1491 LIBXL_DEVICE_CMP(ddev->dev, dev, domid) && in search_for_device()
1492 LIBXL_DEVICE_CMP(ddev->dev, dev, backend_kind) && in search_for_device()
1493 LIBXL_DEVICE_CMP(ddev->dev, dev, kind)) in search_for_device()
1528 libxl__device *dev) in add_device() argument
1541 ddev->dev = libxl__zalloc(NOGC, sizeof(*ddev->dev)); in add_device()
1542 *ddev->dev = *dev; in add_device()
1544 LOGD(DEBUG, dev->domid, "Added device %s to the list of active devices", in add_device()
1545 libxl__device_backend_path(gc, dev)); in add_device()
1547 switch(dev->backend_kind) { in add_device()
1550 if (dev->backend_kind == LIBXL__DEVICE_KIND_VBD) dguest->num_vbds++; in add_device()
1551 if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) dguest->num_vifs++; in add_device()
1559 GCNEW(aodev->dev); in add_device()
1560 *aodev->dev = *dev; in add_device()
1569 dmss->guest_domid = dev->domid; in add_device()
1591 libxl__device *dev = ddev->dev; in remove_device() local
1595 switch(ddev->dev->backend_kind) { in remove_device()
1598 if (dev->backend_kind == LIBXL__DEVICE_KIND_VBD) dguest->num_vbds--; in remove_device()
1599 if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) dguest->num_vifs--; in remove_device()
1607 GCNEW(aodev->dev); in remove_device()
1608 *aodev->dev = *dev; in remove_device()
1615 rc = libxl__destroy_qdisk_backend(gc, dev->domid); in remove_device()
1619 libxl__device_destroy(gc, dev); in remove_device()
1636 LOGD(DEBUG, dev->domid, "Removed device %s from the list of active devices", in remove_device()
1637 libxl__device_backend_path(gc, dev)); in remove_device()
1639 free(ddev->dev); in remove_device()
1656 libxl__device *dev; in backend_watch_callback() local
1684 GCNEW(dev); in backend_watch_callback()
1685 rc = libxl__parse_backend_path(gc, path, dev); in backend_watch_callback()
1689 dguest = search_for_guest(ddomain, dev->domid); in backend_watch_callback()
1700 dguest->domid = dev->domid; in backend_watch_callback()
1705 ddev = search_for_device(dguest, dev); in backend_watch_callback()
1713 rc = add_device(egc, nested_ao, dguest, dev); in backend_watch_callback()
1930 aodev->dev = device; in libxl__device_add_async()