[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 Thu, 12 Jul 2012, David Vrabel wrote:
> 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).
There is no need to specify the shared-info page address in the DT as we
already have a mechanism to map it dynamically (XENMAPSPACE_shared_info).

However we could use DT to pass the address of the grant table pages
instead of introducing HVM_PARAM_GRANT_START_PFN (see

Xen-devel mailing list



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