From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Dave Martin <dave.martin@linaro.org>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
Peter Maydell <peter.maydell@linaro.org>,
"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>,
Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
"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: Thu, 1 Mar 2012 10:35:20 +0000 [thread overview]
Message-ID: <20120301103520.GD7363@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20120301102702.GD2034@linaro.org>
On Thu, Mar 01, 2012 at 10:27:02AM +0000, Dave Martin wrote:
> So, where there's a compelling reason to inline these things, we can use
> the existing techniques if we're alert to the risks. But in cases where
> there isn't a compelling reason, aren't we just inviting fragility
> unnecessarily?
The practical experience from the kernel suggests that there isn't a
problem - that's not to say that future versions of gcc won't become
a problem, and that the compiler guys may refuse to fix it.
I think it's a feature that we should be pressing gcc guys for - it's
fairly fundamental to any programming which requires interfaces that
require certain args in certain registers, or receive results in
certain registers.
The options over this are basically:
1. refusing to upgrade to any version of gcc which does not allow
registers-in-asm
2. doing the store-to-memory reload-in-asm thing
3. hand-coding veneers for every call to marshall the registers
Each of those has its down sides, but I suspect with (1), it may be
possible to have enough people applying pressure to the compiler guys
that they finally see sense on this matter.
next prev parent reply other threads:[~2012-03-01 10:35 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
[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 [this message]
[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=20120301103520.GD7363@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=Ian.Campbell@citrix.com \
--cc=Stefano.Stabellini@eu.citrix.com \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=dave.martin@linaro.org \
--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