1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| /* SPDX-License-Identifier: GPL-2.0 */
| #include <asm-generic/vmlinux.lds.h>
| #include <asm/page.h>
| #include <asm/thread_info.h>
|
| #define ROMTOP 0x000000
| #define RAMTOP 0x400000
|
| jiffies = jiffies_64 + 4;
|
| ENTRY(_start)
|
| SECTIONS
| {
| #if defined(CONFIG_ROMKERNEL)
| . = ROMTOP;
| .vectors :
| {
| _vector = . ;
| *(.vector*)
| }
| #else
| . = RAMTOP;
| _ramstart = .;
| . = . + CONFIG_OFFSET;
| #endif
| _text = .;
| HEAD_TEXT_SECTION
| .text : {
| _stext = . ;
| TEXT_TEXT
| SCHED_TEXT
| CPUIDLE_TEXT
| LOCK_TEXT
| #if defined(CONFIG_ROMKERNEL)
| *(.int_redirect)
| #endif
| _etext = . ;
| }
| EXCEPTION_TABLE(16)
| NOTES
| RO_DATA_SECTION(4)
| ROMEND = .;
| #if defined(CONFIG_ROMKERNEL)
| . = RAMTOP;
| _ramstart = .;
| #define ADDR(x) ROMEND
| #endif
| _sdata = . ;
| __data_start = . ;
| RW_DATA_SECTION(0, PAGE_SIZE, THREAD_SIZE)
| #if defined(CONFIG_ROMKERNEL)
| #undef ADDR
| #endif
| . = ALIGN(0x4) ;
| __init_begin = .;
| INIT_TEXT_SECTION(4)
| INIT_DATA_SECTION(4)
| SECURITY_INIT
| __init_end = .;
| _edata = . ;
| _begin_data = LOADADDR(.data);
| _sbss =.;
| BSS_SECTION(0, 0 ,0)
| _ebss =.;
| _ramend = .;
| _end = .;
| DISCARDS
| }
|
|