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

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

On 10/14/2014 01:57 PM, Ian Campbell wrote:
> On Tue, 2014-10-14 at 13:43 +0100, Julien Grall wrote:
>> On 10/14/2014 10:15 AM, Ian Campbell wrote:
>>> On Mon, 2014-10-13 at 16:29 +0100, Julien Grall wrote:
>>>> +GLOBAL(do_smc)
>>>> +GLOBAL(do_smc)
>>> These should both be ENTRY.
>> Why? Is it because GLOBAL should be used for variable and ENTRY for
>> function?
> Exactly. The practical difference is that ENTRY makes sure the code
> entry point is suitably aligned, but semantically ENTRY is the correct
> name.

Thanks for the explanation. So arm*/debug.S are buggy. I will send a
patch to replace GLOBAL by ENTRY.

>>>> +int do_smc(register_t function_id, ...);
>>> Are you sure that the variadic function calling convention is the same
>>> as for a regular function call? I'm not entirely clear having read
>>> AAPCS, it says they are marshalled according to "the standard base". 
>> All the parameters fits in a register, so the compiler will effectively
>> use the first registers to pass arguments.
> Does it? Even with variadic functions? It's not unheard of for an ABI to
> fallback to pushing things onto the stack for such cases, since it works
> out far easier in stdargs.h.

You are right, it looks like it's compiler depend how variadic function
will be called.


Julien Grall

Xen-devel mailing list



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