Skip to content

Commit

Permalink
x86, vdso: Introduce VVAR marco for vdso32
Browse files Browse the repository at this point in the history
This patch revamps the vvar.h for introduce the VVAR macro for vdso32.

Reviewed-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1395094933-14252-8-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
  • Loading branch information
sstefani authored and H. Peter Anvin committed Mar 18, 2014
1 parent 0df1ea2 commit ef72198
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions arch/x86/include/asm/vvar.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@

#else

#ifdef BUILD_VDSO32

#define DECLARE_VVAR(offset, type, name) \
extern type vvar_ ## name __attribute__((visibility("hidden")));

#define VVAR(name) (vvar_ ## name)

#else

extern char __vvar_page;

/* Base address of vvars. This is not ABI. */
Expand All @@ -39,12 +48,13 @@ extern char __vvar_page;
static type const * const vvaraddr_ ## name = \
(void *)(VVAR_ADDRESS + (offset));

#define VVAR(name) (*vvaraddr_ ## name)
#endif

#define DEFINE_VVAR(type, name) \
type name \
__attribute__((section(".vvar_" #name), aligned(16))) __visible

#define VVAR(name) (*vvaraddr_ ## name)

#endif

/* DECLARE_VVAR(offset, type, name) */
Expand Down

0 comments on commit ef72198

Please sign in to comment.