-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlinker.ld
78 lines (70 loc) · 1.76 KB
/
linker.ld
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
70
71
72
73
74
75
76
77
78
__rpi_phys_binary_load_addr = 0x80000;
SECTIONS
{
/**************************************************
* Kernel Data *
**************************************************/
. = __rpi_phys_binary_load_addr;
__text_start = .;
.text : {
KEEP(*(.text._start))
*(.text*)
}
.rodata : {
*(.rodata*)
}
__text_end = .;
. = ALIGN(65536);
__mapped_dram_start = .;
.data : {
*(.data*)
}
bss_begin = .;
.bss : {
*(.bss*)
}
bss_end = .;
. = ALIGN(65536);
.locks : {
LOCKS_START = .;
*(.locks*)
LOCKS_END = .;
}
/**************************************************
* Kernel Stack *
**************************************************/
.stack_core0 (NOLOAD) : {
. = ALIGN(65536);
__stack_start_core0__ = .;
. = . + 65536; /* 64KB kernel stack */
__stack_end_core0__ = .;
}
.stack_core1 (NOLOAD) : {
. = ALIGN(65536);
__stack_start_core1__ = .;
. = . + 65536; /* 64KB kernel stack */
__stack_end_core1__ = .;
}
.stack_core2 (NOLOAD) : {
. = ALIGN(65536);
__stack_start_core2__ = .;
. = . + 65536; /* 64KB kernel stack */
__stack_end_core2__ = .;
}
.stack_core3 (NOLOAD) : {
. = ALIGN(65536);
__stack_start_core3__ = .;
. = . + 65536; /* 64KB kernel stack */
__stack_end_core3__ = .;
}
.heap (NOLOAD) : {
heap_start = .;
. = . + 65536 * 1024;
heap_end = .;
}
__mapped_dram_end = .;
. = ALIGN(65536);
__kernel_img_end = .;
/DISCARD/ : {
}
}