Lines Matching refs:dev
107 libxl__device *dev) in libxl__parse_backend_path() argument
112 &dev->backend_domid, in libxl__parse_backend_path()
114 &dev->domid, in libxl__parse_backend_path()
115 &dev->devid); in libxl__parse_backend_path()
120 return libxl__device_kind_from_string(strkind, &dev->backend_kind); in libxl__parse_backend_path()
123 int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype) in libxl__nic_type() argument
128 be_path = libxl__device_backend_path(gc, dev); in libxl__nic_type()
132 LOGED(ERROR, dev->domid, "unable to read nictype from %s", be_path); in libxl__nic_type()
138 LOGED(ERROR, dev->domid, "unable to parse nictype from %s", be_path); in libxl__nic_type()
682 #define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED)) in libxl__devid_to_vdev() argument
683 #define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED)) in libxl__devid_to_vdev() argument
718 aodev->dev = NULL; in libxl__prepare_ao_device()
814 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) in libxl__device_destroy() argument
818 const char *libxl_path = libxl__device_libxl_path(gc, dev); in libxl__device_destroy()
822 int libxl_only = dev->backend_kind == LIBXL__DEVICE_KIND_NONE; in libxl__device_destroy()
825 be_path = libxl__device_backend_path(gc, dev); in libxl__device_destroy()
826 fe_path = libxl__device_frontend_path(gc, dev); in libxl__device_destroy()
845 if (dev->backend_domid == domid && !libxl_only) { in libxl__device_destroy()
882 libxl__device *dev; in libxl__devices_destroy() local
911 GCNEW(dev); in libxl__devices_destroy()
912 if (path && libxl__parse_backend_path(gc, path, dev) == 0) { in libxl__devices_destroy()
913 dev->domid = domid; in libxl__devices_destroy()
914 dev->kind = kind; in libxl__devices_destroy()
915 dev->devid = atoi(devs[j]); in libxl__devices_destroy()
916 if (dev->backend_kind == LIBXL__DEVICE_KIND_CONSOLE || in libxl__devices_destroy()
917 dev->backend_kind == LIBXL__DEVICE_KIND_VUART) { in libxl__devices_destroy()
922 libxl__device_destroy(gc, dev); in libxl__devices_destroy()
927 aodev->dev = dev; in libxl__devices_destroy()
929 if (dev->kind == LIBXL__DEVICE_KIND_VUSB) in libxl__devices_destroy()
982 char *be_path = libxl__device_backend_path(gc, aodev->dev); in libxl__wait_device_connection()
986 if (QEMU_BACKEND(aodev->dev)) { in libxl__wait_device_connection()
1003 LOGD(ERROR, aodev->dev->domid, "unable to initialize device %s", be_path); in libxl__wait_device_connection()
1020 char *be_path = libxl__device_backend_path(gc, aodev->dev); in libxl__initiate_device_generic_remove()
1025 uint32_t my_domid, domid = aodev->dev->domid; in libxl__initiate_device_generic_remove()
1042 if (QEMU_BACKEND(aodev->dev) && in libxl__initiate_device_generic_remove()
1069 libxl__device_frontend_path(gc, aodev->dev)); in libxl__initiate_device_generic_remove()
1131 char *be_path = libxl__device_backend_path(gc, aodev->dev); in device_qemu_timeout()
1144 LOGD(ERROR, aodev->dev->domid, "unable to start transaction"); in device_qemu_timeout()
1181 LOGD(DEBUG, aodev->dev->domid, "calling device_backend_cleanup"); in device_backend_callback()
1187 LOGD(DEBUG, aodev->dev->domid, "Timeout reached, initiating forced remove"); in device_backend_callback()
1194 LOGD(ERROR, aodev->dev->domid, in device_backend_callback()
1197 libxl__device_backend_path(gc, aodev->dev), rc); in device_backend_callback()
1220 char *be_path = libxl__device_backend_path(gc, aodev->dev); in device_hotplug()
1232 LOGD(ERROR, aodev->dev->domid, "Failed to get domid"); in device_hotplug()
1235 if (aodev->dev->backend_domid != domid) { in device_hotplug()
1236 LOGD(DEBUG, aodev->dev->domid, in device_hotplug()
1238 aodev->dev->backend_domid, domid); in device_hotplug()
1252 LOGD(ERROR, aodev->dev->domid, in device_hotplug()
1262 hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env, in device_hotplug()
1268 LOGD(DEBUG, aodev->dev->domid, "No hotplug script to execute"); in device_hotplug()
1275 LOGD(ERROR, aodev->dev->domid, in device_hotplug()
1277 "device %s", libxl__device_backend_path(gc, aodev->dev)); in device_hotplug()
1283 LOGD(DEBUG, aodev->dev->domid, "calling hotplug script: %s %s", args[0], args[1]); in device_hotplug()
1284 LOGD(DEBUG, aodev->dev->domid, "extra args:"); in device_hotplug()
1290 LOGD(DEBUG, aodev->dev->domid, "\t%s", arg); in device_hotplug()
1292 LOGD(DEBUG, aodev->dev->domid, "env:"); in device_hotplug()
1299 LOGD(DEBUG, aodev->dev->domid, "\t%s: %s", k, v); in device_hotplug()
1305 LOGD(ERROR, aodev->dev->domid, "unable to open /dev/null for hotplug script"); in device_hotplug()
1342 char *be_path = libxl__device_backend_path(gc, aodev->dev); in device_hotplug_child_death_cb()
1389 LOGD(ERROR, aodev->dev->domid, in device_destroy_be_watch_cb()
1416 rc = libxl__device_destroy(gc, aodev->dev); in device_hotplug_done()
1475 if (aodev->dev) { in device_addrm_aocomplete()
1476 LOGD(ERROR, aodev->dev->domid, "Unable to %s %s with id %u", in device_addrm_aocomplete()
1478 libxl__device_kind_to_string(aodev->dev->kind), in device_addrm_aocomplete()
1479 aodev->dev->devid); in device_addrm_aocomplete()
1519 libxl__device_backend_path(gc, aodev->dev), in device_complete()
1545 libxl__device *dev; member
1582 libxl__device *dev) in search_for_device() argument
1588 if (LIBXL_DEVICE_CMP(ddev->dev, dev, backend_devid) && in search_for_device()
1589 LIBXL_DEVICE_CMP(ddev->dev, dev, backend_domid) && in search_for_device()
1590 LIBXL_DEVICE_CMP(ddev->dev, dev, devid) && in search_for_device()
1591 LIBXL_DEVICE_CMP(ddev->dev, dev, domid) && in search_for_device()
1592 LIBXL_DEVICE_CMP(ddev->dev, dev, backend_kind) && in search_for_device()
1593 LIBXL_DEVICE_CMP(ddev->dev, dev, kind)) in search_for_device()
1627 libxl__device *dev) in add_device() argument
1640 ddev->dev = libxl__zalloc(NOGC, sizeof(*ddev->dev)); in add_device()
1641 *ddev->dev = *dev; in add_device()
1643 LOGD(DEBUG, dev->domid, "Added device %s to the list of active devices", in add_device()
1644 libxl__device_backend_path(gc, dev)); in add_device()
1646 switch(dev->backend_kind) { in add_device()
1651 dmss->guest_domid = dev->domid; in add_device()
1666 GCNEW(aodev->dev); in add_device()
1667 *aodev->dev = *dev; in add_device()
1682 libxl__device *dev = ddev->dev; in remove_device() local
1686 switch(ddev->dev->backend_kind) { in remove_device()
1690 rc = libxl__destroy_qemu_xenpv_backend(gc, dev->domid); in remove_device()
1694 libxl__device_destroy(gc, dev); in remove_device()
1705 GCNEW(aodev->dev); in remove_device()
1706 *aodev->dev = *dev; in remove_device()
1722 LOGD(DEBUG, dev->domid, "Removed device %s from the list of active devices", in remove_device()
1723 libxl__device_backend_path(gc, dev)); in remove_device()
1725 free(ddev->dev); in remove_device()
1742 libxl__device *dev; in backend_watch_callback() local
1770 GCNEW(dev); in backend_watch_callback()
1771 rc = libxl__parse_backend_path(gc, path, dev); in backend_watch_callback()
1775 dguest = search_for_guest(ddomain, dev->domid); in backend_watch_callback()
1786 dguest->domid = dev->domid; in backend_watch_callback()
1791 ddev = search_for_device(dguest, dev); in backend_watch_callback()
1799 rc = add_device(egc, nested_ao, dguest, dev); in backend_watch_callback()
1888 const libxl__device_type *dt, const void *dev) in device_add_domain_config() argument
1898 if (dt->compare(libxl__device_type_get_elem(dt, d_config, i), dev)) { in device_add_domain_config()
1914 dt->copy(CTX, item, dev); in device_add_domain_config()
2016 aodev->dev = device; in libxl__device_add_async()