Michael Abd-El-Malek
2007-Oct-02 05:39 UTC
[Xen-devel] Xen bus drivers and the probe function
Hello, I''m writing a split driver for XenBus. My understanding is that this is the "Xen way" for inter-domain discovery, bootstrapping the process by sharing grants and event channels. When I look at the block driver, the probe method of the front- and back-ends seems to be doing the bulk of the initialization work. In my sample driver, however, my probe function isn''t called. My module gets inserted and the initialization function correctly installs the XenBus driver. Can someone please explain when the probe function is supposed to be called? If there''s no physical device "backing" the virtual device (i.e., virtual block driver is a counterexample), should I be relying on the probe method in the first place? Thanks, Mike _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Bootstrap needs to be initiated by xend, which writes initial rendezvous information into xenstore. See DevController.py in xend. -- Keir On 2/10/07 06:39, "Michael Abd-El-Malek" <mabdelmalek@cmu.edu> wrote:> Hello, > > I''m writing a split driver for XenBus. My understanding is that this is > the "Xen way" for inter-domain discovery, bootstrapping the process by > sharing grants and event channels. > > When I look at the block driver, the probe method of the front- and > back-ends seems to be doing the bulk of the initialization work. In my > sample driver, however, my probe function isn''t called. My module gets > inserted and the initialization function correctly installs the XenBus > driver. > > Can someone please explain when the probe function is supposed to be > called? If there''s no physical device "backing" the virtual device > (i.e., virtual block driver is a counterexample), should I be relying on > the probe method in the first place? > > Thanks, > Mike > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
As Keir said, the probe() function gets triggered by the right things appearing in the XenStore. The XenIntro wiki has an example of this in section 23 (Adding a new device and triggering...): http://wiki.xensource.com/xenwiki/XenIntro Hopefully that will be helpful for you. Thanks Ryan On 10/2/07, Michael Abd-El-Malek <mabdelmalek@cmu.edu> wrote:> Hello, > > I''m writing a split driver for XenBus. My understanding is that this is > the "Xen way" for inter-domain discovery, bootstrapping the process by > sharing grants and event channels. > > When I look at the block driver, the probe method of the front- and > back-ends seems to be doing the bulk of the initialization work. In my > sample driver, however, my probe function isn''t called. My module gets > inserted and the initialization function correctly installs the XenBus > driver. > > Can someone please explain when the probe function is supposed to be > called? If there''s no physical device "backing" the virtual device > (i.e., virtual block driver is a counterexample), should I be relying on > the probe method in the first place? > > Thanks, > Mike > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel