x86, asmlinkage, paravirt: Make paravirt thunks global
authorAndi Kleen <[email protected]>
Tue, 22 Oct 2013 16:07:56 +0000 (09:07 -0700)
committerH. Peter Anvin <[email protected]>
Thu, 30 Jan 2014 06:17:17 +0000 (22:17 -0800)
commita2e7f0e3a4f0f23fe4cd8cc22da547872f0170bb
treec13215deb885bace1fbfe9d084d8d5781e8f7c62
parent824a2870098fa5364d49d4cd5a1f41544d9f6c65
x86, asmlinkage, paravirt: Make paravirt thunks global

The paravirt thunks use a hack of using a static reference to a static
function to reference that function from the top level statement.

This assumes that gcc always generates static function names in a specific
format, which is not necessarily true.

Simply make these functions global and asmlinkage or __visible. This way the
static __used variables are not needed and everything works.

Functions with arguments are __visible to keep the register calling
convention on 32bit.

Changed in paravirt and in all users (Xen and vsmp)

v2: Use __visible for functions with arguments

Cc: Jeremy Fitzhardinge <[email protected]>
Cc: Ido Yariv <[email protected]>
Signed-off-by: Andi Kleen <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: H. Peter Anvin <[email protected]>
arch/x86/include/asm/paravirt.h
arch/x86/kernel/vsmp_64.c
arch/x86/xen/irq.c
arch/x86/xen/mmu.c