FreeBSD xen subsystem code
|
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/sbuf.h>
#include <sys/sysctl.h>
#include <sys/syslog.h>
#include <sys/systm.h>
#include <sys/sx.h>
#include <sys/taskqueue.h>
#include <machine/stdarg.h>
#include <xen/xen-os.h>
#include <xen/gnttab.h>
#include <xen/xenbus/xenbusvar.h>
#include <xen/xenbus/xenbusb.h>
Go to the source code of this file.
Functions | |
__FBSDID ("$FreeBSD$") | |
static int | xenbusb_front_probe (device_t dev) |
Probe for the existence of the XenBus front bus. More... | |
static int | xenbusb_front_attach (device_t dev) |
Attach the XenBus front bus. More... | |
static int | xenbusb_front_enumerate_type (device_t dev, const char *type) |
Enumerate all devices of the given type on this bus. More... | |
static int | xenbusb_front_get_otherend_node (device_t dev, struct xenbus_device_ivars *ivars) |
Determine and store the XenStore path for the other end of a split device whose local end is represented by ivars. More... | |
DEFINE_CLASS_0 (xenbusb_front, xenbusb_front_driver, xenbusb_front_methods, sizeof(struct xenbusb_softc)) | |
DRIVER_MODULE (xenbusb_front, xenstore, xenbusb_front_driver, xenbusb_front_devclass, 0, 0) | |
Variables | |
static device_method_t | xenbusb_front_methods [] |
devclass_t | xenbusb_front_devclass |
XenBus management of the NewBus bus containing the frontend instances of Xen split devices.
Definition in file xenbusb_front.c.
|
static |
Attach the XenBus front bus.
dev | NewBus device_t for this XenBus front bus instance. |
Definition at line 86 of file xenbusb_front.c.
References xenbusb_attach().
|
static |
Enumerate all devices of the given type on this bus.
dev | NewBus device_t for this XenBus front bus instance. |
type | String indicating the device sub-tree (e.g. "vfb", "vif") to enumerate. |
Devices that are found are entered into the NewBus hierarchy via xenbusb_add_device(). xenbusb_add_device() ignores duplicate detects and ignores duplicate devices, so it can be called unconditionally for any device found in the XenStore.
Definition at line 107 of file xenbusb_front.c.
References xenbusb_softc::xbs_node, and xenbusb_add_device().
|
static |
Determine and store the XenStore path for the other end of a split device whose local end is represented by ivars.
If successful, the xd_otherend_path field of the child's instance variables will be updated.
dev | NewBus device_t for this XenBus front bus instance. |
ivars | Instance variables from the XenBus child device for which to perform this function. |
Definition at line 141 of file xenbusb_front.c.
References xenbus_device_ivars::xd_node, xenbus_device_ivars::xd_otherend_id, xenbus_device_ivars::xd_otherend_path, and xenbus_device_ivars::xd_otherend_path_len.
|
static |
Probe for the existence of the XenBus front bus.
dev | NewBus device_t for this XenBus front bus instance. |
Definition at line 70 of file xenbusb_front.c.
devclass_t xenbusb_front_devclass |
Definition at line 192 of file xenbusb_front.c.
|
static |
Definition at line 165 of file xenbusb_front.c.