[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] arm32: fix build after 063188f4b3



>>> On 10.10.14 at 16:17, <Ian.Campbell@xxxxxxxxxxxxx> wrote:
> On Fri, 2014-10-10 at 14:58 +0100, Jan Beulich wrote:
>>  static noinline void exynos_smc(register_t function_id, register_t arg0,
>>                                  register_t arg1, register_t arg2)
>>  {
>> +    register register_t fn_id asm("r0") = function_id;
>> +    register register_t a0 asm("r1") = arg0;
>> +    register register_t a1 asm("r2") = arg1;
>> +    register register_t a2 asm("r3") = arg2;
> 
> ISTR being told that the arm gcc backend pays this sort of asm("r1")
> thing no heed (it's x86 specific?). This is how we ended up with the
> asmeq -- it was what the arm compiler guys (via the arm kernels guys)
> recommended.

It is formally documented to play by this, so I don't think this is
x86 specific, and I would strongly suspect any (apparent) violation
of this to be either a misunderstanding of the guarantees that are
being made or a bug in the specific compiler version.

> Stefano may remember better (since this was in the context of the Linux
> hypervisor stub).
> 
> I suppose you have a compiler which tickles this?

Yes, the gcc 4.9.1 I use for testing the ARM builds.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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