From: Dave Martin <dave.martin@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"linaro-dev@lists.linaro.org" <linaro-dev@lists.linaro.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"arnd@arndb.de" <arnd@arndb.de>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"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>
Subject: Re: [PATCH-WIP 01/13] xen/arm: use r12 to pass the hypercall number to the hypervisor
Date: Wed, 29 Feb 2012 11:47:25 +0000 [thread overview]
Message-ID: <20120229114725.GB2077@linaro.org> (raw)
In-Reply-To: <1330509362.4270.20.camel@zakaz.uk.xensource.com>
On Wed, Feb 29, 2012 at 09:56:02AM +0000, Ian Campbell wrote:
> On Wed, 2012-02-29 at 09:34 +0000, Dave Martin wrote:
> > On Tue, Feb 28, 2012 at 12:28:29PM +0000, Stefano Stabellini wrote:
>
> > > I don't have a very strong opinion on which register we should use, but
> > > I would like to avoid r7 if it is already actively used by gcc.
> >
> > But there is no framepointer for Thumb-2 code (?)
>
> Peter Maydell suggested there was:
> > r7 is (used by gcc as) the Thumb frame pointer; I don't know if this
> > makes it worth avoiding in this context.
>
> Sounds like it might be a gcc-ism, possibly a non-default option?
I seem to remember discussions about some cruft in gcc related to this.
gcc actually barfs at you if you try to allocate r7 to inline asm
without -fomit-frame-pointer. That use for r7 really relates to the
legacy ABI, so this may be a bug.
> Anyway, I think r12 will be fine for our purposes so the point is rather
> moot.
Yes, it sounds like it. If that r7 issue is a gcc bug, this would avoid
it.
If you leave the job of putting the right constant into r12 up to gcc,
it should generate reasonable for you without having to code it
explicitly anyway:
register int hvc_num asm("r12") = 0xDEADBEEF;
asm volatile (
"hvc 0"
:: "r" (hvc_num)
)
Cheers
---Dave
next prev parent reply other threads:[~2012-02-29 11:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-23 17:47 [PATCH-WIP 00/13] xen/arm: receive Xen events and initialize xenbus Stefano Stabellini
2012-02-23 17:48 ` [PATCH-WIP 01/13] xen/arm: use r12 to pass the hypercall number to the hypervisor Stefano Stabellini
2012-02-27 16:27 ` Ian Campbell
[not found] ` <1330360043.8557.302.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2012-02-27 18:03 ` Dave Martin
2012-02-27 19:33 ` Ian Campbell
[not found] ` <1330371219.10008.34.camel-ztPmHsLffjjnO4AKDKe2m+kiAK3p4hvP@public.gmane.org>
2012-02-28 10:20 ` Dave Martin
2012-02-28 10:48 ` Ian Campbell
[not found] ` <1330426133.31269.70.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2012-02-28 12:28 ` Stefano Stabellini
2012-02-29 9:34 ` Dave Martin
2012-02-29 9:56 ` Ian Campbell
2012-02-29 11:47 ` Dave Martin [this message]
[not found] ` <1330509362.4270.20.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2012-02-29 12:58 ` Dave Martin
2012-02-29 14:44 ` Ian Campbell
[not found] ` <1330526664.4270.128.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2012-03-01 9:35 ` Dave Martin
2012-03-01 10:12 ` Russell King - ARM Linux
2012-03-02 21:19 ` Nicolas Pitre
2012-02-29 14:52 ` Stefano Stabellini
2012-03-01 9:51 ` Dave Martin
2012-03-01 10:10 ` Russell King - ARM Linux
[not found] ` <20120301101029.GB7363-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-03-01 10:27 ` Dave Martin
2012-03-01 10:35 ` Russell King - ARM Linux
[not found] ` <20120301103520.GD7363-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-03-01 12:12 ` Stefano Stabellini
[not found] ` <20120229125826.GC2077-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-03-02 21:15 ` Nicolas Pitre
2012-03-08 9:58 ` Richard Earnshaw
2012-03-08 12:17 ` Dave Martin
2012-03-08 17:21 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.02.1203081041340.24151-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2012-03-08 18:47 ` Richard Earnshaw
[not found] ` <4F58FEC0.8080706-5wv7dgnIgG8@public.gmane.org>
2012-03-09 15:58 ` Dave Martin
2012-03-09 16:20 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.02.1203091112050.24151-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2012-03-09 17:38 ` Richard Earnshaw
2012-02-27 21:05 ` Peter Maydell
2012-02-28 10:12 ` Ian Campbell
[not found] ` <1330019314-20865-1-git-send-email-stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>
2012-02-27 17:53 ` Dave Martin
2012-02-27 19:48 ` Ian Campbell
[not found] ` <1330372125.10008.47.camel-ztPmHsLffjjnO4AKDKe2m+kiAK3p4hvP@public.gmane.org>
2012-02-28 9:46 ` Dave Martin
2012-02-28 10:07 ` Ian Campbell
[not found] ` <20120228094616.GA2063-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-02-28 12:21 ` Stefano Stabellini
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=20120229114725.GB2077@linaro.org \
--to=dave.martin@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=Stefano.Stabellini@eu.citrix.com \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=david.vrabel@citrix.com \
--cc=kvm@vger.kernel.org \
--cc=linaro-dev@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peter.maydell@linaro.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