Subversion Repositories Kolibri OS

Rev

Rev 6934 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6934 Rev 7143
Line 42... Line 42...
42
#define _ASM_SI		__ASM_REG(si)
42
#define _ASM_SI		__ASM_REG(si)
43
#define _ASM_DI		__ASM_REG(di)
43
#define _ASM_DI		__ASM_REG(di)
Line 44... Line 44...
44
 
44
 
45
/* Exception table entry */
45
/* Exception table entry */
46
#ifdef __ASSEMBLY__
46
#ifdef __ASSEMBLY__
47
# define _ASM_EXTABLE(from,to)					\
47
# define _ASM_EXTABLE_HANDLE(from, to, handler)			\
48
	.pushsection "__ex_table","a" ;				\
48
	.pushsection "__ex_table","a" ;				\
49
	.balign 8 ;						\
49
	.balign 4 ;						\
50
	.long (from) - . ;					\
50
	.long (from) - . ;					\
-
 
51
	.long (to) - . ;					\
51
	.long (to) - . ;					\
52
	.long (handler) - . ;					\
Line -... Line 53...
-
 
53
	.popsection
-
 
54
 
-
 
55
# define _ASM_EXTABLE(from, to)					\
-
 
56
	_ASM_EXTABLE_HANDLE(from, to, ex_handler_default)
-
 
57
 
-
 
58
# define _ASM_EXTABLE_FAULT(from, to)				\
52
	.popsection
59
	_ASM_EXTABLE_HANDLE(from, to, ex_handler_fault)
53
 
60
 
54
# define _ASM_EXTABLE_EX(from,to)				\
-
 
55
	.pushsection "__ex_table","a" ;				\
-
 
56
	.balign 8 ;						\
-
 
57
	.long (from) - . ;					\
-
 
Line 58... Line 61...
58
	.long (to) - . + 0x7ffffff0 ;				\
61
# define _ASM_EXTABLE_EX(from, to)				\
59
	.popsection
62
	_ASM_EXTABLE_HANDLE(from, to, ex_handler_ext)
60
 
63
 
61
# define _ASM_NOKPROBE(entry)					\
64
# define _ASM_NOKPROBE(entry)					\
Line 87... Line 90...
87
	_ASM_EXTABLE(100b,103b)
90
	_ASM_EXTABLE(100b,103b)
88
	_ASM_EXTABLE(101b,103b)
91
	_ASM_EXTABLE(101b,103b)
89
	.endm
92
	.endm
Line 90... Line 93...
90
 
93
 
-
 
94
#else
91
#else
95
# define _EXPAND_EXTABLE_HANDLE(x) #x
92
# define _ASM_EXTABLE(from,to)					\
96
# define _ASM_EXTABLE_HANDLE(from, to, handler)			\
93
	" .pushsection \"__ex_table\",\"a\"\n"			\
97
	" .pushsection \"__ex_table\",\"a\"\n"			\
94
	" .balign 8\n"						\
98
	" .balign 4\n"						\
95
	" .long (" #from ") - .\n"				\
99
	" .long (" #from ") - .\n"				\
-
 
100
	" .long (" #to ") - .\n"				\
96
	" .long (" #to ") - .\n"				\
101
	" .long (" _EXPAND_EXTABLE_HANDLE(handler) ") - .\n"	\
Line -... Line 102...
-
 
102
	" .popsection\n"
-
 
103
 
-
 
104
# define _ASM_EXTABLE(from, to)					\
-
 
105
	_ASM_EXTABLE_HANDLE(from, to, ex_handler_default)
-
 
106
 
-
 
107
# define _ASM_EXTABLE_FAULT(from, to)				\
97
	" .popsection\n"
108
	_ASM_EXTABLE_HANDLE(from, to, ex_handler_fault)
98
 
-
 
99
# define _ASM_EXTABLE_EX(from,to)				\
-
 
100
	" .pushsection \"__ex_table\",\"a\"\n"			\
109
 
101
	" .balign 8\n"						\
-
 
102
	" .long (" #from ") - .\n"				\
-
 
-
 
110
# define _ASM_EXTABLE_EX(from, to)				\
103
	" .long (" #to ") - . + 0x7ffffff0\n"			\
111
	_ASM_EXTABLE_HANDLE(from, to, ex_handler_ext)
104
	" .popsection\n"
112
 
Line 105... Line 113...
105
/* For C file, we already have NOKPROBE_SYMBOL macro */
113
/* For C file, we already have NOKPROBE_SYMBOL macro */