[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Paravirt framebuffer frontend kernel support [1/5]



On Thu, Nov 02, 2006 at 04:02:48PM +0100, Markus Armbruster wrote:

> Ewan Mellor <ewan@xxxxxxxxxxxxx> writes:
> 
> > On Thu, Nov 02, 2006 at 11:10:12AM +0100, Markus Armbruster wrote:
> >
> >> I'm now looking into a conversion to xenbus_driver API.  I started
> >> with copying some voodoo from blkfront.c.  My
> >> xenbus_register_frontend() succeeds.  Stupid question: what triggers
> >> running of the probe function?  Because mine doesn't.
> >
> > Either the watch firing when the correct entries in the store are written 
> > (for
> > hotplugging) or it probes those paths at startup.
> >
> > xenbus/xenbus_probe.c:
> >
> > frontend_changed ->
> > dev_changed ->
> > xenbus_probe_node ->
> > device_register
> >
> > or
> >
> > xenbus_probe_init ->
> > xenbus_probe ->
> > xenbus_probe_devices ->
> > xenbus_probe_device_type ->
> > bus->probe ->
> > xenbus_probe_frontend ->
> > xenbus_probe_node ->
> > device_register
> >
> > The device_register causes a the specific frontend device to be registered,
> > which triggers the probe.
> 
> Err, I still don't get it.  What exactly makes the guest run the
> frontend's probe?  I figure you're trying to tell me that it runs when
> a certain xenstore entry is present at startup, or when it gets
> created later.  Corrrect?  Which entry exactly?  I tried a few (more
> voodoo), but no luck.

/local/domain/<domid>/device/<devclass>/<devid>

<devclass> is the string that you've put in xenbus_driver.name when
registering it with xenbus_register_frontend.  The xenbus driver registers a
watch on /local/domain/<domid>/device, and whenever that fires, dev_changed
looks through the registered drivers, looking for the one with the right
<devclass>, and it all gets kicked off from there.

Ewan.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.