x86, asmlinkage, paravirt: Make paravirt thunks global
authorAndi Kleen <ak@linux.intel.com>
Tue, 22 Oct 2013 16:07:56 +0000 (09:07 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
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 <jeremy@goop.org>
Cc: Ido Yariv <ido@wizery.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1382458079-24450-5-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/include/asm/paravirt.h
arch/x86/kernel/vsmp_64.c
arch/x86/xen/irq.c
arch/x86/xen/mmu.c