OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [linux/] [linkage.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _LINUX_LINKAGE_H
2
#define _LINUX_LINKAGE_H
3
 
4
#include <linux/config.h>
5
 
6
#ifdef __cplusplus
7
#define CPP_ASMLINKAGE extern "C"
8
#else
9
#define CPP_ASMLINKAGE
10
#endif
11
 
12
#if defined __i386__
13
#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
14
#elif defined __ia64__
15
#define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage))
16
#else
17
#define asmlinkage CPP_ASMLINKAGE
18
#endif
19
 
20
#define SYMBOL_NAME_STR(X) #X
21
#define SYMBOL_NAME(X) X
22
#ifdef __STDC__
23
#define SYMBOL_NAME_LABEL(X) X##:
24
#else
25
#define SYMBOL_NAME_LABEL(X) X/**/:
26
#endif
27
 
28
#ifdef __arm__
29
#define __ALIGN .align 0
30
#define __ALIGN_STR ".align 0"
31
#else
32
#ifdef __mc68000__
33
#define __ALIGN .align 4
34
#define __ALIGN_STR ".align 4"
35
#else
36
#ifdef __sh__
37
#define __ALIGN .balign 4
38
#define __ALIGN_STR ".balign 4"
39
#else
40
#if defined(__i386__) && defined(CONFIG_X86_ALIGNMENT_16)
41
#define __ALIGN .align 16,0x90
42
#define __ALIGN_STR ".align 16,0x90"
43
#else
44
#define __ALIGN .align 4,0x90
45
#define __ALIGN_STR ".align 4,0x90"
46
#endif
47
#endif /* __sh__ */
48
#endif /* __mc68000__ */
49
#endif /* __arm__ */
50
 
51
#ifdef __ASSEMBLY__
52
 
53
#define ALIGN __ALIGN
54
#define ALIGN_STR __ALIGN_STR
55
 
56
#define ENTRY(name) \
57
  .globl SYMBOL_NAME(name); \
58
  ALIGN; \
59
  SYMBOL_NAME_LABEL(name)
60
 
61
#endif
62
 
63
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.