From ab7efcc97ebc92e03c0474dfd38f9c7b84b84115 Mon Sep 17 00:00:00 2001 From: Jan Beulich <jbeulich@novell.com> Date: Fri, 24 Mar 2006 03:16:17 -0800 Subject: [PATCH] [PATCH] abstract type/size specification for assembly Provide abstraction for generating type and size information of assembly routines and data, while permitting architectures to override these defaults. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: "Russell King" <rmk@arm.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: "Andi Kleen" <ak@suse.de> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> --- include/asm-ia64/linkage.h | 8 ++++++++ include/asm-mips/linkage.h | 4 +++- include/asm-v850/linkage.h | 4 +++- include/linux/linkage.h | 16 +++++++++++++--- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/include/asm-ia64/linkage.h b/include/asm-ia64/linkage.h index 14cd72cd8007b3..ef22a45c1890bf 100644 --- a/include/asm-ia64/linkage.h +++ b/include/asm-ia64/linkage.h @@ -1,6 +1,14 @@ #ifndef __ASM_LINKAGE_H #define __ASM_LINKAGE_H +#ifndef __ASSEMBLY__ + #define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage)) +#else + +#include <asm/asmmacro.h> + +#endif + #endif diff --git a/include/asm-mips/linkage.h b/include/asm-mips/linkage.h index 291c2d01c44f29..b6185d3cfe683a 100644 --- a/include/asm-mips/linkage.h +++ b/include/asm-mips/linkage.h @@ -1,6 +1,8 @@ #ifndef __ASM_LINKAGE_H #define __ASM_LINKAGE_H -/* Nothing to see here... */ +#ifdef __ASSEMBLY__ +#include <asm/asm.h> +#endif #endif diff --git a/include/asm-v850/linkage.h b/include/asm-v850/linkage.h index 291c2d01c44f29..b6185d3cfe683a 100644 --- a/include/asm-v850/linkage.h +++ b/include/asm-v850/linkage.h @@ -1,6 +1,8 @@ #ifndef __ASM_LINKAGE_H #define __ASM_LINKAGE_H -/* Nothing to see here... */ +#ifdef __ASSEMBLY__ +#include <asm/asm.h> +#endif #endif diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 147eb01e0d4bbe..c08c9983e840bf 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -28,17 +28,27 @@ #define ALIGN __ALIGN #define ALIGN_STR __ALIGN_STR +#ifndef ENTRY #define ENTRY(name) \ .globl name; \ ALIGN; \ name: +#endif #define KPROBE_ENTRY(name) \ .section .kprobes.text, "ax"; \ - .globl name; \ - ALIGN; \ - name: + ENTRY(name) +#ifndef END +#define END(name) \ + .size name, .-name +#endif + +#ifndef ENDPROC +#define ENDPROC(name) \ + .type name, @function; \ + END(name) +#endif #endif -- GitLab