summaryrefslogtreecommitdiff
path: root/src/stem/stem.map
blob: 46fc7b615fe1a61c72e8ae98f8f1a0614f60e1b4 (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
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     0x2928 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      0x9bb task/idt.o
                0xe010065c                idt_isrHandler
                0xe01006f4                idt_irqHandler
                0xe01007fc                idt_init
                0xe0101005                idt_handleIrq
 *fill*         0xe0101017        0x9 00
 .text          0xe0101020      0x259 task/idt_.o
                0xe0101020                gdt_flush
                0xe010103d                idt_flush
                0xe01010a5                isr0
                0xe01010af                isr1
                0xe01010b9                isr2
                0xe01010c3                isr3
                0xe01010cd                isr4
                0xe01010d7                isr5
                0xe01010e1                isr6
                0xe01010eb                isr7
                0xe01010f5                isr8
                0xe01010fd                isr9
                0xe0101107                isr10
                0xe010110f                isr11
                0xe0101117                isr12
                0xe010111f                isr13
                0xe0101127                isr14
                0xe010112f                isr15
                0xe0101139                isr16
                0xe0101143                isr17
                0xe010114d                isr18
                0xe0101157                isr19
                0xe0101161                isr20
                0xe010116b                isr21
                0xe0101175                isr22
                0xe010117f                isr23
                0xe0101189                isr24
                0xe0101193                isr25
                0xe010119d                isr26
                0xe01011a7                isr27
                0xe01011b1                isr28
                0xe01011bb                isr29
                0xe01011c5                isr30
                0xe01011cf                isr31
                0xe01011d9                irq0
                0xe01011e3                irq1
                0xe01011ed                irq2
                0xe01011f7                irq3
                0xe0101201                irq4
                0xe010120b                irq5
                0xe0101215                irq6
                0xe010121f                irq7
                0xe0101229                irq8
                0xe0101233                irq9
                0xe010123d                irq10
                0xe0101247                irq11
                0xe0101251                irq12
                0xe010125b                irq13
                0xe0101265                irq14
                0xe010126f                irq15
 *fill*         0xe0101279        0x3 00
 .text          0xe010127c      0x2e8 task/task.o
                0xe010127c                tasking_init
                0xe010136f                tasking_switch
                0xe0101401                tasking_handleException
                0xe0101481                thread_new
 *fill*         0xe0101564        0xc 00
 .text          0xe0101570        0xa task/task_.o
                0xe0101570                read_eip
                0xe0101573                task_idle
 *fill*         0xe010157a        0x2 00
 .text          0xe010157c       0xca lib/stdlib.o
                0xe010157c                memcpy
                0xe01015b9                memset
                0xe01015e8                memsetw
                0xe010161e                strlen
 *fill*         0xe0101646        0x2 00
 .text          0xe0101648      0x173 lib/bitset.o
                0xe0101648                bitset_set
                0xe010169c                bitset_clear
                0xe01016f2                bitset_test
                0xe0101734                bitset_firstFree
 *fill*         0xe01017bb        0x1 00
 .text          0xe01017bc      0x29f mem/mem.o
                0xe0101922                kmalloc_page
                0xe0101969                kfree_page
                0xe01019a4                kheap_init
                0xe01019f9                kmalloc
                0xe0101a37                kfree
 *fill*         0xe0101a5b        0x1 00
 .text          0xe0101a5c      0x513 mem/paging.o
                0xe0101a5c                frame_alloc
                0xe0101a89                frame_free
                0xe0101aa4                paging_init
                0xe0101c3c                paging_cleanup
                0xe0101c97                pagedir_switch
                0xe0101cc6                paging_fault
                0xe0101da1                pagedir_getPage
                0xe0101e80                page_map
                0xe0101f08                page_unmap
                0xe0101f2b                page_unmapFree
 *fill*         0xe0101f6f        0x1 00
 .text          0xe0101f70      0x19f mem/gdt.o
                0xe0101fff                gdt_init
 *fill*         0xe010210f        0x1 00
 .text          0xe0102110      0x858 mem/heap.o
                0xe01022a0                heap_create
                0xe0102673                heap_alloc
                0xe01027d4                heap_free

.iplt           0xe0102968        0x0 load address 0x00102968
 .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        0xc 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        0x0 lib/stdlib.o
 .data          0xe010400c        0x0 lib/bitset.o
 .data          0xe010400c        0x0 mem/mem.o
 .data          0xe010400c        0x0 mem/paging.o
 .data          0xe010400c        0x0 mem/gdt.o
 .data          0xe010400c        0x0 mem/heap.o

.igot.plt       0xe010400c        0x0 load address 0x0010400c
 .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 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 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       0x27
 .comment       0x00000000       0x27 core/kmain.o
                                 0x28 (size before relaxing)
 .comment       0x00000000       0x28 core/sys.o
 .comment       0x00000000       0x28 core/monitor.o
 .comment       0x00000000       0x28 task/timer.o
 .comment       0x00000000       0x28 task/idt.o
 .comment       0x00000000       0x28 task/task.o
 .comment       0x00000000       0x28 lib/stdlib.o
 .comment       0x00000000       0x28 lib/bitset.o
 .comment       0x00000000       0x28 mem/mem.o
 .comment       0x00000000       0x28 mem/paging.o
 .comment       0x00000000       0x28 mem/gdt.o
 .comment       0x00000000       0x28 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 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