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 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel