at v2.6.17 995 B view raw
1#ifndef _LINUX_LINKAGE_H 2#define _LINUX_LINKAGE_H 3 4#include <linux/config.h> 5#include <asm/linkage.h> 6 7#ifdef __cplusplus 8#define CPP_ASMLINKAGE extern "C" 9#else 10#define CPP_ASMLINKAGE 11#endif 12 13#ifndef asmlinkage 14#define asmlinkage CPP_ASMLINKAGE 15#endif 16 17#ifndef prevent_tail_call 18# define prevent_tail_call(ret) do { } while (0) 19#endif 20 21#ifndef __ALIGN 22#define __ALIGN .align 4,0x90 23#define __ALIGN_STR ".align 4,0x90" 24#endif 25 26#ifdef __ASSEMBLY__ 27 28#define ALIGN __ALIGN 29#define ALIGN_STR __ALIGN_STR 30 31#ifndef ENTRY 32#define ENTRY(name) \ 33 .globl name; \ 34 ALIGN; \ 35 name: 36#endif 37 38#define KPROBE_ENTRY(name) \ 39 .section .kprobes.text, "ax"; \ 40 ENTRY(name) 41 42#ifndef END 43#define END(name) \ 44 .size name, .-name 45#endif 46 47#ifndef ENDPROC 48#define ENDPROC(name) \ 49 .type name, @function; \ 50 END(name) 51#endif 52 53#endif 54 55#define NORET_TYPE /**/ 56#define ATTRIB_NORET __attribute__((noreturn)) 57#define NORET_AND noreturn, 58 59#ifndef FASTCALL 60#define FASTCALL(x) x 61#define fastcall 62#endif 63 64#endif