summaryrefslogtreecommitdiff
path: root/src/stem/stem.map
blob: a2d1d982ce43b9aa7b056ce85795862aceeafc3a (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
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
Allocating common symbols
Common symbol       size              file

idt_ptr             0x6               task/idt.o
mem_placementAddr   0x4               mem/mem.o
tasking_tmpStack    0x10000           task/task.o
idt_entries         0x800             task/idt.o
kernel_process      0x4               task/task.o
idle_thread         0x4               task/task.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     0x2eed 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      0x3dd task/task.o
                0xe01012f4                tasking_init
                0xe0101410                tasking_switch
                0xe01014a2                tasking_updateKernelPagetable
                0xe01014ec                tasking_handleException
                0xe010156c                thread_new
                0xe0101661                process_new
 *fill*         0xe01016d1        0xf 00
 .text          0xe01016e0        0xa task/task_.o
                0xe01016e0                read_eip
                0xe01016e3                task_idle
 *fill*         0xe01016ea        0x2 00
 .text          0xe01016ec       0x33 task/syscall.o
 *fill*         0xe010171f        0x1 00
 .text          0xe0101720       0xca lib/stdlib.o
                0xe0101720                memcpy
                0xe010175d                memset
                0xe010178c                memsetw
                0xe01017c2                strlen
 *fill*         0xe01017ea        0x2 00
 .text          0xe01017ec      0x173 lib/bitset.o
                0xe01017ec                bitset_set
                0xe0101840                bitset_clear
                0xe0101896                bitset_test
                0xe01018d8                bitset_firstFree
 *fill*         0xe010195f        0x1 00
 .text          0xe0101960      0x29f mem/mem.o
                0xe0101ac6                kmalloc_page
                0xe0101b0d                kfree_page
                0xe0101b48                kheap_init
                0xe0101b9d                kmalloc
                0xe0101bdb                kfree
 *fill*         0xe0101bff        0x1 00
 .text          0xe0101c00      0x645 mem/paging.o
                0xe0101c00                frame_alloc
                0xe0101c2d                frame_free
                0xe0101c48                paging_init
                0xe0101de0                paging_cleanup
                0xe0101e3b                pagedir_switch
                0xe0101e6a                pagedir_new
                0xe0101ef2                paging_fault
                0xe010203f                pagedir_getPage
                0xe0102156                page_map
                0xe01021de                page_unmap
                0xe0102201                page_unmapFree
 *fill*         0xe0102245        0x3 00
 .text          0xe0102248      0x19f mem/gdt.o
                0xe01022d7                gdt_init
 *fill*         0xe01023e7        0x1 00
 .text          0xe01023e8      0x858 mem/heap.o
                0xe0102578                heap_create
                0xe010294b                heap_alloc
                0xe0102aac                heap_free
 .text          0xe0102c40      0x2ed mem/seg.o
                0xe0102c40                seg_map
                0xe0102cae                seg_unmap
                0xe0102d8d                simpleseg_make
                0xe0102e0a                simpleseg_map
                0xe0102e40                simpleseg_unmap
                0xe0102e93                simpleseg_handleFault
                0xe0102f28                simpleseg_delete

.iplt           0xe0102f30        0x0 load address 0x00102f2d
 .iplt          0x00000000        0x0 core/loader_.o

.rodata         0xe0103000      0x1a3 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       0x71 mem/paging.o
 .rodata        0xe010319b        0x8 mem/gdt.o

.rel.dyn        0xe01031a4        0x0 load address 0x001031a3
 .rel.iplt      0x00000000        0x0 core/loader_.o
 .rel.text      0x00000000        0x0 core/loader_.o

.data           0xe0104000       0x24 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
 .data          0xe010400c       0x18 task/syscall.o
                0xe010400c                syscalls
 .data          0xe0104024        0x0 lib/stdlib.o
 .data          0xe0104024        0x0 lib/bitset.o
 .data          0xe0104024        0x0 mem/mem.o
 .data          0xe0104024        0x0 mem/paging.o
 .data          0xe0104024        0x0 mem/gdt.o
 .data          0xe0104024        0x0 mem/heap.o
 .data          0xe0104024        0x0 mem/seg.o

.igot.plt       0xe0104024        0x0 load address 0x00104024
 .igot.plt      0x00000000        0x0 core/loader_.o

.bss            0xe0104040    0x10970 load address 0x00104040
                0xe0104040                sbss = .
 *(COMMON)
 COMMON         0xe0104040      0x820 task/idt.o
                0xe0104040                idt_ptr
                0xe0104060                idt_entries
 COMMON         0xe0104860    0x10008 task/task.o
                0xe0104860                tasking_tmpStack
                0xe0114860                kernel_process
                0xe0114864                idle_thread
 COMMON         0xe0114868        0x4 mem/mem.o
                0xe0114868                mem_placementAddr
 COMMON         0xe011486c        0x8 mem/paging.o
                0xe011486c                current_pagedir
                0xe0114870                kernel_pagedir
 *(.bss)
 .bss           0xe0114874        0x0 core/kmain.o
 .bss           0xe0114874        0x0 core/sys.o
 .bss           0xe0114874        0x8 core/monitor.o
 .bss           0xe011487c        0xc task/timer.o
 *fill*         0xe0114888       0x18 00
 .bss           0xe01148a0       0x40 task/idt.o
 .bss           0xe01148e0        0xc task/task.o
                0xe01148e0                processes
                0xe01148e4                threads
                0xe01148e8                current_thread
 .bss           0xe01148ec        0x0 task/syscall.o
 .bss           0xe01148ec        0x0 lib/stdlib.o
 .bss           0xe01148ec        0x0 lib/bitset.o
 *fill*         0xe01148ec       0x14 00
 .bss           0xe0114900       0x60 mem/mem.o
                0xe0114900                freepagecount
 .bss           0xe0114960        0x8 mem/paging.o
 *fill*         0xe0114968       0x18 00
 .bss           0xe0114980       0x2e mem/gdt.o
 *fill*         0xe01149ae        0x2 00
 .bss           0xe01149b0        0x0 mem/heap.o
 .bss           0xe01149b0        0x0 mem/seg.o
                0xe01149b0                ebss = .
                0xe01149b0                end = .
                0xe01149b0                _end = .
                0xe01149b0                __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
LOAD mem/seg.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
 .comment       0x00000000       0x12 mem/seg.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
 .note.GNU-stack
                0x00000000        0x0 mem/seg.o