From: Dave Martin <dave.martin@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"linaro-dev@lists.linaro.org" <linaro-dev@lists.linaro.org>,
Ian Campbell <Ian.Campbell@citrix.com>,
"arnd@arndb.de" <arnd@arndb.de>,
"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
"Tim (Xen.org)" <tim@xen.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
David Vrabel <david.vrabel@citrix.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Marc Zyngier <Marc.Zyngier@arm.com>
Subject: Re: [PATCH v3 06/25] docs: Xen ARM DT bindings
Date: Thu, 13 Sep 2012 11:26:16 +0100 [thread overview]
Message-ID: <20120913102616.GA2470@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1209121849200.15568@kaball.uk.xensource.com>
On Wed, Sep 12, 2012 at 07:14:58PM +0100, Stefano Stabellini wrote:
> On Wed, 12 Sep 2012, Stefano Stabellini wrote:
> > On Tue, 28 Aug 2012, Rob Herring wrote:
> > > You should look at ePAPR 1.1 which defines hypervisor related bindings.
> > > While it is a PPC doc, we should reuse or extend what makes sense.
> > >
> > > See section 7.5:
> > >
> > > https://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.1.pdf
> >
> > Thanks for the link, I wasn't aware of ePAPR.
> >
> > The hypervisor node defined by ePAPR is not very different from what I
> > am proposing. Should I try to be compatible with the hypervisor
> > specification above (as in compatible = "epapr,hypervisor-1.1")?
> > Or should I just use it as a reference for my own specification?
> >
> > Personally I would rather avoid full compatibility with ePAPR.
>
> In particular reading section 7.5, these are the required properties of
> the ePAPR hypervisor node:
>
> - compatible = "epapr,hypervisor-1.1"
> compared to what I am proposing, it is laking information about what
> hypervisor we are talking about (xen, kvm, vmware, etc) and the version
> of the ABI (xen-4.2).
>
> - hcall-instructions
> potentially interesting, but given that for Xen we are quite happy with
> HVC, we are not going to add any secondary hypercall mechanisms,
> therefore at the moment it would just result in a BUG if the specified
> hcall instruction is != HVC. Besides if somebody else wanted to
> implemented the Xen hypercall interface in a different way they could
> just reimplement the hypercall wrappers, that would be easier than
> trying to do it with this property.
Some thoughts on this:
We decided that embedding machine instructions into the DT is a fairly
awful idea when discussing how to describe low-level debug UARTs in the
DT. I don't think it's a lot better in this case (never mind issues
like ARM versus Thumb, endianness etc.)
If we are going to attempt to describe the call interface, we should
do it symbolically, allowing the hypervisor interface code in the kernel
to choose (or, if necessary, generate) the right call wrappers.
We will have this issue for descrbing power firmware interfaces for
example: we already know that this functionality might require an SMC
or HVC instruction to call it, depending on the platform.
A hypervisor with only one call ABI could leave this to be implicit,
providing there is a version number property of similar to allow future
changes to be accommodated.
Cheers
---Dave
next prev parent reply other threads:[~2012-09-13 10:26 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-16 15:33 [PATCH v3 00/23] Introduce Xen support on ARM Stefano Stabellini
2012-08-16 15:35 ` [PATCH v3 01/25] arm: initial Xen support Stefano Stabellini
2012-08-16 15:35 ` [PATCH v3 03/25] xen/arm: page.h definitions Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 11/25] xen: do not compile manage, balloon, pci, acpi and cpu_hotplug on ARM Stefano Stabellini
[not found] ` <alpine.DEB.2.02.1208161618550.4850-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2012-08-16 15:35 ` [PATCH v3 02/25] xen/arm: hypercalls Stefano Stabellini
2012-08-16 15:35 ` [PATCH v3 04/25] xen/arm: sync_bitops Stefano Stabellini
2012-08-16 15:35 ` [PATCH v3 05/25] xen/arm: empty implementation of grant_table arch specific functions Stefano Stabellini
2012-08-16 15:35 ` [PATCH v3 06/25] docs: Xen ARM DT bindings Stefano Stabellini
2012-08-27 23:03 ` Rob Herring
[not found] ` <503BFCD8.5090804-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-09-12 17:07 ` Stefano Stabellini
[not found] ` <alpine.DEB.2.02.1208281823270.15568-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2012-09-12 18:14 ` Stefano Stabellini
2012-09-13 2:34 ` Rob Herring
[not found] ` <50514634.3080303-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-09-13 10:29 ` Dave Martin
[not found] ` <20120913102938.GB2470-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-09-13 11:19 ` Stefano Stabellini
2012-09-13 11:33 ` Stefano Stabellini
2012-09-13 10:26 ` Dave Martin [this message]
2012-09-13 11:12 ` Stefano Stabellini
2012-08-16 15:35 ` [PATCH v3 07/25] xen/arm: Xen detection and shared_info page mapping Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 08/25] xen/arm: Introduce xen_pfn_t for pfn and mfn types Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 09/25] xen/arm: Introduce xen_ulong_t for unsigned long Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 10/25] xen/arm: compile and run xenbus Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 12/25] xen/arm: introduce CONFIG_XEN on ARM Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 13/25] xen/arm: get privilege status Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 14/25] xen/arm: initialize grant_table on ARM Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 15/25] xen/arm: receive Xen events " Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 16/25] xen: clear IRQ_NOAUTOEN and IRQ_NOREQUEST Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 17/25] xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 19/25] xen/arm: compile blkfront and blkback Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 20/25] xen/arm: compile netback Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 21/25] arm/v2m: initialize arch_timers even if v2m_timer is not present Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 22/25] xen/arm: use the __HVC macro Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 23/25] xen: missing includes Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 24/25] xen: update xen_add_to_physmap interface Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 25/25] [HACK] xen/arm: implement xen_remap_domain_mfn_range Stefano Stabellini
2012-08-16 15:36 ` [PATCH v3 18/25] xen: allow privcmd for HVM guests Stefano Stabellini
2012-09-13 17:15 ` [PATCH v3 00/23] Introduce Xen support on ARM Stefano Stabellini
2012-10-24 15:26 ` [PATCH RESEND] xen/arm: use the __HVC macro Stefano Stabellini
2012-11-05 10:58 ` Dave Martin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120913102616.GA2470@linaro.org \
--to=dave.martin@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=Marc.Zyngier@arm.com \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=david.vrabel@citrix.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=konrad.wilk@oracle.com \
--cc=linaro-dev@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).