Re: [Xen-devel] [PATCH v2 07/23] xen/arm: Xen detection and shared_info page mapping

Stefano Stabellini
2012-08-08T16:25:38Z

On Mon, 6 Aug 2012, David Vrabel wrote:
> On 06/08/12 15:27, Stefano Stabellini wrote:
> > Check for a "/xen" node in the device tree, if it is present set
> > xen_domain_type to XEN_HVM_DOMAIN and continue initialization.
> >
> > Map the real shared info page using XENMEM_add_to_physmap with
> > XENMAPSPACE_shared_info.
> >
> > Changes in v2:
> >
> > - replace pr_info with pr_debug.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> > arch/arm/xen/enlighten.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 52 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
> > index d27c2a6..102d823 100644
> > --- a/arch/arm/xen/enlighten.c
> > +++ b/arch/arm/xen/enlighten.c
> > @@ -5,6 +5,9 @@
> > #include <asm/xen/hypervisor.h>
> > #include <asm/xen/hypercall.h>
> > #include <linux/module.h>
> > +#include <linux/of.h>
> > +#include <linux/of_irq.h>
> > +#include <linux/of_address.h>
> >
> > struct start_info _xen_start_info;
> > struct start_info *xen_start_info = &_xen_start_info;
> > @@ -33,3 +36,52 @@ int xen_remap_domain_mfn_range(struct vm_area_struct *vma,
> > return -ENOSYS;
> > }
> > EXPORT_SYMBOL_GPL(xen_remap_domain_mfn_range);
> > +
> > +/*
> > + * == Xen Device Tree format ==
> > + * - /xen node;
> > + * - compatible "arm,xen";
> > + * - one interrupt for Xen event notifications;
> > + * - one memory region to map the grant_table.
> > + */
>
> These needs to be documented in Documentation/devicetree/bindings/ and
> should be sent to the devicetree-discuss mailing list for review.

That's a good idea.

> The node should be called 'hypervisor' I think.
>
> The first word of the compatible string is the vendor/organization that
> defined the binding so should be "xen" here. This does give a odd
> looking "xen,xen" but we'll have to live with that.
>
> I'd suggest that the DT provided by the hypervisor or tools give the
> hypercall ABI version in the compatible string as well. e.g.,
>
> hypervisor {
> compatible = "xen,xen-4.3", "xen,xen"
> };

It makes sense, I'll do that.

> I missed the Xen patch that adds this node for dom0. Can you point me
> to it?

Nope, you didn't miss it: I don't have a patch for Xen yet.