summaryrefslogtreecommitdiff
path: root/src/stem/stem.map
blob: dca785f9037e2fb7b2a475875423c823633833c2 (plain) (blame)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
Allocating common symbols
Common symbol       size              file

idt_ptr             0x6               task/idt.o
mem_placementAddr   0x4               mem/mem.o
idt_entries         0x800             task/idt.o
current_pagedir     0x4               mem/paging.o
kernel_pagedir      0x4               mem/paging.o

Memory Configuration

Name             Origin             Length             Attributes
*default*        0x00000000         0xffffffff

Linker script and memory map

                0x00100000                . = 0x100000

.setup          0x00100000       0x3a
 *(.setup)
 .setup         0x00100000       0x3a core/loader_.o
                0x00100000                loader
                0xe010003a                . = (. + 0xe0000000)

.text           0xe0100040     0x29b0 load address 0x00100040
 *(.text)
 .text          0xe0100040       0x25 core/loader_.o
 *fill*         0xe0100065        0x3 00
 .text          0xe0100068       0xef core/kmain.o
                0xe0100068                kmain_othertask
                0xe010007c                kmain_stage2
                0xe01000b4                kmain
 *fill*         0xe0100157        0x1 00
 .text          0xe0100158       0xed core/sys.o
                0xe0100158                outb
                0xe0100176                outw
                0xe0100196                inb
                0xe01001b3                inw
                0xe01001d2                panic
                0xe0100216                cli
                0xe0100229                sti
 *fill*         0xe0100245        0x3 00
 .text          0xe0100248      0x310 core/monitor.o
                0xe0100359                monitor_put
                0xe0100465                monitor_clear
                0xe01004c2                monitor_write
                0xe01004eb                monitor_writeHex
 .text          0xe0100558      0x104 task/timer.o
                0xe0100558                timer_callback
                0xe0100590                timer_uptime
                0xe010059a                timer_time
                0xe01005d1                timer_init
 .text          0xe010065c      0x9fa task/idt.o
                0xe010065c                idt_isrHandler
                0xe01006f4                idt_irqHandler
                0xe0100795                idt_syscallHandler
                0xe0100816                idt_init
                0xe0101044                idt_handleIrq
 *fill*         0xe0101056        0xa 00
 .text          0xe0101060      0x293 task/idt_.o
                0xe0101060                gdt_flush
                0xe010107d                idt_flush
                0xe0101115                isr0
                0xe010111f                isr1
                0xe0101129                isr2
                0xe0101133                isr3
                0xe010113d                isr4
                0xe0101147                isr5
                0xe0101151                isr6
                0xe010115b                isr7
                0xe0101165                isr8
                0xe010116d                isr9
                0xe0101177                isr10
                0xe010117f                isr11
                0xe0101187                isr12
                0xe010118f                isr13
                0xe0101197                isr14
                0xe010119f                isr15
                0xe01011a9                isr16
                0xe01011b3                isr17
                0xe01011bd                isr18
                0xe01011c7                isr19
                0xe01011d1                isr20
                0xe01011db                isr21
                0xe01011e5                isr22
                0xe01011ef                isr23
                0xe01011f9                isr24
                0xe0101203                isr25
                0xe010120d                isr26
                0xe0101217                isr27
                0xe0101221                isr28
                0xe010122b                isr29
                0xe0101235                isr30
                0xe010123f                isr31
                0xe0101249                irq0
                0xe0101253                irq1
                0xe010125d                irq2
                0xe0101267                irq3
                0xe0101271                irq4
                0xe010127b                irq5
                0xe0101285                irq6
                0xe010128f                irq7
                0xe0101299                irq8
                0xe01012a3                irq9
                0xe01012ad                irq10
                0xe01012b7                irq11
                0xe01012c1                irq12
                0xe01012cb                irq13
                0xe01012d5                irq14
                0xe01012df                irq15
                0xe01012e9                syscall64
 *fill*         0xe01012f3        0x1 00
 .text          0xe01012f4      0x2e8 task/task.o
                0xe01012f4                tasking_init
                0xe01013e7                tasking_switch
                0xe0101479                tasking_handleException
                0xe01014f9                thread_new
 *fill*         0xe01015dc        0x4 00
 .text          0xe01015e0        0xa task/task_.o
                0xe01015e0                read_eip
                0xe01015e3                task_idle
 *fill*         0xe01015ea        0x2 00
 .text          0xe01015ec       0x15 task/syscall.o
 *fill*         0xe0101601        0x3 00
 .text          0xe0101604       0xca lib/stdlib.o
                0xe0101604                memcpy
                0xe0101641                memset
                0xe0101670                memsetw
                0xe01016a6                strlen
 *fill*         0xe01016ce        0x2 00
 .text          0xe01016d0      0x173 lib/bitset.o
                0xe01016d0                bitset_set
                0xe0101724                bitset_clear
                0xe010177a                bitset_test
                0xe01017bc                bitset_firstFree
 *fill*         0xe0101843        0x1 00
 .text          0xe0101844      0x29f mem/mem.o
                0xe01019aa                kmalloc_page
                0xe01019f1                kfree_page
                0xe0101a2c                kheap_init
                0xe0101a81                kmalloc
                0xe0101abf                kfree
 *fill*         0xe0101ae3        0x1 00
 .text          0xe0101ae4      0x513 mem/paging.o
                0xe0101ae4                frame_alloc
                0xe0101b11                frame_free
                0xe0101b2c                paging_init
                0xe0101cc4                paging_cleanup
                0xe0101d1f                pagedir_switch
                0xe0101d4e                paging_fault
                0xe0101e29                pagedir_getPage
                0xe0101f08                page_map
                0xe0101f90                page_unmap
                0xe0101fb3                page_unmapFree
 *fill*         0xe0101ff7        0x1 00
 .text          0xe0101ff8      0x19f mem/gdt.o
                0xe0102087                gdt_init
 *fill*         0xe0102197        0x1 00
 .text          0xe0102198      0x858 mem/heap.o
                0xe0102328                heap_create
                0xe01026fb                heap_alloc
                0xe010285c                heap_free

.iplt           0xe01029f0        0x0 load address 0x001029f0
 .iplt          0x00000000        0x0 core/loader_.o

.rodata         0xe0103000      0x1bb load address 0x00103000
 *(.rodata)
 .rodata        0xe0103000       0x52 core/kmain.o
 .rodata        0xe0103052       0x2c core/sys.o
 .rodata        0xe010307e        0xf task/timer.o
 *fill*         0xe010308d        0x3 00
 .rodata        0xe0103090       0x78 task/idt.o
 .rodata        0xe0103108       0x12 task/task.o
 .rodata        0xe010311a       0x10 mem/mem.o
 .rodata        0xe010312a       0x89 mem/paging.o
 .rodata        0xe01031b3        0x8 mem/gdt.o

.rel.dyn        0xe01031bc        0x0 load address 0x001031bb
 .rel.iplt      0x00000000        0x0 core/loader_.o
 .rel.text      0x00000000        0x0 core/loader_.o

.data           0xe0104000       0x20 load address 0x00104000
 *(.data)
 .data          0xe0104000        0x0 core/kmain.o
 .data          0xe0104000        0x4 core/sys.o
 .data          0xe0104004        0x4 core/monitor.o
 .data          0xe0104008        0x0 task/timer.o
 .data          0xe0104008        0x0 task/idt.o
 .data          0xe0104008        0x4 task/task.o
                0xe0104008                nextpid
 .data          0xe010400c       0x14 task/syscall.o
                0xe010400c                syscalls
 .data          0xe0104020        0x0 lib/stdlib.o
 .data          0xe0104020        0x0 lib/bitset.o
 .data          0xe0104020        0x0 mem/mem.o
 .data          0xe0104020        0x0 mem/paging.o
 .data          0xe0104020        0x0 mem/gdt.o
 .data          0xe0104020        0x0 mem/heap.o

.igot.plt       0xe0104020        0x0 load address 0x00104020
 .igot.plt      0x00000000        0x0 core/loader_.o

.bss            0xe0104020     0x4950 load address 0x00104020
                0xe0104020                sbss = .
 *(COMMON)
 COMMON         0xe0104020      0x820 task/idt.o
                0xe0104020                idt_ptr
                0xe0104040                idt_entries
 COMMON         0xe0104840        0x4 mem/mem.o
                0xe0104840                mem_placementAddr
 COMMON         0xe0104844        0x8 mem/paging.o
                0xe0104844                current_pagedir
                0xe0104848                kernel_pagedir
 *(.bss)
 .bss           0xe010484c     0x4000 core/loader_.o
 .bss           0xe010884c        0x0 core/kmain.o
 .bss           0xe010884c        0x0 core/sys.o
 .bss           0xe010884c        0x8 core/monitor.o
 .bss           0xe0108854        0xc task/timer.o
 .bss           0xe0108860       0x40 task/idt.o
 .bss           0xe01088a0        0xc task/task.o
                0xe01088a0                processes
                0xe01088a4                threads
                0xe01088a8                current_thread
 .bss           0xe01088ac        0x0 task/syscall.o
 .bss           0xe01088ac        0x0 lib/stdlib.o
 .bss           0xe01088ac        0x0 lib/bitset.o
 *fill*         0xe01088ac       0x14 00
 .bss           0xe01088c0       0x60 mem/mem.o
                0xe01088c0                freepagecount
 .bss           0xe0108920        0x8 mem/paging.o
 *fill*         0xe0108928       0x18 00
 .bss           0xe0108940       0x2e mem/gdt.o
 *fill*         0xe010896e        0x2 00
 .bss           0xe0108970        0x0 mem/heap.o
                0xe0108970                ebss = .
                0xe0108970                end = .
                0xe0108970                _end = .
                0xe0108970                __end = .
LOAD core/loader_.o
LOAD core/kmain.o
LOAD core/sys.o
LOAD core/monitor.o
LOAD task/timer.o
LOAD task/idt.o
LOAD task/idt_.o
LOAD task/task.o
LOAD task/task_.o
LOAD task/syscall.o
LOAD lib/stdlib.o
LOAD lib/bitset.o
LOAD mem/mem.o
LOAD mem/paging.o
LOAD mem/gdt.o
LOAD mem/heap.o
OUTPUT(stem.elf elf32-i386)

.comment        0x00000000       0x11
 .comment       0x00000000       0x11 core/kmain.o
                                 0x12 (size before relaxing)
 .comment       0x00000000       0x12 core/sys.o
 .comment       0x00000000       0x12 core/monitor.o
 .comment       0x00000000       0x12 task/timer.o
 .comment       0x00000000       0x12 task/idt.o
 .comment       0x00000000       0x12 task/task.o
 .comment       0x00000000       0x12 task/syscall.o
 .comment       0x00000000       0x12 lib/stdlib.o
 .comment       0x00000000       0x12 lib/bitset.o
 .comment       0x00000000       0x12 mem/mem.o
 .comment       0x00000000       0x12 mem/paging.o
 .comment       0x00000000       0x12 mem/gdt.o
 .comment       0x00000000       0x12 mem/heap.o

.note.GNU-stack
                0x00000000        0x0
 .note.GNU-stack
                0x00000000        0x0 core/kmain.o
 .note.GNU-stack
                0x00000000        0x0 core/sys.o
 .note.GNU-stack
                0x00000000        0x0 core/monitor.o
 .note.GNU-stack
                0x00000000        0x0 task/timer.o
 .note.GNU-stack
                0x00000000        0x0 task/idt.o
 .note.GNU-stack
                0x00000000        0x0 task/task.o
 .note.GNU-stack
                0x00000000        0x0 task/syscall.o
 .note.GNU-stack
                0x00000000        0x0 lib/stdlib.o
 .note.GNU-stack
                0x00000000        0x0 lib/bitset.o
 .note.GNU-stack
                0x00000000        0x0 mem/mem.o
 .note.GNU-stack
                0x00000000        0x0 mem/paging.o
 .note.GNU-stack
                0x00000000        0x0 mem/gdt.o
 .note.GNU-stack
                0x00000000        0x0 mem/heap.o