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

Re: [Xen-devel] [PATCH WIP 2/6] xen/arm: Introduce xen_guest_init

On 12/07/12 12:49, Roger Pau Monne wrote:
> David Vrabel wrote:
>> On 09/07/12 15:45, Konrad Rzeszutek Wilk wrote:
>>> On Fri, Jun 22, 2012 at 05:14:41PM +0100, Stefano Stabellini wrote:
>>>> We used to rely on a core_initcall to initialize Xen on ARM, however
>>>> core_initcalls are actually called after early consoles are initialized.
>>>> That means that hvc_xen.c is going to be initialized before Xen.
>>>> Given the lack of a better alternative, just call a new Xen
>>>> initialization function (xen_guest_init) from xen_cons_init.
>>>> xen_guest_init has to be arch independant, so write both an ARM and an
>>>> x86 implementation. The x86 implementation is currently empty because we
>>>> can be sure that xen_hvm_guest_init is called early enough.
>>>> Probably we can get rid of this as soon as we have better DT support.
>>> What is DT?
>> Device Tree.  It's a binary describing the hardware and some system
>> configuration that is passed to the kernel by the boot loader or (in
>> this case) the hypervisor.  Vaguely analogous to ACPI except it's not
>> crazy ;).
>> We really should get the device tree bindings sorted out before
>> accepting any kernel side patches.  I think we can do this even if Xen's
>> device tree support is incomplete.
> Will this be passed from the hypervisor to the linux kernel using a
> specific mechanism (different than the native one)?

The same mechanism.  The kernel is booted with the physical address of
the device tree blob in a register (r2 I think) .  Xen sorts this out
for dom0 and the toolstack is responsible for this for domUs.

I would expect the device tree to include the physical address of the
shared page with something like this.

hypervisor {
   xen {
       shared-info = <0x00 0x12345678 0 4096>;

Arch code in ARM would check for the hypervisor node (very) early on and
call a hypervisor specific init function based on the name of the child
node (xen in this case).


Xen-devel mailing list



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