On 19/10/18 13:30, Daniel Kiper wrote:
> On Tue, Oct 09, 2018 at 01:03:09PM +0200, Juergen Gross wrote:
>> +
>> +  __arg0 = a0;
>> +  __arg1 = a1;
>> +  __arg2 = a2;
>> +  __arg3 = a3;
>> +  __arg4 = a4;
>> +  asm volatile ("call *%[callno]"
>> +            : "=r" (__res), "+r" (__arg0), "+r" (__arg1), "+r" (__arg2),
>> +              "+r" (__arg3), "+r" (__arg4)
>> +            : [callno] "a" (&hypercall_page[callno])
>> +            : "memory");

call hypercall_page + %c[offset]

passing [offset] "i" (callno * 32)

which gives you a direct call, rather than an indirect one.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to