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

Re: [Xen-devel] Propose "xen_init()" call first thing in Xen drivers

On Thursday 22 September 2005 14:20, Magenheimer, Dan (HP Labs Fort Collins) 
> > What linker magic exactly? I don't understand the problem.
> IIRC, the problem arose because we moved xen/arch/xen/kernel
> to -sparse/drivers/xen/core (which is planned as part of
> the getting-into-the-linux process).  This changed the link
> order which had previously (by chance) linked the evtchn_init
> routine prior to any drivers/xen init routine.  If any
> of the drivers/xen init routines execute before evtchn_init,
> they fail.  Since we needed a test for "running_on_xen"
> anyway, we (Matt) combined the two solutions into one architecturally
> independent abstraction.

Oh, well, there's the problem: module_init(evtchn_init). That means 
evtchn_init will be called in arbitrary (link) order, intermingled with the 
actual drivers (which are also using module_init).

evtchn_init() can be built in and made a subsys_initcall, or there needs to be 
an explicit module dependency: e.g. request_module("evtchn").


As for xen_start_info in the above URL, why don't you make sure arch code sets 
that up before drivers are loaded? You can turn your existing xen_init() into 
an arch_initcall.

Hollis Blanchard
IBM Linux Technology Center

Xen-devel mailing list



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