aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/vmlinux.lds.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r--include/asm-generic/vmlinux.lds.h72
1 files changed, 27 insertions, 45 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 146e4fffd710..c1c0b0cf39b4 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -109,6 +109,15 @@
109#define BRANCH_PROFILE() 109#define BRANCH_PROFILE()
110#endif 110#endif
111 111
112#ifdef CONFIG_KPROBES
113#define KPROBE_BLACKLIST() . = ALIGN(8); \
114 VMLINUX_SYMBOL(__start_kprobe_blacklist) = .; \
115 *(_kprobe_blacklist) \
116 VMLINUX_SYMBOL(__stop_kprobe_blacklist) = .;
117#else
118#define KPROBE_BLACKLIST()
119#endif
120
112#ifdef CONFIG_EVENT_TRACING 121#ifdef CONFIG_EVENT_TRACING
113#define FTRACE_EVENTS() . = ALIGN(8); \ 122#define FTRACE_EVENTS() . = ALIGN(8); \
114 VMLINUX_SYMBOL(__start_ftrace_events) = .; \ 123 VMLINUX_SYMBOL(__start_ftrace_events) = .; \
@@ -139,52 +148,23 @@
139#define TRACE_SYSCALLS() 148#define TRACE_SYSCALLS()
140#endif 149#endif
141 150
142#ifdef CONFIG_CLKSRC_OF
143#define CLKSRC_OF_TABLES() . = ALIGN(8); \
144 VMLINUX_SYMBOL(__clksrc_of_table) = .; \
145 *(__clksrc_of_table) \
146 *(__clksrc_of_table_end)
147#else
148#define CLKSRC_OF_TABLES()
149#endif
150 151
151#ifdef CONFIG_IRQCHIP 152#define ___OF_TABLE(cfg, name) _OF_TABLE_##cfg(name)
152#define IRQCHIP_OF_MATCH_TABLE() \ 153#define __OF_TABLE(cfg, name) ___OF_TABLE(cfg, name)
154#define OF_TABLE(cfg, name) __OF_TABLE(config_enabled(cfg), name)
155#define _OF_TABLE_0(name)
156#define _OF_TABLE_1(name) \
153 . = ALIGN(8); \ 157 . = ALIGN(8); \
154 VMLINUX_SYMBOL(__irqchip_begin) = .; \ 158 VMLINUX_SYMBOL(__##name##_of_table) = .; \
155 *(__irqchip_of_table) \ 159 *(__##name##_of_table) \
156 *(__irqchip_of_end) 160 *(__##name##_of_table_end)
157#else
158#define IRQCHIP_OF_MATCH_TABLE()
159#endif
160 161
161#ifdef CONFIG_COMMON_CLK 162#define CLKSRC_OF_TABLES() OF_TABLE(CONFIG_CLKSRC_OF, clksrc)
162#define CLK_OF_TABLES() . = ALIGN(8); \ 163#define IRQCHIP_OF_MATCH_TABLE() OF_TABLE(CONFIG_IRQCHIP, irqchip)
163 VMLINUX_SYMBOL(__clk_of_table) = .; \ 164#define CLK_OF_TABLES() OF_TABLE(CONFIG_COMMON_CLK, clk)
164 *(__clk_of_table) \ 165#define RESERVEDMEM_OF_TABLES() OF_TABLE(CONFIG_OF_RESERVED_MEM, reservedmem)
165 *(__clk_of_table_end) 166#define CPU_METHOD_OF_TABLES() OF_TABLE(CONFIG_SMP, cpu_method)
166#else 167#define EARLYCON_OF_TABLES() OF_TABLE(CONFIG_SERIAL_EARLYCON, earlycon)
167#define CLK_OF_TABLES()
168#endif
169
170#ifdef CONFIG_OF_RESERVED_MEM
171#define RESERVEDMEM_OF_TABLES() \
172 . = ALIGN(8); \
173 VMLINUX_SYMBOL(__reservedmem_of_table) = .; \
174 *(__reservedmem_of_table) \
175 *(__reservedmem_of_table_end)
176#else
177#define RESERVEDMEM_OF_TABLES()
178#endif
179
180#ifdef CONFIG_SMP
181#define CPU_METHOD_OF_TABLES() . = ALIGN(8); \
182 VMLINUX_SYMBOL(__cpu_method_of_table_begin) = .; \
183 *(__cpu_method_of_table) \
184 VMLINUX_SYMBOL(__cpu_method_of_table_end) = .;
185#else
186#define CPU_METHOD_OF_TABLES()
187#endif
188 168
189#define KERNEL_DTB() \ 169#define KERNEL_DTB() \
190 STRUCT_ALIGN(); \ 170 STRUCT_ALIGN(); \
@@ -507,13 +487,15 @@
507 *(.init.rodata) \ 487 *(.init.rodata) \
508 FTRACE_EVENTS() \ 488 FTRACE_EVENTS() \
509 TRACE_SYSCALLS() \ 489 TRACE_SYSCALLS() \
490 KPROBE_BLACKLIST() \
510 MEM_DISCARD(init.rodata) \ 491 MEM_DISCARD(init.rodata) \
511 CLK_OF_TABLES() \ 492 CLK_OF_TABLES() \
512 RESERVEDMEM_OF_TABLES() \ 493 RESERVEDMEM_OF_TABLES() \
513 CLKSRC_OF_TABLES() \ 494 CLKSRC_OF_TABLES() \
514 CPU_METHOD_OF_TABLES() \ 495 CPU_METHOD_OF_TABLES() \
515 KERNEL_DTB() \ 496 KERNEL_DTB() \
516 IRQCHIP_OF_MATCH_TABLE() 497 IRQCHIP_OF_MATCH_TABLE() \
498 EARLYCON_OF_TABLES()
517 499
518#define INIT_TEXT \ 500#define INIT_TEXT \
519 *(.init.text) \ 501 *(.init.text) \
@@ -711,7 +693,7 @@
711 . = ALIGN(PAGE_SIZE); \ 693 . = ALIGN(PAGE_SIZE); \
712 *(.data..percpu..page_aligned) \ 694 *(.data..percpu..page_aligned) \
713 . = ALIGN(cacheline); \ 695 . = ALIGN(cacheline); \
714 *(.data..percpu..readmostly) \ 696 *(.data..percpu..read_mostly) \
715 . = ALIGN(cacheline); \ 697 . = ALIGN(cacheline); \
716 *(.data..percpu) \ 698 *(.data..percpu) \
717 *(.data..percpu..shared_aligned) \ 699 *(.data..percpu..shared_aligned) \