Commit ab7efcc9 authored by Jan Beulich's avatar Jan Beulich Committed by Linus Torvalds

[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: default avatarJan 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: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 09fe316a
#ifndef __ASM_LINKAGE_H #ifndef __ASM_LINKAGE_H
#define __ASM_LINKAGE_H #define __ASM_LINKAGE_H
#ifndef __ASSEMBLY__
#define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage)) #define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage))
#else
#include <asm/asmmacro.h>
#endif
#endif #endif
#ifndef __ASM_LINKAGE_H #ifndef __ASM_LINKAGE_H
#define __ASM_LINKAGE_H #define __ASM_LINKAGE_H
/* Nothing to see here... */ #ifdef __ASSEMBLY__
#include <asm/asm.h>
#endif
#endif #endif
#ifndef __ASM_LINKAGE_H #ifndef __ASM_LINKAGE_H
#define __ASM_LINKAGE_H #define __ASM_LINKAGE_H
/* Nothing to see here... */ #ifdef __ASSEMBLY__
#include <asm/asm.h>
#endif
#endif #endif
...@@ -28,17 +28,27 @@ ...@@ -28,17 +28,27 @@
#define ALIGN __ALIGN #define ALIGN __ALIGN
#define ALIGN_STR __ALIGN_STR #define ALIGN_STR __ALIGN_STR
#ifndef ENTRY
#define ENTRY(name) \ #define ENTRY(name) \
.globl name; \ .globl name; \
ALIGN; \ ALIGN; \
name: name:
#endif
#define KPROBE_ENTRY(name) \ #define KPROBE_ENTRY(name) \
.section .kprobes.text, "ax"; \ .section .kprobes.text, "ax"; \
.globl name; \ ENTRY(name)
ALIGN; \
name:
#ifndef END
#define END(name) \
.size name, .-name
#endif
#ifndef ENDPROC
#define ENDPROC(name) \
.type name, @function; \
END(name)
#endif
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment