| .. | .. |
|---|
| 9 | 9 | |
|---|
| 10 | 10 | #include <linux/sizes.h> |
|---|
| 11 | 11 | |
|---|
| 12 | | -#include <asm-generic/vmlinux.lds.h> |
|---|
| 12 | +#include <asm/vmlinux.lds.h> |
|---|
| 13 | 13 | #include <asm/cache.h> |
|---|
| 14 | 14 | #include <asm/thread_info.h> |
|---|
| 15 | 15 | #include <asm/memory.h> |
|---|
| 16 | 16 | #include <asm/mpu.h> |
|---|
| 17 | 17 | #include <asm/page.h> |
|---|
| 18 | | - |
|---|
| 19 | | -#include "vmlinux.lds.h" |
|---|
| 20 | 18 | |
|---|
| 21 | 19 | OUTPUT_ARCH(arm) |
|---|
| 22 | 20 | ENTRY(stext) |
|---|
| .. | .. |
|---|
| 42 | 40 | ARM_DISCARD |
|---|
| 43 | 41 | *(.alt.smp.init) |
|---|
| 44 | 42 | *(.pv_table) |
|---|
| 43 | +#ifndef CONFIG_ARM_UNWIND |
|---|
| 44 | + *(.ARM.exidx) *(.ARM.exidx.*) |
|---|
| 45 | + *(.ARM.extab) *(.ARM.extab.*) |
|---|
| 46 | +#endif |
|---|
| 45 | 47 | } |
|---|
| 46 | 48 | |
|---|
| 47 | 49 | . = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR); |
|---|
| .. | .. |
|---|
| 70 | 72 | ARM_UNWIND_SECTIONS |
|---|
| 71 | 73 | #endif |
|---|
| 72 | 74 | |
|---|
| 73 | | - NOTES |
|---|
| 74 | | - |
|---|
| 75 | 75 | _etext = .; /* End of text and rodata section */ |
|---|
| 76 | 76 | |
|---|
| 77 | 77 | ARM_VECTORS |
|---|
| .. | .. |
|---|
| 96 | 96 | INIT_SETUP(16) |
|---|
| 97 | 97 | INIT_CALLS |
|---|
| 98 | 98 | CON_INITCALL |
|---|
| 99 | | - SECURITY_INITCALL |
|---|
| 100 | 99 | INIT_RAM_FS |
|---|
| 101 | 100 | } |
|---|
| 102 | 101 | |
|---|
| .. | .. |
|---|
| 115 | 114 | |
|---|
| 116 | 115 | . = ALIGN(THREAD_SIZE); |
|---|
| 117 | 116 | _sdata = .; |
|---|
| 118 | | - RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) |
|---|
| 117 | + RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) |
|---|
| 119 | 118 | .data.ro_after_init : AT(ADDR(.data.ro_after_init) - LOAD_OFFSET) { |
|---|
| 120 | 119 | *(.data..ro_after_init) |
|---|
| 121 | 120 | } |
|---|
| .. | .. |
|---|
| 155 | 154 | _end = .; |
|---|
| 156 | 155 | |
|---|
| 157 | 156 | STABS_DEBUG |
|---|
| 157 | + DWARF_DEBUG |
|---|
| 158 | + ARM_DETAILS |
|---|
| 159 | + |
|---|
| 160 | + ARM_ASSERTS |
|---|
| 158 | 161 | } |
|---|
| 159 | 162 | |
|---|
| 160 | 163 | /* |
|---|
| .. | .. |
|---|
| 164 | 167 | */ |
|---|
| 165 | 168 | ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") |
|---|
| 166 | 169 | ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") |
|---|
| 167 | | - |
|---|
| 168 | | -/* |
|---|
| 169 | | - * The HYP init code can't be more than a page long, |
|---|
| 170 | | - * and should not cross a page boundary. |
|---|
| 171 | | - * The above comment applies as well. |
|---|
| 172 | | - */ |
|---|
| 173 | | -ASSERT(__hyp_idmap_text_end - (__hyp_idmap_text_start & PAGE_MASK) <= PAGE_SIZE, |
|---|
| 174 | | - "HYP init code too big or misaligned") |
|---|
| 175 | 170 | |
|---|
| 176 | 171 | #ifdef CONFIG_XIP_DEFLATED_DATA |
|---|
| 177 | 172 | /* |
|---|