diff options
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 72 |
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) \ |
