-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkernel.map
More file actions
1229 lines (1150 loc) · 57.8 KB
/
Copy pathkernel.map
File metadata and controls
1229 lines (1150 loc) · 57.8 KB
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
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Allocating common symbols
Common symbol size file
inode_table_sem 0x10 kernel/global.o
ioapicid 0x1 kernel/mp.o
super_block_lock 0x34 kernel/global.o
idt_ptr 0x6 kernel/global.o
s_memman 0x7fe0 kernel/memman.o
ioapic 0x4 kernel/ioapic.o
alloc_smap_bit_lock
0x34 kernel/global.o
allocPCBlock 0x34 kernel/global.o
ismp 0x4 kernel/mp.o
inode_table_lock 0x34 kernel/global.o
alloc_imap_bit_lock
0x34 kernel/global.o
k_reenter 0x4 kernel/global.o
gdt 0x400 kernel/global.o
cpulist 0x1240 kernel/mp.o
gdt_ptr_list 0x20 kernel/mp.o
tss 0x68 kernel/global.o
cr3lock 0x34 kernel/global.o
p_proc_next 0x4 kernel/global.o
disp_pos 0x4 kernel/global.o
ptlock 0x34 kernel/global.o
lapic 0x4 kernel/lapic.o
gdt_ptr 0x6 kernel/global.o
idt 0x800 kernel/global.o
kernel_initial 0x4 kernel/global.o
PARTITION_ENTRY 0x10 kernel/main.o
ticks 0x4 kernel/global.o
f_desc_table_lock 0x34 kernel/global.o
sync_inode_lock 0x34 kernel/global.o
irq_table 0x40 kernel/global.o
u_proc_sum 0x4 kernel/global.o
proc_table 0x40000 kernel/global.o
load_balance_lock 0x34 kernel/global.o
cr2_save 0x4 kernel/pagetbl.o
Discarded input sections
.note.GNU-stack
0x0000000000000000 0x0 kernel/start.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/main.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/clock.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/i8259.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/global.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/protect.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/proc.o
.note.GNU-stack
0x0000000000000000 0x0 lib/klib.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/syscallc.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/memman.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/pagetbl.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/elf.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/file.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/exec.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/fork.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/pthread.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/ktest.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/testfunc.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/fs.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/hd.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/spinlock.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/mp.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/lapic.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/ioapic.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/keyboard.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/tty.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/semaphore.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/rwlock.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/ipc.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/argget.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/msgqueue.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/box.o
Memory Configuration
Name Origin Length Attributes
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
Address of section .text set to 0xc0030400
LOAD kernel/kernel.o
LOAD kernel/syscall.o
LOAD kernel/start.o
LOAD kernel/main.o
LOAD kernel/clock.o
LOAD kernel/i8259.o
LOAD kernel/global.o
LOAD kernel/protect.o
LOAD kernel/proc.o
LOAD lib/kliba.o
LOAD lib/klib.o
LOAD lib/string.o
LOAD kernel/syscallc.o
LOAD kernel/memman.o
LOAD kernel/pagetbl.o
LOAD kernel/elf.o
LOAD kernel/file.o
LOAD kernel/exec.o
LOAD kernel/fork.o
LOAD kernel/pthread.o
LOAD kernel/ktest.o
LOAD kernel/testfunc.o
LOAD kernel/fs.o
LOAD kernel/hd.o
LOAD kernel/spinlock.o
LOAD kernel/mp.o
LOAD kernel/lapic.o
LOAD kernel/ioapic.o
LOAD kernel/keyboard.o
LOAD kernel/tty.o
LOAD kernel/semaphore.o
LOAD kernel/rwlock.o
LOAD kernel/ipc.o
LOAD kernel/argget.o
LOAD kernel/msgqueue.o
LOAD kernel/box.o
TARGET(binary)
LOAD kernel/entryother.bin
[!provide] PROVIDE (__executable_start, 0x8048000)
0x0000000008048094 . = (0x8048000 + SIZEOF_HEADERS)
.interp
*(.interp)
.note.gnu.build-id
*(.note.gnu.build-id)
.hash
*(.hash)
.gnu.hash
*(.gnu.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.dyn 0x0000000008048094 0x0
*(.rel.init)
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
.rel.text 0x0000000008048094 0x0 kernel/kernel.o
*(.rel.fini)
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
*(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
.rel.data 0x0000000008048094 0x0 kernel/kernel.o
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
*(.rel.ctors)
*(.rel.dtors)
*(.rel.got)
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
*(.rel.ifunc)
.rel.plt 0x0000000008048094 0x0
*(.rel.plt)
[!provide] PROVIDE (__rel_iplt_start, .)
*(.rel.iplt)
.rel.iplt 0x0000000008048094 0x0 kernel/kernel.o
[!provide] PROVIDE (__rel_iplt_end, .)
.init
*(SORT(.init))
.plt 0x00000000080480a0 0x0
*(.plt)
*(.iplt)
.iplt 0x00000000080480a0 0x0 kernel/kernel.o
.plt.got
*(.plt.got)
.text 0x00000000c0030400 0xd6e7
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x00000000c0030400 0x947 kernel/kernel.o
0x00000000c0030400 _start
0x00000000c0030440 hwint00
0x00000000c0030490 hwint01
0x00000000c00304e0 hwint02
0x00000000c0030530 hwint03
0x00000000c0030580 hwint04
0x00000000c00305d0 hwint05
0x00000000c0030620 hwint06
0x00000000c0030670 hwint07
0x00000000c00306c0 hwint08
0x00000000c0030710 hwint09
0x00000000c0030760 hwint10
0x00000000c00307b0 hwint11
0x00000000c0030800 hwint12
0x00000000c0030850 hwint13
0x00000000c00308a0 hwint14
0x00000000c00308f0 hwint15
0x00000000c0030934 divide_error
0x00000000c003095c single_step_exception
0x00000000c0030984 nmi
0x00000000c00309ac breakpoint_exception
0x00000000c00309d4 overflow
0x00000000c00309fc bounds_check
0x00000000c0030a24 inval_opcode
0x00000000c0030a4c copr_not_available
0x00000000c0030a74 double_fault
0x00000000c0030a9a copr_seg_overrun
0x00000000c0030ac2 inval_tss
0x00000000c0030ae8 segment_not_present
0x00000000c0030b0e stack_exception
0x00000000c0030b34 general_protection
0x00000000c0030b5a page_fault
0x00000000c0030b80 copr_error
0x00000000c0030c41 sched
0x00000000c0030c7f sys_call
0x00000000c0030ccd restart_restore
0x00000000c0030cd8 restart_initial
0x00000000c0030cea read_cr2
0x00000000c0030cee refresh_page_cache
0x00000000c0030cf5 halt
0x00000000c0030cf6 get_arg
0x00000000c0030d09 read_cr3
0x00000000c0030d0d down_failed
0x00000000c0030d17 up_wakeup
*fill* 0x00000000c0030d47 0x9
.text 0x00000000c0030d50 0x18c kernel/syscall.o
0x00000000c0030d50 get_ticks
0x00000000c0030d58 get_pid
0x00000000c0030d60 kmalloc
0x00000000c0030d6c kmalloc_4k
0x00000000c0030d78 malloc
0x00000000c0030d84 malloc_4k
0x00000000c0030d90 free
0x00000000c0030d9c free_4k
0x00000000c0030da8 fork
0x00000000c0030db0 pthread
0x00000000c0030dbc udisp_int
0x00000000c0030dc8 udisp_str
0x00000000c0030dd4 exec
0x00000000c0030de0 yield
0x00000000c0030dec sleep
0x00000000c0030df8 print_E
0x00000000c0030e04 print_F
0x00000000c0030e10 open
0x00000000c0030e1f close
0x00000000c0030e2e read
0x00000000c0030e3d write
0x00000000c0030e4c lseek
0x00000000c0030e5b unlink
0x00000000c0030e6a get_cpuid
0x00000000c0030e72 msgsnd
0x00000000c0030e81 msgrcv
0x00000000c0030e90 msgget
0x00000000c0030e9f msgctl
0x00000000c0030eae boxget
0x00000000c0030eb6 boxdel
0x00000000c0030ebe boxsnd
0x00000000c0030ecd boxrcv
.text 0x00000000c0030edc 0x95 kernel/start.o
0x00000000c0030edc cstart
.text 0x00000000c0030f71 0x798 kernel/main.o
0x00000000c0031068 kernel_main
0x00000000c0031243 mpenter
0x00000000c00312fb gdtinit
0x00000000c0031511 ap_idtinit
0x00000000c0031529 startothers
0x00000000c00315dc ap_pgdirinit
.text 0x00000000c0031709 0x100 kernel/clock.o
0x00000000c0031709 clock_handler
0x00000000c0031743 io_clock_handler
0x00000000c0031756 milli_delay
0x00000000c0031790 init_clock
.text 0x00000000c0031809 0x130 kernel/i8259.o
0x00000000c0031809 init_8259A
0x00000000c00318de spurious_irq
0x00000000c0031915 put_irq_handler
.text 0x00000000c0031939 0x0 kernel/global.o
.text 0x00000000c0031939 0x6e2 kernel/protect.o
0x00000000c0031939 init_prot
0x00000000c0031cfe init_idt_desc
0x00000000c0031d6f seg2phys
0x00000000c0031dbe init_descriptor
0x00000000c0031e2b exception_handler
0x00000000c0031f86 divide_error_handler
0x00000000c0031ffc renew_tss
.text 0x00000000c003201b 0x130a kernel/proc.o
0x00000000c003201b cpuinit
0x00000000c00320be initialize_processes
0x00000000c0032b39 balance_ready_proc
0x00000000c0032c29 cpu_schedule
0x00000000c0032d36 schedule
0x00000000c0032d81 alloc_PCB
0x00000000c0032dda free_PCB
0x00000000c0032ded init_ready_queue
0x00000000c0032e08 add_ready_queue
0x00000000c0032e83 add_ready_queue_index
0x00000000c0032f39 remove_ready_queue
0x00000000c0032f98 remove_ready_queue_index
0x00000000c0033042 sys_yield
0x00000000c0033060 sys_sleep
0x00000000c00330a2 sys_wakeup
0x00000000c00330eb ldt_seg_linear
0x00000000c0033135 va2la
0x00000000c0033178 find_busiest_cpu
0x00000000c00331c4 move_proc_num
0x00000000c00331e8 move_ready_proc
0x00000000c0033295 load_balance
*fill* 0x00000000c0033325 0xb
.text 0x00000000c0033330 0x125 lib/kliba.o
0x00000000c0033330 disp_str
0x00000000c003337b disp_color_str
0x00000000c00333ba out_byte
0x00000000c00333c6 in_byte
0x00000000c00333d0 disable_irq
0x00000000c0033405 enable_irq
0x00000000c0033424 port_read
0x00000000c0033437 port_write
0x00000000c003344a disable_int
0x00000000c003344c enable_int
0x00000000c003344e Get_Current_EFLAGS
0x00000000c0033451 Disable_Interrupts
0x00000000c0033453 Enable_Interrupts
.text 0x00000000c0033455 0x20e lib/klib.o
0x00000000c0033455 itoa
0x00000000c0033500 disp_int
0x00000000c0033527 delay
0x00000000c003356e clear_screen
0x00000000c00335be disp_color_str_clear_screen
0x00000000c00335e9 disp_str_clear_screen
0x00000000c0033631 Begin_Int_Atomic
0x00000000c003364f End_Int_Atomic
*fill* 0x00000000c0033663 0xd
.text 0x00000000c0033670 0x78 lib/string.o
0x00000000c0033670 memcpy
0x00000000c0033699 memset
0x00000000c00336ba strcpy
0x00000000c00336d2 strlen
.text 0x00000000c00336e8 0x1b6 kernel/syscallc.o
0x00000000c00336e8 sys_get_ticks
0x00000000c00336f2 sys_get_pid
0x00000000c0033703 sys_kmalloc
0x00000000c0033719 sys_kmalloc_4k
0x00000000c0033726 sys_malloc
0x00000000c003377e sys_malloc_4k
0x00000000c00337da sys_free
0x00000000c0033806 sys_free_4k
0x00000000c003385f sys_udisp_int
0x00000000c0033876 sys_udisp_str
0x00000000c003388d sys_get_cpuid
.text 0x00000000c003389e 0x100b kernel/memman.o
0x00000000c003389e init
0x00000000c0033db1 memman_init
0x00000000c0033dde memman_alloc
0x00000000c0033efa memman_kalloc
0x00000000c0034016 memman_alloc_4k
0x00000000c0034139 memman_kalloc_4k
0x00000000c003425c memman_free
0x00000000c00344c0 memman_free_4k
0x00000000c00344d8 do_malloc
0x00000000c00344ee do_kmalloc
0x00000000c0034504 do_malloc_4k
0x00000000c0034517 do_kmalloc_4k
0x00000000c003452a do_free
0x00000000c0034543 do_free_4k
0x00000000c0034559 disp_free
0x00000000c00345d2 memman_total
0x00000000c003460b memman_test
.text 0x00000000c00348a9 0x8ba kernel/pagetbl.o
0x00000000c00348b5 switch_pde
0x00000000c0034912 init_page_pte
0x00000000c00349e0 page_fault_handler
0x00000000c0034d3b get_pde_index
0x00000000c0034d46 get_pte_index
0x00000000c0034d56 get_pde_phy_addr
0x00000000c0034d85 get_pte_phy_addr
0x00000000c0034dbe get_page_phy_addr
0x00000000c0034dfa pte_exist
0x00000000c0034e30 phy_exist
0x00000000c0034e66 write_page_pde
0x00000000c0034e97 write_page_pte
0x00000000c0034ec8 vmalloc
0x00000000c0034f46 lin_mapping_phy
0x00000000c0035065 clear_kernel_pagepte_low
0x00000000c00350af lin_mapping_lapicPhy
0x00000000c0035110 lin_mapping_ioapicPhy
.text 0x00000000c0035163 0x50e kernel/elf.o
0x00000000c0035163 read_Ehdr
0x00000000c003518d read_Phdr
0x00000000c00351b7 read_Shdr
0x00000000c00351e1 read_elf
0x00000000c00352a3 disp_Elf
.text 0x00000000c0035671 0xc3 kernel/file.o
0x00000000c0035671 fake_open
0x00000000c0035685 fake_read
0x00000000c0035722 fake_seek
.text 0x00000000c0035734 0x543 kernel/exec.o
0x00000000c0035734 sys_exec
.text 0x00000000c0035c77 0x6db kernel/fork.o
0x00000000c0035c77 sys_fork
.text 0x00000000c0036352 0x4fb kernel/pthread.o
0x00000000c0036352 sys_pthread
.text 0x00000000c003684d 0x4ca kernel/ktest.o
0x00000000c003684d TestA
0x00000000c0036868 TestB
0x00000000c0036883 wait_init0
0x00000000c00368f4 sync_init
0x00000000c0036991 wakeup_migration
0x00000000c0036aa6 resort_ready_proc
0x00000000c0036b32 initial
0x00000000c0036b7e initial1
0x00000000c0036bc0 initial2
0x00000000c0036c02 initial3
0x00000000c0036c44 migration
0x00000000c0036c64 migration1
0x00000000c0036c84 migration2
0x00000000c0036ca4 migration3
0x00000000c0036cc4 Task
.text 0x00000000c0036d17 0x9a kernel/testfunc.o
0x00000000c0036d17 sys_print_E
0x00000000c0036d64 sys_print_F
.text 0x00000000c0036db1 0x2a7b kernel/fs.o
0x00000000c0036de1 init_fs
0x00000000c00396bf sys_open
0x00000000c00396fa sys_close
0x00000000c003971e sys_read
0x00000000c003976c sys_write
0x00000000c00397ba sys_lseek
0x00000000c0039808 sys_unlink
.text 0x00000000c003982c 0x11db kernel/hd.o
0x00000000c003982c init_hd
0x00000000c00398be hd_open
0x00000000c0039994 hd_close
0x00000000c00399f3 hd_rdwt
0x00000000c0039c2e hd_service
0x00000000c0039ec5 hd_rdwt_sched
0x00000000c003a08d hd_ioctl
.text 0x00000000c003aa07 0x70 kernel/spinlock.o
0x00000000c003aa2a initlock
0x00000000c003aa4c acquire
0x00000000c003aa68 release
.text 0x00000000c003aa77 0x356 kernel/mp.o
0x00000000c003aaaf memcmp
0x00000000c003acae mpinit
.text 0x00000000c003adcd 0x2c5 kernel/lapic.o
0x00000000c003adef lapicinit
0x00000000c003af50 cpunum
0x00000000c003af72 lapiceoi
0x00000000c003af8d microdelay
0x00000000c003af93 lapicstartap
.text 0x00000000c003b092 0x14c kernel/ioapic.o
0x00000000c003b0c4 ioapicinit
0x00000000c003b196 ioapicenable
.text 0x00000000c003b1de 0x3e4 kernel/keyboard.o
0x00000000c003b1de keyboard_handler
0x00000000c003b23e init_keyboard
0x00000000c003b2cf keyboard_read
.text 0x00000000c003b5c2 0x16a kernel/tty.o
0x00000000c003b5c2 task_tty
0x00000000c003b5e2 in_process
.text 0x00000000c003b72c 0x1e8 kernel/semaphore.o
0x00000000c003b72c init_wait_queue
0x00000000c003b747 add_wait_queue
0x00000000c003b789 remove_wait_queue
0x00000000c003b7d7 init_sema
0x00000000c003b7fe do_down
0x00000000c003b8a4 do_up
0x00000000c003b8e5 add_negative
.text 0x00000000c003b914 0xf kernel/rwlock.o
0x00000000c003b914 init_rwlock
.text 0x00000000c003b923 0x49b kernel/ipc.o
0x00000000c003b923 sys_msgsnd
0x00000000c003b9fe sys_msgrcv
0x00000000c003baee sys_msgget
0x00000000c003bb5a sys_msgctl
0x00000000c003bbec sys_boxget
0x00000000c003bc14 sys_boxdel
0x00000000c003bc3c sys_boxsnd
0x00000000c003bcfd sys_boxrcv
.text 0x00000000c003bdbe 0xd4 kernel/argget.o
0x00000000c003bdbe fetchint
0x00000000c003bdff argint
0x00000000c003be26 argptr
.text 0x00000000c003be92 0xe03 kernel/msgqueue.o
0x00000000c003be92 init_msg_queue_manage
0x00000000c003bf7b alloc_msg_queue
0x00000000c003c054 free_msg_queue
0x00000000c003c16c msg_queue_push_node
0x00000000c003c3ac msg_queue_pop_node
.text 0x00000000c003cc95 0xe52 kernel/box.o
0x00000000c003ce83 init_box
0x00000000c003cf06 alloc_box
0x00000000c003d032 free_box
0x00000000c003d13e box_push_node
0x00000000c003d361 box_pop_node
*(.gnu.warning)
.fini
*(SORT(.fini))
[!provide] PROVIDE (__etext, .)
[!provide] PROVIDE (_etext, .)
[!provide] PROVIDE (etext, .)
.rodata 0x00000000c003db00 0x1277
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata 0x00000000c003db00 0x47 kernel/start.o
*fill* 0x00000000c003db47 0x1
.rodata 0x00000000c003db48 0xdf kernel/main.o
.rodata 0x00000000c003dc27 0x11 kernel/i8259.o
*fill* 0x00000000c003dc38 0x8
.rodata 0x00000000c003dc40 0x561 kernel/protect.o
*fill* 0x00000000c003e1a1 0x3
.rodata 0x00000000c003e1a4 0x96 kernel/proc.o
.rodata 0x00000000c003e23a 0x2 lib/klib.o
.rodata 0x00000000c003e23c 0x24 kernel/memman.o
.rodata 0x00000000c003e260 0xcf kernel/pagetbl.o
.rodata 0x00000000c003e32f 0x1f kernel/elf.o
*fill* 0x00000000c003e34e 0x2
.rodata 0x00000000c003e350 0x6c kernel/exec.o
.rodata 0x00000000c003e3bc 0x21 kernel/fork.o
.rodata 0x00000000c003e3dd 0x3c kernel/pthread.o
.rodata 0x00000000c003e419 0x43 kernel/ktest.o
.rodata 0x00000000c003e45c 0xb kernel/testfunc.o
*fill* 0x00000000c003e467 0x1
.rodata 0x00000000c003e468 0x24a kernel/fs.o
.rodata 0x00000000c003e6b2 0xc8 kernel/hd.o
*fill* 0x00000000c003e77a 0x2
.rodata 0x00000000c003e77c 0x2c kernel/mp.o
.rodata 0x00000000c003e7a8 0x32 kernel/ioapic.o
*fill* 0x00000000c003e7da 0x2
.rodata 0x00000000c003e7dc 0x18 kernel/keyboard.o
.rodata 0x00000000c003e7f4 0xa2 kernel/ipc.o
*fill* 0x00000000c003e896 0x2
.rodata 0x00000000c003e898 0x5c kernel/argget.o
.rodata 0x00000000c003e8f4 0x248 kernel/msgqueue.o
.rodata 0x00000000c003eb3c 0x23b kernel/box.o
.rodata1
*(.rodata1)
.eh_frame_hdr
*(.eh_frame_hdr)
*(.eh_frame_entry .eh_frame_entry.*)
.eh_frame 0x00000000c003ed78 0x2478
*(.eh_frame)
.eh_frame 0x00000000c003ed78 0x38 kernel/start.o
.eh_frame 0x00000000c003edb0 0x1a0 kernel/main.o
0x1b8 (size before relaxing)
.eh_frame 0x00000000c003ef50 0x80 kernel/clock.o
0x98 (size before relaxing)
.eh_frame 0x00000000c003efd0 0x60 kernel/i8259.o
0x78 (size before relaxing)
.eh_frame 0x00000000c003f030 0xf0 kernel/protect.o
0x108 (size before relaxing)
.eh_frame 0x00000000c003f120 0x2a0 kernel/proc.o
0x2b8 (size before relaxing)
.eh_frame 0x00000000c003f3c0 0x120 lib/klib.o
0x138 (size before relaxing)
.eh_frame 0x00000000c003f4e0 0x160 kernel/syscallc.o
0x178 (size before relaxing)
.eh_frame 0x00000000c003f640 0x254 kernel/memman.o
0x26c (size before relaxing)
.eh_frame 0x00000000c003f894 0x240 kernel/pagetbl.o
0x258 (size before relaxing)
.eh_frame 0x00000000c003fad4 0xa0 kernel/elf.o
0xb8 (size before relaxing)
.eh_frame 0x00000000c003fb74 0x60 kernel/file.o
0x78 (size before relaxing)
.eh_frame 0x00000000c003fbd4 0x84 kernel/exec.o
0x9c (size before relaxing)
.eh_frame 0x00000000c003fc58 0x90 kernel/fork.o
0xa8 (size before relaxing)
.eh_frame 0x00000000c003fce8 0xb0 kernel/pthread.o
0xc8 (size before relaxing)
.eh_frame 0x00000000c003fd98 0x1c4 kernel/ktest.o
0x1dc (size before relaxing)
.eh_frame 0x00000000c003ff5c 0x40 kernel/testfunc.o
0x58 (size before relaxing)
.eh_frame 0x00000000c003ff9c 0x514 kernel/fs.o
0x52c (size before relaxing)
.eh_frame 0x00000000c00404b0 0x29c kernel/hd.o
0x2b4 (size before relaxing)
.eh_frame 0x00000000c004074c 0x84 kernel/spinlock.o
0x9c (size before relaxing)
.eh_frame 0x00000000c00407d0 0xc0 kernel/mp.o
0xd8 (size before relaxing)
.eh_frame 0x00000000c0040890 0xc0 kernel/lapic.o
0xd8 (size before relaxing)
.eh_frame 0x00000000c0040950 0x80 kernel/ioapic.o
0x98 (size before relaxing)
.eh_frame 0x00000000c00409d0 0x80 kernel/keyboard.o
0x98 (size before relaxing)
.eh_frame 0x00000000c0040a50 0x3c kernel/tty.o
0x54 (size before relaxing)
.eh_frame 0x00000000c0040a8c 0xe0 kernel/semaphore.o
0xf8 (size before relaxing)
.eh_frame 0x00000000c0040b6c 0x20 kernel/rwlock.o
0x38 (size before relaxing)
.eh_frame 0x00000000c0040b8c 0x10c kernel/ipc.o
0x124 (size before relaxing)
.eh_frame 0x00000000c0040c98 0x60 kernel/argget.o
0x78 (size before relaxing)
.eh_frame 0x00000000c0040cf8 0x26c kernel/msgqueue.o
0x284 (size before relaxing)
.eh_frame 0x00000000c0040f64 0x28c kernel/box.o
0x2a4 (size before relaxing)
*(.eh_frame.*)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.gnu_extab
*(.gnu_extab*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
0x00000000c00421f0 . = DATA_SEGMENT_ALIGN (0x1000, 0x1000)
.eh_frame
*(.eh_frame)
*(.eh_frame.*)
.gnu_extab
*(.gnu_extab)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
.tdata
*(.tdata .tdata.* .gnu.linkonce.td.*)
.tbss
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array 0x00000000c00421f0 0x0
[!provide] PROVIDE (__preinit_array_start, .)
*(.preinit_array)
[!provide] PROVIDE (__preinit_array_end, .)
.init_array 0x00000000c00421f0 0x0
[!provide] PROVIDE (__init_array_start, .)
*(SORT(.init_array.*) SORT(.ctors.*))
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
[!provide] PROVIDE (__init_array_end, .)
.fini_array 0x00000000c00421f0 0x0
[!provide] PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*) SORT(.dtors.*))
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
[!provide] PROVIDE (__fini_array_end, .)
.ctors
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
.dtors
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
.jcr
*(.jcr)
.data.rel.ro
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
.dynamic
*(.dynamic)
.got
*(.got)
*(.igot)
0x00000000c00421f0 . = DATA_SEGMENT_RELRO_END (., (SIZEOF (.got.plt) >= 0xc)?0xc:0x0)
.got.plt 0x00000000c00421f0 0x0
*(.got.plt)
*(.igot.plt)
.igot.plt 0x00000000c00421f0 0x0 kernel/kernel.o
.data 0x00000000c0042200 0x92f
*(.data .data.* .gnu.linkonce.d.*)
.data 0x00000000c0042200 0x2 kernel/kernel.o
.data 0x00000000c0042202 0x0 kernel/start.o
.data 0x00000000c0042202 0x0 kernel/main.o
.data 0x00000000c0042202 0x0 kernel/clock.o
.data 0x00000000c0042202 0x0 kernel/i8259.o
*fill* 0x00000000c0042202 0x1e
.data 0x00000000c0042220 0x260 kernel/global.o
0x00000000c0042220 task_table
0x00000000c0042400 sys_call_table
.data 0x00000000c0042480 0x0 kernel/protect.o
.data 0x00000000c0042480 0x0 kernel/proc.o
.data 0x00000000c0042480 0x0 lib/klib.o
.data 0x00000000c0042480 0x0 kernel/syscallc.o
.data 0x00000000c0042480 0x4 kernel/memman.o
0x00000000c0042480 memman
.data 0x00000000c0042484 0x0 kernel/pagetbl.o
.data 0x00000000c0042484 0x0 kernel/elf.o
.data 0x00000000c0042484 0x0 kernel/file.o
.data 0x00000000c0042484 0x0 kernel/exec.o
.data 0x00000000c0042484 0x0 kernel/fork.o
.data 0x00000000c0042484 0x0 kernel/pthread.o
.data 0x00000000c0042484 0x0 kernel/ktest.o
.data 0x00000000c0042484 0x0 kernel/testfunc.o
.data 0x00000000c0042484 0x0 kernel/fs.o
.data 0x00000000c0042484 0x0 kernel/hd.o
.data 0x00000000c0042484 0x0 kernel/spinlock.o
.data 0x00000000c0042484 0x0 kernel/mp.o
.data 0x00000000c0042484 0x0 kernel/lapic.o
.data 0x00000000c0042484 0x0 kernel/ioapic.o
*fill* 0x00000000c0042484 0x1c
.data 0x00000000c00424a0 0x600 kernel/keyboard.o
0x00000000c00424a0 keymap
.data 0x00000000c0042aa0 0x0 kernel/tty.o
.data 0x00000000c0042aa0 0x0 kernel/semaphore.o
.data 0x00000000c0042aa0 0x0 kernel/rwlock.o
.data 0x00000000c0042aa0 0x0 kernel/ipc.o
.data 0x00000000c0042aa0 0x0 kernel/argget.o
.data 0x00000000c0042aa0 0x0 kernel/msgqueue.o
.data 0x00000000c0042aa0 0x0 kernel/box.o
.data 0x00000000c0042aa0 0x8f kernel/entryother.bin
0x00000000c0042aa0 _binary_kernel_entryother_bin_start
0x00000000c0042b2f _binary_kernel_entryother_bin_end
.data1
*(.data1)
0x00000000c0042b2f _edata = .
[!provide] PROVIDE (edata, .)
0x00000000c0042b2f . = .
0x00000000c0042b2f __bss_start = .
.bss 0x00000000c0042b40 0x4cd48
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x00000000c0042b40 0x1000 kernel/kernel.o
.bss 0x00000000c0043b40 0x0 kernel/start.o
.bss 0x00000000c0043b40 0x0 kernel/main.o
.bss 0x00000000c0043b40 0x0 kernel/clock.o
.bss 0x00000000c0043b40 0x0 kernel/i8259.o
.bss 0x00000000c0043b40 0x0 kernel/global.o
.bss 0x00000000c0043b40 0x0 kernel/protect.o
.bss 0x00000000c0043b40 0x0 kernel/proc.o
.bss 0x00000000c0043b40 0x0 lib/klib.o
.bss 0x00000000c0043b40 0x4 kernel/syscallc.o
0x00000000c0043b40 memarg
*fill* 0x00000000c0043b44 0x1c
.bss 0x00000000c0043b60 0x400 kernel/memman.o
0x00000000c0043b60 MemInfo
.bss 0x00000000c0043f60 0x4 kernel/pagetbl.o
0x00000000c0043f60 cr2_count
.bss 0x00000000c0043f64 0x0 kernel/elf.o
.bss 0x00000000c0043f64 0x4 kernel/file.o
.bss 0x00000000c0043f68 0x0 kernel/exec.o
.bss 0x00000000c0043f68 0x0 kernel/fork.o
.bss 0x00000000c0043f68 0x0 kernel/pthread.o
.bss 0x00000000c0043f68 0x0 kernel/ktest.o
.bss 0x00000000c0043f68 0x0 kernel/testfunc.o
*fill* 0x00000000c0043f68 0x18
.bss 0x00000000c0043f80 0x1000 kernel/fs.o
.bss 0x00000000c0044f80 0x64c kernel/hd.o
.bss 0x00000000c00455cc 0x0 kernel/spinlock.o
.bss 0x00000000c00455cc 0x4 kernel/mp.o
0x00000000c00455cc cpunumber
.bss 0x00000000c00455d0 0x0 kernel/lapic.o
.bss 0x00000000c00455d0 0x0 kernel/ioapic.o
*fill* 0x00000000c00455d0 0x10
.bss 0x00000000c00455e0 0x58 kernel/keyboard.o
.bss 0x00000000c0045638 0x0 kernel/tty.o
.bss 0x00000000c0045638 0x0 kernel/semaphore.o
.bss 0x00000000c0045638 0x0 kernel/rwlock.o
.bss 0x00000000c0045638 0x0 kernel/ipc.o
.bss 0x00000000c0045638 0x0 kernel/argget.o
.bss 0x00000000c0045638 0x4 kernel/msgqueue.o
.bss 0x00000000c004563c 0x4 kernel/box.o
*(COMMON)
COMMON 0x00000000c0045640 0x10 kernel/main.o
0x00000000c0045640 PARTITION_ENTRY
*fill* 0x00000000c0045650 0x10
COMMON 0x00000000c0045660 0x40f94 kernel/global.o
0x00000000c0045660 inode_table_sem
0x00000000c0045680 super_block_lock
0x00000000c00456b4 idt_ptr
0x00000000c00456c0 alloc_smap_bit_lock
0x00000000c0045700 allocPCBlock
0x00000000c0045740 inode_table_lock
0x00000000c0045780 alloc_imap_bit_lock
0x00000000c00457b4 k_reenter
0x00000000c00457c0 gdt
0x00000000c0045bc0 tss
0x00000000c0045c40 cr3lock
0x00000000c0045c74 p_proc_next
0x00000000c0045c78 disp_pos
0x00000000c0045c80 ptlock
0x00000000c0045cb4 gdt_ptr
0x00000000c0045cc0 idt
0x00000000c00464c0 kernel_initial
0x00000000c00464c4 ticks
0x00000000c00464e0 f_desc_table_lock
0x00000000c0046520 sync_inode_lock
0x00000000c0046560 irq_table
0x00000000c00465a0 u_proc_sum
0x00000000c00465c0 proc_table
0x00000000c00865c0 load_balance_lock
*fill* 0x00000000c00865f4 0xc
COMMON 0x00000000c0086600 0x7fe0 kernel/memman.o
0x00000000c0086600 s_memman
COMMON 0x00000000c008e5e0 0x4 kernel/pagetbl.o
0x00000000c008e5e0 cr2_save
*fill* 0x00000000c008e5e4 0x1c
COMMON 0x00000000c008e600 0x1280 kernel/mp.o
0x00000000c008e600 ioapicid
0x00000000c008e604 ismp
0x00000000c008e620 cpulist
0x00000000c008f860 gdt_ptr_list
COMMON 0x00000000c008f880 0x4 kernel/lapic.o
0x00000000c008f880 lapic
COMMON 0x00000000c008f884 0x4 kernel/ioapic.o
0x00000000c008f884 ioapic
0x00000000c008f888 . = ALIGN ((. != 0x0)?0x4:0x1)
0x00000000c008f888 . = ALIGN (0x4)
0x00000000c008f888 . = SEGMENT_START ("ldata-segment", .)
0x00000000c008f888 . = ALIGN (0x4)
0x00000000c008f888 _end = .
[!provide] PROVIDE (end, .)
0x00000000c008f888 . = DATA_SEGMENT_END (.)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x35
*(.comment)
.comment 0x0000000000000000 0x35 kernel/start.o
0x36 (size before relaxing)
.comment 0x0000000000000035 0x36 kernel/main.o
.comment 0x0000000000000035 0x36 kernel/clock.o
.comment 0x0000000000000035 0x36 kernel/i8259.o
.comment 0x0000000000000035 0x36 kernel/global.o
.comment 0x0000000000000035 0x36 kernel/protect.o
.comment 0x0000000000000035 0x36 kernel/proc.o
.comment 0x0000000000000035 0x36 lib/klib.o
.comment 0x0000000000000035 0x36 kernel/syscallc.o
.comment 0x0000000000000035 0x36 kernel/memman.o
.comment 0x0000000000000035 0x36 kernel/pagetbl.o
.comment 0x0000000000000035 0x36 kernel/elf.o
.comment 0x0000000000000035 0x36 kernel/file.o
.comment 0x0000000000000035 0x36 kernel/exec.o
.comment 0x0000000000000035 0x36 kernel/fork.o
.comment 0x0000000000000035 0x36 kernel/pthread.o
.comment 0x0000000000000035 0x36 kernel/ktest.o
.comment 0x0000000000000035 0x36 kernel/testfunc.o
.comment 0x0000000000000035 0x36 kernel/fs.o
.comment 0x0000000000000035 0x36 kernel/hd.o
.comment 0x0000000000000035 0x36 kernel/spinlock.o
.comment 0x0000000000000035 0x36 kernel/mp.o
.comment 0x0000000000000035 0x36 kernel/lapic.o
.comment 0x0000000000000035 0x36 kernel/ioapic.o
.comment 0x0000000000000035 0x36 kernel/keyboard.o
.comment 0x0000000000000035 0x36 kernel/tty.o
.comment 0x0000000000000035 0x36 kernel/semaphore.o
.comment 0x0000000000000035 0x36 kernel/rwlock.o
.comment 0x0000000000000035 0x36 kernel/ipc.o
.comment 0x0000000000000035 0x36 kernel/argget.o
.comment 0x0000000000000035 0x36 kernel/msgqueue.o
.comment 0x0000000000000035 0x36 kernel/box.o
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x3f8
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x20 kernel/start.o
.debug_aranges
0x0000000000000020 0x20 kernel/main.o
.debug_aranges
0x0000000000000040 0x20 kernel/clock.o
.debug_aranges
0x0000000000000060 0x20 kernel/i8259.o
.debug_aranges
0x0000000000000080 0x18 kernel/global.o
.debug_aranges
0x0000000000000098 0x20 kernel/protect.o
.debug_aranges
0x00000000000000b8 0x20 kernel/proc.o
.debug_aranges
0x00000000000000d8 0x20 lib/klib.o
.debug_aranges
0x00000000000000f8 0x20 kernel/syscallc.o
.debug_aranges
0x0000000000000118 0x20 kernel/memman.o
.debug_aranges
0x0000000000000138 0x20 kernel/pagetbl.o
.debug_aranges
0x0000000000000158 0x20 kernel/elf.o
.debug_aranges
0x0000000000000178 0x20 kernel/file.o
.debug_aranges
0x0000000000000198 0x20 kernel/exec.o
.debug_aranges
0x00000000000001b8 0x20 kernel/fork.o
.debug_aranges
0x00000000000001d8 0x20 kernel/pthread.o
.debug_aranges
0x00000000000001f8 0x20 kernel/ktest.o
.debug_aranges
0x0000000000000218 0x20 kernel/testfunc.o
.debug_aranges
0x0000000000000238 0x20 kernel/fs.o
.debug_aranges
0x0000000000000258 0x20 kernel/hd.o
.debug_aranges
0x0000000000000278 0x20 kernel/spinlock.o
.debug_aranges
0x0000000000000298 0x20 kernel/mp.o
.debug_aranges
0x00000000000002b8 0x20 kernel/lapic.o
.debug_aranges
0x00000000000002d8 0x20 kernel/ioapic.o
.debug_aranges
0x00000000000002f8 0x20 kernel/keyboard.o
.debug_aranges