-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathout.txt
10266 lines (10117 loc) · 517 KB
/
out.txt
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
obj/kernel/kernel: file format elf32-i386
Disassembly of section .text:
c0100000 <start>:
c0100000: 0f 01 15 48 00 10 00 lgdtl 0x100048
c0100007: 0f 20 c0 mov %cr0,%eax
c010000a: 83 c8 01 or $0x1,%eax
c010000d: 0f 22 c0 mov %eax,%cr0
c0100010: ea 17 00 10 00 08 00 ljmp $0x8,$0x100017
c0100017 <start_cond>:
c0100017: 66 b8 10 00 mov $0x10,%ax
c010001b: 8e d8 mov %eax,%ds
c010001d: 8e c0 mov %eax,%es
c010001f: 8e d0 mov %eax,%ss
c0100021: bd 00 00 00 00 mov $0x0,%ebp
c0100026: bc 00 00 00 08 mov $0x8000000,%esp
c010002b: e9 20 11 00 00 jmp c0101150 <init>
c0100030 <gdt>:
...
c0100038: ff (bad)
c0100039: ff 00 incl (%eax)
c010003b: 00 00 add %al,(%eax)
c010003d: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf
c0100044: 00 .byte 0x0
c0100045: 92 xchg %eax,%edx
c0100046: cf iret
...
c0100048 <gdtdesc>:
c0100048: 17 pop %ss
c0100049: 00 30 add %dh,(%eax)
c010004b: 00 10 add %dl,(%eax)
c010004d: 00 66 90 add %ah,-0x70(%esi)
c0100050 <mm_malloc>:
c0100050: 55 push %ebp
c0100051: 31 c0 xor %eax,%eax
c0100053: 89 e5 mov %esp,%ebp
c0100055: 57 push %edi
c0100056: 56 push %esi
c0100057: 53 push %ebx
c0100058: 83 ec 3c sub $0x3c,%esp
c010005b: 8b 5d 0c mov 0xc(%ebp),%ebx
c010005e: 85 db test %ebx,%ebx
c0100060: 0f 8e 36 02 00 00 jle c010029c <mm_malloc+0x24c>
c0100066: e8 45 11 00 00 call c01011b0 <get_updir>
c010006b: 89 c6 mov %eax,%esi
c010006d: e8 5e 11 00 00 call c01011d0 <get_ucr3>
c0100072: 8b 55 08 mov 0x8(%ebp),%edx
c0100075: 8d 5c 1a ff lea -0x1(%edx,%ebx,1),%ebx
c0100079: 89 5d e0 mov %ebx,-0x20(%ebp)
c010007c: 89 45 dc mov %eax,-0x24(%ebp)
c010007f: b8 00 10 00 00 mov $0x1000,%eax
c0100084: 29 d0 sub %edx,%eax
c0100086: 89 da mov %ebx,%edx
c0100088: 81 e2 00 f0 ff ff and $0xfffff000,%edx
c010008e: 01 d0 add %edx,%eax
c0100090: 85 c0 test %eax,%eax
c0100092: 0f 8e c0 00 00 00 jle c0100158 <mm_malloc+0x108>
c0100098: 8b 55 08 mov 0x8(%ebp),%edx
c010009b: 83 e8 01 sub $0x1,%eax
c010009e: 89 f7 mov %esi,%edi
c01000a0: 25 00 f0 ff ff and $0xfffff000,%eax
c01000a5: 8d 84 02 00 10 00 00 lea 0x1000(%edx,%eax,1),%eax
c01000ac: 89 d3 mov %edx,%ebx
c01000ae: 89 45 e4 mov %eax,-0x1c(%ebp)
c01000b1: eb 51 jmp c0100104 <mm_malloc+0xb4>
c01000b3: 90 nop
c01000b4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
c01000b8: 8b 31 mov (%ecx),%esi
c01000ba: 81 e6 00 f0 ff ff and $0xfffff000,%esi
c01000c0: 81 ee 00 00 00 40 sub $0x40000000,%esi
c01000c6: 89 d8 mov %ebx,%eax
c01000c8: c1 e8 0a shr $0xa,%eax
c01000cb: 25 fc 0f 00 00 and $0xffc,%eax
c01000d0: 01 c6 add %eax,%esi
c01000d2: f6 06 01 testb $0x1,(%esi)
c01000d5: 75 22 jne c01000f9 <mm_malloc+0xa9>
c01000d7: a1 20 c0 10 c0 mov 0xc010c020,%eax
c01000dc: 3d ff 7f 00 00 cmp $0x7fff,%eax
c01000e1: 0f 8f c1 01 00 00 jg c01002a8 <mm_malloc+0x258>
c01000e7: 89 c1 mov %eax,%ecx
c01000e9: 83 c0 01 add $0x1,%eax
c01000ec: c1 e1 0c shl $0xc,%ecx
c01000ef: 83 c9 07 or $0x7,%ecx
c01000f2: 89 0e mov %ecx,(%esi)
c01000f4: a3 20 c0 10 c0 mov %eax,0xc010c020
c01000f9: 81 c3 00 10 00 00 add $0x1000,%ebx
c01000ff: 3b 5d e4 cmp -0x1c(%ebp),%ebx
c0100102: 74 54 je c0100158 <mm_malloc+0x108>
c0100104: 89 d8 mov %ebx,%eax
c0100106: c1 e8 16 shr $0x16,%eax
c0100109: 8d 0c 87 lea (%edi,%eax,4),%ecx
c010010c: f6 01 01 testb $0x1,(%ecx)
c010010f: 75 a7 jne c01000b8 <mm_malloc+0x68>
c0100111: a1 00 d0 10 c0 mov 0xc010d000,%eax
c0100116: 89 c6 mov %eax,%esi
c0100118: 83 c0 01 add $0x1,%eax
c010011b: c1 e6 0c shl $0xc,%esi
c010011e: 81 c6 00 e0 10 c0 add $0xc010e000,%esi
c0100124: a3 00 d0 10 c0 mov %eax,0xc010d000
c0100129: 8d 86 00 00 00 40 lea 0x40000000(%esi),%eax
c010012f: 25 00 f0 ff ff and $0xfffff000,%eax
c0100134: 83 c8 07 or $0x7,%eax
c0100137: 89 01 mov %eax,(%ecx)
c0100139: c7 44 24 08 00 10 00 movl $0x1000,0x8(%esp)
c0100140: 00
c0100141: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
c0100148: 00
c0100149: 89 34 24 mov %esi,(%esp)
c010014c: e8 63 19 00 00 call c0101ab4 <memset>
c0100151: e9 70 ff ff ff jmp c01000c6 <mm_malloc+0x76>
c0100156: 66 90 xchg %ax,%ax
c0100158: 8b 5d dc mov -0x24(%ebp),%ebx
c010015b: 8b 45 e0 mov -0x20(%ebp),%eax
c010015e: 81 eb 00 00 00 40 sub $0x40000000,%ebx
c0100164: 81 e3 00 f0 ff ff and $0xfffff000,%ebx
c010016a: c1 e8 16 shr $0x16,%eax
c010016d: 8b 34 83 mov (%ebx,%eax,4),%esi
c0100170: f7 c6 01 00 00 00 test $0x1,%esi
c0100176: 75 32 jne c01001aa <mm_malloc+0x15a>
c0100178: c7 44 24 10 24 90 10 movl $0xc0109024,0x10(%esp)
c010017f: c0
c0100180: c7 44 24 0c 88 90 10 movl $0xc0109088,0xc(%esp)
c0100187: c0
c0100188: c7 44 24 08 11 00 00 movl $0x11,0x8(%esp)
c010018f: 00
c0100190: c7 44 24 04 13 90 10 movl $0xc0109013,0x4(%esp)
c0100197: c0
c0100198: c7 04 24 34 90 10 c0 movl $0xc0109034,(%esp)
c010019f: e8 ec 15 00 00 call c0101790 <printk>
c01001a4: b8 01 00 00 00 mov $0x1,%eax
c01001a9: d6 (bad)
c01001aa: 8b 55 e0 mov -0x20(%ebp),%edx
c01001ad: 8d 86 00 00 00 c0 lea -0x40000000(%esi),%eax
c01001b3: 25 00 f0 ff ff and $0xfffff000,%eax
c01001b8: c1 ea 0c shr $0xc,%edx
c01001bb: 81 e2 ff 03 00 00 and $0x3ff,%edx
c01001c1: f6 04 90 01 testb $0x1,(%eax,%edx,4)
c01001c5: 75 32 jne c01001f9 <mm_malloc+0x1a9>
c01001c7: c7 44 24 10 2c 90 10 movl $0xc010902c,0x10(%esp)
c01001ce: c0
c01001cf: c7 44 24 0c 88 90 10 movl $0xc0109088,0xc(%esp)
c01001d6: c0
c01001d7: c7 44 24 08 13 00 00 movl $0x13,0x8(%esp)
c01001de: 00
c01001df: c7 44 24 04 13 90 10 movl $0xc0109013,0x4(%esp)
c01001e6: c0
c01001e7: c7 04 24 34 90 10 c0 movl $0xc0109034,(%esp)
c01001ee: e8 9d 15 00 00 call c0101790 <printk>
c01001f3: b8 01 00 00 00 mov $0x1,%eax
c01001f8: d6 (bad)
c01001f9: 8b 45 08 mov 0x8(%ebp),%eax
c01001fc: c1 e8 16 shr $0x16,%eax
c01001ff: 8b 1c 83 mov (%ebx,%eax,4),%ebx
c0100202: f6 c3 01 test $0x1,%bl
c0100205: 75 32 jne c0100239 <mm_malloc+0x1e9>
c0100207: c7 44 24 10 24 90 10 movl $0xc0109024,0x10(%esp)
c010020e: c0
c010020f: c7 44 24 0c 88 90 10 movl $0xc0109088,0xc(%esp)
c0100216: c0
c0100217: c7 44 24 08 11 00 00 movl $0x11,0x8(%esp)
c010021e: 00
c010021f: c7 44 24 04 13 90 10 movl $0xc0109013,0x4(%esp)
c0100226: c0
c0100227: c7 04 24 34 90 10 c0 movl $0xc0109034,(%esp)
c010022e: e8 5d 15 00 00 call c0101790 <printk>
c0100233: b8 01 00 00 00 mov $0x1,%eax
c0100238: d6 (bad)
c0100239: 8b 55 08 mov 0x8(%ebp),%edx
c010023c: 8d 83 00 00 00 c0 lea -0x40000000(%ebx),%eax
c0100242: 25 00 f0 ff ff and $0xfffff000,%eax
c0100247: c1 ea 0c shr $0xc,%edx
c010024a: 81 e2 ff 03 00 00 and $0x3ff,%edx
c0100250: 8b 1c 90 mov (%eax,%edx,4),%ebx
c0100253: f6 c3 01 test $0x1,%bl
c0100256: 75 32 jne c010028a <mm_malloc+0x23a>
c0100258: c7 44 24 10 2c 90 10 movl $0xc010902c,0x10(%esp)
c010025f: c0
c0100260: c7 44 24 0c 88 90 10 movl $0xc0109088,0xc(%esp)
c0100267: c0
c0100268: c7 44 24 08 13 00 00 movl $0x13,0x8(%esp)
c010026f: 00
c0100270: c7 44 24 04 13 90 10 movl $0xc0109013,0x4(%esp)
c0100277: c0
c0100278: c7 04 24 34 90 10 c0 movl $0xc0109034,(%esp)
c010027f: e8 0c 15 00 00 call c0101790 <printk>
c0100284: b8 01 00 00 00 mov $0x1,%eax
c0100289: d6 (bad)
c010028a: 8b 55 08 mov 0x8(%ebp),%edx
c010028d: 89 d8 mov %ebx,%eax
c010028f: 25 00 f0 ff ff and $0xfffff000,%eax
c0100294: 81 e2 ff 0f 00 00 and $0xfff,%edx
c010029a: 09 d0 or %edx,%eax
c010029c: 83 c4 3c add $0x3c,%esp
c010029f: 5b pop %ebx
c01002a0: 5e pop %esi
c01002a1: 5f pop %edi
c01002a2: 5d pop %ebp
c01002a3: c3 ret
c01002a4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
c01002a8: c7 44 24 10 00 90 10 movl $0xc0109000,0x10(%esp)
c01002af: c0
c01002b0: c7 44 24 0c 7e 90 10 movl $0xc010907e,0xc(%esp)
c01002b7: c0
c01002b8: c7 44 24 08 31 00 00 movl $0x31,0x8(%esp)
c01002bf: 00
c01002c0: c7 44 24 04 13 90 10 movl $0xc0109013,0x4(%esp)
c01002c7: c0
c01002c8: c7 04 24 34 90 10 c0 movl $0xc0109034,(%esp)
c01002cf: e8 bc 14 00 00 call c0101790 <printk>
c01002d4: b8 01 00 00 00 mov $0x1,%eax
c01002d9: d6 (bad)
c01002da: a1 20 c0 10 c0 mov 0xc010c020,%eax
c01002df: e9 03 fe ff ff jmp c01000e7 <mm_malloc+0x97>
c01002e4 <vec0>:
c01002e4: 6a 00 push $0x0
c01002e6: 6a 00 push $0x0
c01002e8: eb 72 jmp c010035c <asm_do_irq>
c01002ea <vec1>:
c01002ea: 6a 00 push $0x0
c01002ec: 6a 01 push $0x1
c01002ee: eb 6c jmp c010035c <asm_do_irq>
c01002f0 <vec2>:
c01002f0: 6a 00 push $0x0
c01002f2: 6a 02 push $0x2
c01002f4: eb 66 jmp c010035c <asm_do_irq>
c01002f6 <vec3>:
c01002f6: 6a 00 push $0x0
c01002f8: 6a 03 push $0x3
c01002fa: eb 60 jmp c010035c <asm_do_irq>
c01002fc <vec4>:
c01002fc: 6a 00 push $0x0
c01002fe: 6a 04 push $0x4
c0100300: eb 5a jmp c010035c <asm_do_irq>
c0100302 <vec5>:
c0100302: 6a 00 push $0x0
c0100304: 6a 05 push $0x5
c0100306: eb 54 jmp c010035c <asm_do_irq>
c0100308 <vec6>:
c0100308: 6a 00 push $0x0
c010030a: 6a 06 push $0x6
c010030c: eb 4e jmp c010035c <asm_do_irq>
c010030e <vec7>:
c010030e: 6a 00 push $0x0
c0100310: 6a 07 push $0x7
c0100312: eb 48 jmp c010035c <asm_do_irq>
c0100314 <vec8>:
c0100314: 6a 08 push $0x8
c0100316: eb 44 jmp c010035c <asm_do_irq>
c0100318 <vec9>:
c0100318: 6a 00 push $0x0
c010031a: 6a 09 push $0x9
c010031c: eb 3e jmp c010035c <asm_do_irq>
c010031e <vec10>:
c010031e: 6a 0a push $0xa
c0100320: eb 3a jmp c010035c <asm_do_irq>
c0100322 <vec11>:
c0100322: 6a 0b push $0xb
c0100324: eb 36 jmp c010035c <asm_do_irq>
c0100326 <vec12>:
c0100326: 6a 0c push $0xc
c0100328: eb 32 jmp c010035c <asm_do_irq>
c010032a <vec13>:
c010032a: 6a 0d push $0xd
c010032c: eb 2e jmp c010035c <asm_do_irq>
c010032e <vec14>:
c010032e: 6a 0e push $0xe
c0100330: eb 2a jmp c010035c <asm_do_irq>
c0100332 <vecsys>:
c0100332: 6a 00 push $0x0
c0100334: 68 80 00 00 00 push $0x80
c0100339: eb 21 jmp c010035c <asm_do_irq>
c010033b <irq0>:
c010033b: 6a 00 push $0x0
c010033d: 68 e8 03 00 00 push $0x3e8
c0100342: eb 18 jmp c010035c <asm_do_irq>
c0100344 <irq1>:
c0100344: 6a 00 push $0x0
c0100346: 68 e9 03 00 00 push $0x3e9
c010034b: eb 0f jmp c010035c <asm_do_irq>
c010034d <irq14>:
c010034d: 6a 00 push $0x0
c010034f: 68 f6 03 00 00 push $0x3f6
c0100354: eb 06 jmp c010035c <asm_do_irq>
c0100356 <irq_empty>:
c0100356: 6a 00 push $0x0
c0100358: 6a ff push $0xffffffff
c010035a: eb 00 jmp c010035c <asm_do_irq>
c010035c <asm_do_irq>:
c010035c: 60 pusha
c010035d: 54 push %esp
c010035e: e8 ed 09 00 00 call c0100d50 <irq_handle>
c0100363: 83 c4 04 add $0x4,%esp
c0100366: 61 popa
c0100367: 83 c4 08 add $0x8,%esp
c010036a: cf iret
c010036b: 66 90 xchg %ax,%ax
c010036d: 66 90 xchg %ax,%ax
c010036f: 90 nop
c0100370 <buf_fetch>:
c0100370: 55 push %ebp
c0100371: 89 e5 mov %esp,%ebp
c0100373: 57 push %edi
c0100374: 89 c7 mov %eax,%edi
c0100376: 56 push %esi
c0100377: 89 c6 mov %eax,%esi
c0100379: 53 push %ebx
c010037a: 83 e6 7f and $0x7f,%esi
c010037d: e8 9f 01 00 00 call c0100521 <__x86.get_pc_thunk.bx>
c0100382: 81 c3 7e bc 00 00 add $0xbc7e,%ebx
c0100388: 69 ce 08 02 00 00 imul $0x208,%esi,%ecx
c010038e: 83 ec 1c sub $0x1c,%esp
c0100391: 8d 83 00 20 02 00 lea 0x22000(%ebx),%eax
c0100397: 80 bc 0b 04 20 02 00 cmpb $0x1,0x22004(%ebx,%ecx,1)
c010039e: 01
c010039f: 8d 14 01 lea (%ecx,%eax,1),%edx
c01003a2: 89 55 e4 mov %edx,-0x1c(%ebp)
c01003a5: 74 49 je c01003f0 <buf_fetch+0x80>
c01003a7: 8d 54 08 06 lea 0x6(%eax,%ecx,1),%edx
c01003ab: 69 ce 08 02 00 00 imul $0x208,%esi,%ecx
c01003b1: 01 c1 add %eax,%ecx
c01003b3: 66 81 79 04 01 01 cmpw $0x101,0x4(%ecx)
c01003b9: 74 45 je c0100400 <buf_fetch+0x90>
c01003bb: 83 ec 08 sub $0x8,%esp
c01003be: 69 f6 08 02 00 00 imul $0x208,%esi,%esi
c01003c4: 89 45 e0 mov %eax,-0x20(%ebp)
c01003c7: 57 push %edi
c01003c8: 52 push %edx
c01003c9: e8 62 01 00 00 call c0100530 <disk_do_read>
c01003ce: 8b 45 e0 mov -0x20(%ebp),%eax
c01003d1: 83 c4 10 add $0x10,%esp
c01003d4: 89 3c 30 mov %edi,(%eax,%esi,1)
c01003d7: b8 01 00 00 00 mov $0x1,%eax
c01003dc: 66 89 84 33 04 20 02 mov %ax,0x22004(%ebx,%esi,1)
c01003e3: 00
c01003e4: 8b 45 e4 mov -0x1c(%ebp),%eax
c01003e7: 8d 65 f4 lea -0xc(%ebp),%esp
c01003ea: 5b pop %ebx
c01003eb: 5e pop %esi
c01003ec: 5f pop %edi
c01003ed: 5d pop %ebp
c01003ee: c3 ret
c01003ef: 90 nop
c01003f0: 39 3a cmp %edi,(%edx)
c01003f2: 75 b3 jne c01003a7 <buf_fetch+0x37>
c01003f4: eb ee jmp c01003e4 <buf_fetch+0x74>
c01003f6: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01003fd: 8d 76 00 lea 0x0(%esi),%esi
c0100400: 83 ec 08 sub $0x8,%esp
c0100403: ff 31 pushl (%ecx)
c0100405: 52 push %edx
c0100406: 89 45 dc mov %eax,-0x24(%ebp)
c0100409: 89 55 e0 mov %edx,-0x20(%ebp)
c010040c: e8 9f 01 00 00 call c01005b0 <disk_do_write>
c0100411: 8b 45 dc mov -0x24(%ebp),%eax
c0100414: 8b 55 e0 mov -0x20(%ebp),%edx
c0100417: 83 c4 10 add $0x10,%esp
c010041a: eb 9f jmp c01003bb <buf_fetch+0x4b>
c010041c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
c0100420 <buf_init>:
c0100420: f3 0f 1e fb endbr32
c0100424: e8 f4 00 00 00 call c010051d <__x86.get_pc_thunk.ax>
c0100429: 05 d7 bb 00 00 add $0xbbd7,%eax
c010042e: 8d 80 04 20 02 00 lea 0x22004(%eax),%eax
c0100434: 8d 90 00 04 01 00 lea 0x10400(%eax),%edx
c010043a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
c0100440: c6 00 00 movb $0x0,(%eax)
c0100443: 05 08 02 00 00 add $0x208,%eax
c0100448: 39 d0 cmp %edx,%eax
c010044a: 75 f4 jne c0100440 <buf_init+0x20>
c010044c: c3 ret
c010044d: 8d 76 00 lea 0x0(%esi),%esi
c0100450 <buf_writeback>:
c0100450: f3 0f 1e fb endbr32
c0100454: 55 push %ebp
c0100455: 89 e5 mov %esp,%ebp
c0100457: 57 push %edi
c0100458: 56 push %esi
c0100459: 53 push %ebx
c010045a: e8 c2 00 00 00 call c0100521 <__x86.get_pc_thunk.bx>
c010045f: 81 c3 a1 bb 00 00 add $0xbba1,%ebx
c0100465: 83 ec 0c sub $0xc,%esp
c0100468: 8d b3 05 20 02 00 lea 0x22005(%ebx),%esi
c010046e: 8d be 00 04 01 00 lea 0x10400(%esi),%edi
c0100474: eb 14 jmp c010048a <buf_writeback+0x3a>
c0100476: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c010047d: 8d 76 00 lea 0x0(%esi),%esi
c0100480: 81 c6 08 02 00 00 add $0x208,%esi
c0100486: 39 fe cmp %edi,%esi
c0100488: 74 28 je c01004b2 <buf_writeback+0x62>
c010048a: 80 3e 01 cmpb $0x1,(%esi)
c010048d: 75 f1 jne c0100480 <buf_writeback+0x30>
c010048f: 83 ec 08 sub $0x8,%esp
c0100492: 8d 46 01 lea 0x1(%esi),%eax
c0100495: ff 76 fb pushl -0x5(%esi)
c0100498: 81 c6 08 02 00 00 add $0x208,%esi
c010049e: 50 push %eax
c010049f: e8 0c 01 00 00 call c01005b0 <disk_do_write>
c01004a4: c6 86 f8 fd ff ff 00 movb $0x0,-0x208(%esi)
c01004ab: 83 c4 10 add $0x10,%esp
c01004ae: 39 fe cmp %edi,%esi
c01004b0: 75 d8 jne c010048a <buf_writeback+0x3a>
c01004b2: 8d 65 f4 lea -0xc(%ebp),%esp
c01004b5: 5b pop %ebx
c01004b6: 5e pop %esi
c01004b7: 5f pop %edi
c01004b8: 5d pop %ebp
c01004b9: c3 ret
c01004ba: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
c01004c0 <read_byte>:
c01004c0: f3 0f 1e fb endbr32
c01004c4: 55 push %ebp
c01004c5: 89 e5 mov %esp,%ebp
c01004c7: 53 push %ebx
c01004c8: 83 ec 04 sub $0x4,%esp
c01004cb: 8b 5d 08 mov 0x8(%ebp),%ebx
c01004ce: 89 d8 mov %ebx,%eax
c01004d0: 81 e3 ff 01 00 00 and $0x1ff,%ebx
c01004d6: c1 e8 09 shr $0x9,%eax
c01004d9: e8 92 fe ff ff call c0100370 <buf_fetch>
c01004de: 0f b6 44 03 06 movzbl 0x6(%ebx,%eax,1),%eax
c01004e3: 83 c4 04 add $0x4,%esp
c01004e6: 5b pop %ebx
c01004e7: 5d pop %ebp
c01004e8: c3 ret
c01004e9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01004f0 <write_byte>:
c01004f0: f3 0f 1e fb endbr32
c01004f4: 55 push %ebp
c01004f5: 89 e5 mov %esp,%ebp
c01004f7: 56 push %esi
c01004f8: 53 push %ebx
c01004f9: 8b 5d 08 mov 0x8(%ebp),%ebx
c01004fc: 8b 75 0c mov 0xc(%ebp),%esi
c01004ff: 89 d8 mov %ebx,%eax
c0100501: 81 e3 ff 01 00 00 and $0x1ff,%ebx
c0100507: c1 e8 09 shr $0x9,%eax
c010050a: e8 61 fe ff ff call c0100370 <buf_fetch>
c010050f: 89 f2 mov %esi,%edx
c0100511: 88 54 18 06 mov %dl,0x6(%eax,%ebx,1)
c0100515: c6 40 05 01 movb $0x1,0x5(%eax)
c0100519: 5b pop %ebx
c010051a: 5e pop %esi
c010051b: 5d pop %ebp
c010051c: c3 ret
c010051d <__x86.get_pc_thunk.ax>:
c010051d: 8b 04 24 mov (%esp),%eax
c0100520: c3 ret
c0100521 <__x86.get_pc_thunk.bx>:
c0100521: 8b 1c 24 mov (%esp),%ebx
c0100524: c3 ret
c0100525: 66 90 xchg %ax,%ax
c0100527: 66 90 xchg %ax,%ax
c0100529: 66 90 xchg %ax,%ax
c010052b: 66 90 xchg %ax,%ax
c010052d: 66 90 xchg %ax,%ax
c010052f: 90 nop
c0100530 <disk_do_read>:
c0100530: f3 0f 1e fb endbr32
c0100534: 55 push %ebp
c0100535: b9 f7 01 00 00 mov $0x1f7,%ecx
c010053a: 89 e5 mov %esp,%ebp
c010053c: 53 push %ebx
c010053d: 8b 5d 0c mov 0xc(%ebp),%ebx
c0100540: 89 ca mov %ecx,%edx
c0100542: ec in (%dx),%al
c0100543: 83 e0 c0 and $0xffffffc0,%eax
c0100546: 3c 40 cmp $0x40,%al
c0100548: 75 f6 jne c0100540 <disk_do_read+0x10>
c010054a: 31 c0 xor %eax,%eax
c010054c: ba f1 01 00 00 mov $0x1f1,%edx
c0100551: ee out %al,(%dx)
c0100552: b8 01 00 00 00 mov $0x1,%eax
c0100557: ba f2 01 00 00 mov $0x1f2,%edx
c010055c: ee out %al,(%dx)
c010055d: ba f3 01 00 00 mov $0x1f3,%edx
c0100562: 89 d8 mov %ebx,%eax
c0100564: ee out %al,(%dx)
c0100565: 89 d8 mov %ebx,%eax
c0100567: ba f4 01 00 00 mov $0x1f4,%edx
c010056c: c1 e8 08 shr $0x8,%eax
c010056f: ee out %al,(%dx)
c0100570: 89 d8 mov %ebx,%eax
c0100572: ba f5 01 00 00 mov $0x1f5,%edx
c0100577: c1 e8 10 shr $0x10,%eax
c010057a: ee out %al,(%dx)
c010057b: 89 d8 mov %ebx,%eax
c010057d: ba f6 01 00 00 mov $0x1f6,%edx
c0100582: c1 e8 18 shr $0x18,%eax
c0100585: 83 c8 e0 or $0xffffffe0,%eax
c0100588: ee out %al,(%dx)
c0100589: b8 20 00 00 00 mov $0x20,%eax
c010058e: 89 ca mov %ecx,%edx
c0100590: ee out %al,(%dx)
c0100591: 8b 4d 08 mov 0x8(%ebp),%ecx
c0100594: ba f0 01 00 00 mov $0x1f0,%edx
c0100599: 8d 99 00 02 00 00 lea 0x200(%ecx),%ebx
c010059f: 90 nop
c01005a0: ed in (%dx),%eax
c01005a1: 89 01 mov %eax,(%ecx)
c01005a3: 83 c1 04 add $0x4,%ecx
c01005a6: 39 d9 cmp %ebx,%ecx
c01005a8: 75 f6 jne c01005a0 <disk_do_read+0x70>
c01005aa: 5b pop %ebx
c01005ab: 5d pop %ebp
c01005ac: c3 ret
c01005ad: 8d 76 00 lea 0x0(%esi),%esi
c01005b0 <disk_do_write>:
c01005b0: f3 0f 1e fb endbr32
c01005b4: 55 push %ebp
c01005b5: b9 f7 01 00 00 mov $0x1f7,%ecx
c01005ba: 89 e5 mov %esp,%ebp
c01005bc: 53 push %ebx
c01005bd: 8b 5d 0c mov 0xc(%ebp),%ebx
c01005c0: 89 ca mov %ecx,%edx
c01005c2: ec in (%dx),%al
c01005c3: 83 e0 c0 and $0xffffffc0,%eax
c01005c6: 3c 40 cmp $0x40,%al
c01005c8: 75 f6 jne c01005c0 <disk_do_write+0x10>
c01005ca: 31 c0 xor %eax,%eax
c01005cc: ba f1 01 00 00 mov $0x1f1,%edx
c01005d1: ee out %al,(%dx)
c01005d2: b8 01 00 00 00 mov $0x1,%eax
c01005d7: ba f2 01 00 00 mov $0x1f2,%edx
c01005dc: ee out %al,(%dx)
c01005dd: ba f3 01 00 00 mov $0x1f3,%edx
c01005e2: 89 d8 mov %ebx,%eax
c01005e4: ee out %al,(%dx)
c01005e5: 89 d8 mov %ebx,%eax
c01005e7: ba f4 01 00 00 mov $0x1f4,%edx
c01005ec: c1 e8 08 shr $0x8,%eax
c01005ef: ee out %al,(%dx)
c01005f0: 89 d8 mov %ebx,%eax
c01005f2: ba f5 01 00 00 mov $0x1f5,%edx
c01005f7: c1 e8 10 shr $0x10,%eax
c01005fa: ee out %al,(%dx)
c01005fb: 89 d8 mov %ebx,%eax
c01005fd: ba f6 01 00 00 mov $0x1f6,%edx
c0100602: c1 e8 18 shr $0x18,%eax
c0100605: 83 c8 e0 or $0xffffffe0,%eax
c0100608: ee out %al,(%dx)
c0100609: b8 30 00 00 00 mov $0x30,%eax
c010060e: 89 ca mov %ecx,%edx
c0100610: ee out %al,(%dx)
c0100611: 8b 4d 08 mov 0x8(%ebp),%ecx
c0100614: ba f0 01 00 00 mov $0x1f0,%edx
c0100619: 8d 99 00 02 00 00 lea 0x200(%ecx),%ebx
c010061f: 90 nop
c0100620: 8b 01 mov (%ecx),%eax
c0100622: ef out %eax,(%dx)
c0100623: 83 c1 04 add $0x4,%ecx
c0100626: 39 d9 cmp %ebx,%ecx
c0100628: 75 f6 jne c0100620 <disk_do_write+0x70>
c010062a: 5b pop %ebx
c010062b: 5d pop %ebp
c010062c: c3 ret
c010062d: 66 90 xchg %ax,%ax
c010062f: 90 nop
c0100630 <dma_prepare>:
c0100630: f3 0f 1e fb endbr32
c0100634: 55 push %ebp
c0100635: 89 e5 mov %esp,%ebp
c0100637: 53 push %ebx
c0100638: e8 e4 fe ff ff call c0100521 <__x86.get_pc_thunk.bx>
c010063d: 81 c3 c3 b9 00 00 add $0xb9c3,%ebx
c0100643: 83 ec 04 sub $0x4,%esp
c0100646: 8d 83 f8 d0 ff ff lea -0x2f08(%ebx),%eax
c010064c: 50 push %eax
c010064d: 8d 83 8e d0 ff ff lea -0x2f72(%ebx),%eax
c0100653: 6a 1d push $0x1d
c0100655: 50 push %eax
c0100656: 8d 83 ac d0 ff ff lea -0x2f54(%ebx),%eax
c010065c: 50 push %eax
c010065d: e8 2e 11 00 00 call c0101790 <printk>
c0100662: b8 01 00 00 00 mov $0x1,%eax
c0100667: d6 (bad)
c0100668: 8b 5d fc mov -0x4(%ebp),%ebx
c010066b: 83 c4 10 add $0x10,%esp
c010066e: c9 leave
c010066f: c3 ret
c0100670 <dma_issue_read>:
c0100670: f3 0f 1e fb endbr32
c0100674: ba 40 c0 ff ff mov $0xffffc040,%edx
c0100679: ec in (%dx),%al
c010067a: 83 c8 09 or $0x9,%eax
c010067d: ee out %al,(%dx)
c010067e: c3 ret
c010067f: 90 nop
c0100680 <ide_intr>:
c0100680: f3 0f 1e fb endbr32
c0100684: e8 94 fe ff ff call c010051d <__x86.get_pc_thunk.ax>
c0100689: 05 77 b9 00 00 add $0xb977,%eax
c010068e: c7 80 04 24 03 00 01 movl $0x1,0x32404(%eax)
c0100695: 00 00 00
c0100698: c3 ret
c0100699: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01006a0 <ide_writeback>:
c01006a0: f3 0f 1e fb endbr32
c01006a4: 55 push %ebp
c01006a5: 89 e5 mov %esp,%ebp
c01006a7: 53 push %ebx
c01006a8: e8 74 fe ff ff call c0100521 <__x86.get_pc_thunk.bx>
c01006ad: 81 c3 53 b9 00 00 add $0xb953,%ebx
c01006b3: 83 ec 04 sub $0x4,%esp
c01006b6: 8b 83 00 24 03 00 mov 0x32400(%ebx),%eax
c01006bc: 83 c0 01 add $0x1,%eax
c01006bf: 89 83 00 24 03 00 mov %eax,0x32400(%ebx)
c01006c5: 83 f8 64 cmp $0x64,%eax
c01006c8: 74 06 je c01006d0 <ide_writeback+0x30>
c01006ca: 83 c4 04 add $0x4,%esp
c01006cd: 5b pop %ebx
c01006ce: 5d pop %ebp
c01006cf: c3 ret
c01006d0: e8 7b fd ff ff call c0100450 <buf_writeback>
c01006d5: c7 83 00 24 03 00 00 movl $0x0,0x32400(%ebx)
c01006dc: 00 00 00
c01006df: 83 c4 04 add $0x4,%esp
c01006e2: 5b pop %ebx
c01006e3: 5d pop %ebp
c01006e4: c3 ret
c01006e5: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01006ec: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
c01006f0 <ide_read>:
c01006f0: f3 0f 1e fb endbr32
c01006f4: 55 push %ebp
c01006f5: 89 e5 mov %esp,%ebp
c01006f7: 57 push %edi
c01006f8: 56 push %esi
c01006f9: 53 push %ebx
c01006fa: e8 22 fe ff ff call c0100521 <__x86.get_pc_thunk.bx>
c01006ff: 81 c3 01 b9 00 00 add $0xb901,%ebx
c0100705: 83 ec 1c sub $0x1c,%esp
c0100708: 8b 75 10 mov 0x10(%ebp),%esi
c010070b: 8b 55 0c mov 0xc(%ebp),%edx
c010070e: 85 f6 test %esi,%esi
c0100710: 74 25 je c0100737 <ide_read+0x47>
c0100712: 8d 04 16 lea (%esi,%edx,1),%eax
c0100715: 8b 7d 08 mov 0x8(%ebp),%edi
c0100718: 89 d6 mov %edx,%esi
c010071a: 89 45 e4 mov %eax,-0x1c(%ebp)
c010071d: 29 d7 sub %edx,%edi
c010071f: 90 nop
c0100720: 83 ec 0c sub $0xc,%esp
c0100723: 56 push %esi
c0100724: e8 97 fd ff ff call c01004c0 <read_byte>
c0100729: 83 c4 10 add $0x10,%esp
c010072c: 88 04 37 mov %al,(%edi,%esi,1)
c010072f: 83 c6 01 add $0x1,%esi
c0100732: 3b 75 e4 cmp -0x1c(%ebp),%esi
c0100735: 75 e9 jne c0100720 <ide_read+0x30>
c0100737: 8d 65 f4 lea -0xc(%ebp),%esp
c010073a: 5b pop %ebx
c010073b: 5e pop %esi
c010073c: 5f pop %edi
c010073d: 5d pop %ebp
c010073e: c3 ret
c010073f: 90 nop
c0100740 <ide_write>:
c0100740: f3 0f 1e fb endbr32
c0100744: 55 push %ebp
c0100745: 89 e5 mov %esp,%ebp
c0100747: 57 push %edi
c0100748: 56 push %esi
c0100749: 53 push %ebx
c010074a: e8 d2 fd ff ff call c0100521 <__x86.get_pc_thunk.bx>
c010074f: 81 c3 b1 b8 00 00 add $0xb8b1,%ebx
c0100755: 83 ec 1c sub $0x1c,%esp
c0100758: 8b 75 10 mov 0x10(%ebp),%esi
c010075b: 8b 45 0c mov 0xc(%ebp),%eax
c010075e: 85 f6 test %esi,%esi
c0100760: 74 27 je c0100789 <ide_write+0x49>
c0100762: 8d 0c 06 lea (%esi,%eax,1),%ecx
c0100765: 8b 7d 08 mov 0x8(%ebp),%edi
c0100768: 89 c6 mov %eax,%esi
c010076a: 89 4d e4 mov %ecx,-0x1c(%ebp)
c010076d: 29 c7 sub %eax,%edi
c010076f: 90 nop
c0100770: 0f b6 14 37 movzbl (%edi,%esi,1),%edx
c0100774: 83 ec 08 sub $0x8,%esp
c0100777: 52 push %edx
c0100778: 56 push %esi
c0100779: 83 c6 01 add $0x1,%esi
c010077c: e8 6f fd ff ff call c01004f0 <write_byte>
c0100781: 83 c4 10 add $0x10,%esp
c0100784: 3b 75 e4 cmp -0x1c(%ebp),%esi
c0100787: 75 e7 jne c0100770 <ide_write+0x30>
c0100789: 8d 65 f4 lea -0xc(%ebp),%esp
c010078c: 5b pop %ebx
c010078d: 5e pop %esi
c010078e: 5f pop %edi
c010078f: 5d pop %ebp
c0100790: c3 ret
c0100791: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c0100798: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c010079f: 90 nop
c01007a0 <clear_ide_intr>:
c01007a0: f3 0f 1e fb endbr32
c01007a4: e8 74 fd ff ff call c010051d <__x86.get_pc_thunk.ax>
c01007a9: 05 57 b8 00 00 add $0xb857,%eax
c01007ae: c7 80 04 24 03 00 00 movl $0x0,0x32404(%eax)
c01007b5: 00 00 00
c01007b8: c3 ret
c01007b9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01007c0 <wait_ide_intr>:
c01007c0: f3 0f 1e fb endbr32
c01007c4: e8 7b 00 00 00 call c0100844 <__x86.get_pc_thunk.dx>
c01007c9: 81 c2 37 b8 00 00 add $0xb837,%edx
c01007cf: 8b 82 04 24 03 00 mov 0x32404(%edx),%eax
c01007d5: 85 c0 test %eax,%eax
c01007d7: 75 12 jne c01007eb <wait_ide_intr+0x2b>
c01007d9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01007e0: f4 hlt
c01007e1: 8b 82 04 24 03 00 mov 0x32404(%edx),%eax
c01007e7: 85 c0 test %eax,%eax
c01007e9: 74 f5 je c01007e0 <wait_ide_intr+0x20>
c01007eb: c7 82 04 24 03 00 00 movl $0x0,0x32404(%edx)
c01007f2: 00 00 00
c01007f5: c3 ret
c01007f6: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c01007fd: 8d 76 00 lea 0x0(%esi),%esi
c0100800 <init_ide>:
c0100800: f3 0f 1e fb endbr32
c0100804: 55 push %ebp
c0100805: 89 e5 mov %esp,%ebp
c0100807: 53 push %ebx
c0100808: e8 14 fd ff ff call c0100521 <__x86.get_pc_thunk.bx>
c010080d: 81 c3 f3 b7 00 00 add $0xb7f3,%ebx
c0100813: 83 ec 04 sub $0x4,%esp
c0100816: e8 05 fc ff ff call c0100420 <buf_init>
c010081b: 83 ec 08 sub $0x8,%esp
c010081e: 8d 83 a0 46 ff ff lea -0xb960(%ebx),%eax
c0100824: 50 push %eax
c0100825: 6a 00 push $0x0
c0100827: e8 34 04 00 00 call c0100c60 <add_irq_handle>
c010082c: 58 pop %eax
c010082d: 8d 83 80 46 ff ff lea -0xb980(%ebx),%eax
c0100833: 5a pop %edx
c0100834: 50 push %eax
c0100835: 6a 0e push $0xe
c0100837: e8 24 04 00 00 call c0100c60 <add_irq_handle>
c010083c: 8b 5d fc mov -0x4(%ebp),%ebx
c010083f: 83 c4 10 add $0x10,%esp
c0100842: c9 leave
c0100843: c3 ret
c0100844 <__x86.get_pc_thunk.dx>:
c0100844: 8b 14 24 mov (%esp),%edx
c0100847: c3 ret
c0100848: 66 90 xchg %ax,%ax
c010084a: 66 90 xchg %ax,%ax
c010084c: 66 90 xchg %ax,%ax
c010084e: 66 90 xchg %ax,%ax
c0100850 <ramdisk_read>:
c0100850: f3 0f 1e fb endbr32
c0100854: 55 push %ebp
c0100855: 89 e5 mov %esp,%ebp
c0100857: 53 push %ebx
c0100858: e8 c4 fc ff ff call c0100521 <__x86.get_pc_thunk.bx>
c010085d: 81 c3 a3 b7 00 00 add $0xb7a3,%ebx
c0100863: 83 ec 04 sub $0x4,%esp
c0100866: 8b 55 0c mov 0xc(%ebp),%edx
c0100869: 8b 4d 10 mov 0x10(%ebp),%ecx
c010086c: 8d 04 0a lea (%edx,%ecx,1),%eax
c010086f: 3d ff ff 09 00 cmp $0x9ffff,%eax
c0100874: 76 06 jbe c010087c <ramdisk_read+0x2c>
c0100876: b8 01 00 00 00 mov $0x1,%eax
c010087b: d6 (bad)
c010087c: 83 ec 04 sub $0x4,%esp
c010087f: 51 push %ecx
c0100880: 52 push %edx
c0100881: ff 75 08 pushl 0x8(%ebp)
c0100884: e8 e3 11 00 00 call c0101a6c <memcpy>
c0100889: 8b 5d fc mov -0x4(%ebp),%ebx
c010088c: 83 c4 10 add $0x10,%esp
c010088f: c9 leave
c0100890: c3 ret
c0100891: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c0100898: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c010089f: 90 nop
c01008a0 <ramdisk_write>:
c01008a0: f3 0f 1e fb endbr32
c01008a4: 55 push %ebp
c01008a5: 89 e5 mov %esp,%ebp
c01008a7: 53 push %ebx
c01008a8: e8 74 fc ff ff call c0100521 <__x86.get_pc_thunk.bx>
c01008ad: 81 c3 53 b7 00 00 add $0xb753,%ebx
c01008b3: 83 ec 04 sub $0x4,%esp
c01008b6: 8b 55 0c mov 0xc(%ebp),%edx
c01008b9: 8b 4d 10 mov 0x10(%ebp),%ecx
c01008bc: 8d 04 0a lea (%edx,%ecx,1),%eax
c01008bf: 3d ff ff 09 00 cmp $0x9ffff,%eax
c01008c4: 76 06 jbe c01008cc <ramdisk_write+0x2c>
c01008c6: b8 01 00 00 00 mov $0x1,%eax
c01008cb: d6 (bad)
c01008cc: 83 ec 04 sub $0x4,%esp
c01008cf: 51 push %ecx
c01008d0: ff 75 08 pushl 0x8(%ebp)
c01008d3: 52 push %edx
c01008d4: e8 93 11 00 00 call c0101a6c <memcpy>
c01008d9: 8b 5d fc mov -0x4(%ebp),%ebx
c01008dc: 83 c4 10 add $0x10,%esp
c01008df: c9 leave
c01008e0: c3 ret
c01008e1: 66 90 xchg %ax,%ax
c01008e3: 66 90 xchg %ax,%ax
c01008e5: 66 90 xchg %ax,%ax
c01008e7: 66 90 xchg %ax,%ax
c01008e9: 66 90 xchg %ax,%ax
c01008eb: 66 90 xchg %ax,%ax
c01008ed: 66 90 xchg %ax,%ax
c01008ef: 90 nop
c01008f0 <init_idt>:
c01008f0: f3 0f 1e fb endbr32
c01008f4: 55 push %ebp
c01008f5: 89 e5 mov %esp,%ebp
c01008f7: 57 push %edi
c01008f8: 56 push %esi
c01008f9: e8 d5 02 00 00 call c0100bd3 <__x86.get_pc_thunk.si>
c01008fe: 81 c6 02 b7 00 00 add $0xb702,%esi
c0100904: 53 push %ebx
c0100905: c7 c2 56 03 10 c0 mov $0xc0100356,%edx
c010090b: 8d be 40 24 03 00 lea 0x32440(%esi),%edi
c0100911: 8d 8f 00 08 00 00 lea 0x800(%edi),%ecx
c0100917: 89 d0 mov %edx,%eax
c0100919: c1 e8 10 shr $0x10,%eax
c010091c: 89 c3 mov %eax,%ebx
c010091e: 89 f8 mov %edi,%eax
c0100920: 66 89 10 mov %dx,(%eax)
c0100923: 83 c0 08 add $0x8,%eax
c0100926: c7 40 fa 08 00 00 8f movl $0x8f000008,-0x6(%eax)
c010092d: 66 89 58 fe mov %bx,-0x2(%eax)
c0100931: 39 c1 cmp %eax,%ecx
c0100933: 75 eb jne c0100920 <init_idt+0x30>
c0100935: c7 86 42 24 03 00 08 movl $0x8f000008,0x32442(%esi)
c010093c: 00 00 8f
c010093f: c7 c0 e4 02 10 c0 mov $0xc01002e4,%eax
c0100945: c7 86 4a 24 03 00 08 movl $0x8f000008,0x3244a(%esi)
c010094c: 00 00 8f
c010094f: 66 89 86 40 24 03 00 mov %ax,0x32440(%esi)
c0100956: c1 e8 10 shr $0x10,%eax
c0100959: 66 89 86 46 24 03 00 mov %ax,0x32446(%esi)
c0100960: c7 c0 ea 02 10 c0 mov $0xc01002ea,%eax
c0100966: c7 86 52 24 03 00 08 movl $0x8f000008,0x32452(%esi)
c010096d: 00 00 8f
c0100970: 66 89 86 48 24 03 00 mov %ax,0x32448(%esi)
c0100977: c1 e8 10 shr $0x10,%eax
c010097a: 66 89 86 4e 24 03 00 mov %ax,0x3244e(%esi)
c0100981: c7 c0 f0 02 10 c0 mov $0xc01002f0,%eax
c0100987: c7 86 5a 24 03 00 08 movl $0x8f000008,0x3245a(%esi)
c010098e: 00 00 8f
c0100991: 66 89 86 50 24 03 00 mov %ax,0x32450(%esi)
c0100998: c1 e8 10 shr $0x10,%eax
c010099b: 66 89 86 56 24 03 00 mov %ax,0x32456(%esi)
c01009a2: c7 c0 f6 02 10 c0 mov $0xc01002f6,%eax
c01009a8: c7 86 62 24 03 00 08 movl $0x8f000008,0x32462(%esi)
c01009af: 00 00 8f
c01009b2: 66 89 86 58 24 03 00 mov %ax,0x32458(%esi)
c01009b9: c1 e8 10 shr $0x10,%eax
c01009bc: 66 89 86 5e 24 03 00 mov %ax,0x3245e(%esi)
c01009c3: c7 c0 fc 02 10 c0 mov $0xc01002fc,%eax
c01009c9: c7 86 6a 24 03 00 08 movl $0x8f000008,0x3246a(%esi)
c01009d0: 00 00 8f
c01009d3: 66 89 86 60 24 03 00 mov %ax,0x32460(%esi)
c01009da: c1 e8 10 shr $0x10,%eax
c01009dd: 66 89 86 66 24 03 00 mov %ax,0x32466(%esi)
c01009e4: c7 c0 02 03 10 c0 mov $0xc0100302,%eax
c01009ea: c7 86 72 24 03 00 08 movl $0x8f000008,0x32472(%esi)
c01009f1: 00 00 8f
c01009f4: 66 89 86 68 24 03 00 mov %ax,0x32468(%esi)
c01009fb: c1 e8 10 shr $0x10,%eax
c01009fe: 66 89 86 6e 24 03 00 mov %ax,0x3246e(%esi)
c0100a05: c7 c0 08 03 10 c0 mov $0xc0100308,%eax
c0100a0b: c7 86 7a 24 03 00 08 movl $0x8f000008,0x3247a(%esi)
c0100a12: 00 00 8f
c0100a15: 66 89 86 70 24 03 00 mov %ax,0x32470(%esi)
c0100a1c: c1 e8 10 shr $0x10,%eax
c0100a1f: 66 89 86 76 24 03 00 mov %ax,0x32476(%esi)
c0100a26: c7 c0 0e 03 10 c0 mov $0xc010030e,%eax
c0100a2c: 66 89 86 78 24 03 00 mov %ax,0x32478(%esi)
c0100a33: c1 e8 10 shr $0x10,%eax
c0100a36: 66 89 86 7e 24 03 00 mov %ax,0x3247e(%esi)
c0100a3d: c7 c0 14 03 10 c0 mov $0xc0100314,%eax
c0100a43: c7 86 82 24 03 00 08 movl $0x8f000008,0x32482(%esi)
c0100a4a: 00 00 8f
c0100a4d: 66 89 86 80 24 03 00 mov %ax,0x32480(%esi)
c0100a54: c1 e8 10 shr $0x10,%eax
c0100a57: 66 89 86 86 24 03 00 mov %ax,0x32486(%esi)
c0100a5e: c7 c0 18 03 10 c0 mov $0xc0100318,%eax
c0100a64: c7 86 8a 24 03 00 08 movl $0x8f000008,0x3248a(%esi)
c0100a6b: 00 00 8f
c0100a6e: 66 89 86 88 24 03 00 mov %ax,0x32488(%esi)
c0100a75: c1 e8 10 shr $0x10,%eax
c0100a78: 66 89 86 8e 24 03 00 mov %ax,0x3248e(%esi)
c0100a7f: c7 c0 1e 03 10 c0 mov $0xc010031e,%eax
c0100a85: c7 86 92 24 03 00 08 movl $0x8f000008,0x32492(%esi)
c0100a8c: 00 00 8f
c0100a8f: 66 89 86 90 24 03 00 mov %ax,0x32490(%esi)
c0100a96: c1 e8 10 shr $0x10,%eax
c0100a99: 66 89 86 96 24 03 00 mov %ax,0x32496(%esi)
c0100aa0: c7 c0 22 03 10 c0 mov $0xc0100322,%eax
c0100aa6: c7 86 9a 24 03 00 08 movl $0x8f000008,0x3249a(%esi)
c0100aad: 00 00 8f
c0100ab0: 66 89 86 98 24 03 00 mov %ax,0x32498(%esi)
c0100ab7: c1 e8 10 shr $0x10,%eax
c0100aba: 66 89 86 9e 24 03 00 mov %ax,0x3249e(%esi)
c0100ac1: c7 c0 26 03 10 c0 mov $0xc0100326,%eax
c0100ac7: c7 86 a2 24 03 00 08 movl $0x8f000008,0x324a2(%esi)
c0100ace: 00 00 8f
c0100ad1: 66 89 86 a0 24 03 00 mov %ax,0x324a0(%esi)
c0100ad8: c1 e8 10 shr $0x10,%eax
c0100adb: 66 89 86 a6 24 03 00 mov %ax,0x324a6(%esi)
c0100ae2: c7 c0 2a 03 10 c0 mov $0xc010032a,%eax
c0100ae8: c7 86 aa 24 03 00 08 movl $0x8f000008,0x324aa(%esi)
c0100aef: 00 00 8f
c0100af2: 66 89 86 a8 24 03 00 mov %ax,0x324a8(%esi)
c0100af9: c1 e8 10 shr $0x10,%eax
c0100afc: 66 89 86 ae 24 03 00 mov %ax,0x324ae(%esi)
c0100b03: c7 c0 2e 03 10 c0 mov $0xc010032e,%eax
c0100b09: c7 86 b2 24 03 00 08 movl $0x8f000008,0x324b2(%esi)
c0100b10: 00 00 8f
c0100b13: 66 89 86 b0 24 03 00 mov %ax,0x324b0(%esi)
c0100b1a: c1 e8 10 shr $0x10,%eax
c0100b1d: 66 89 86 b6 24 03 00 mov %ax,0x324b6(%esi)
c0100b24: c7 c0 32 03 10 c0 mov $0xc0100332,%eax
c0100b2a: c7 86 42 28 03 00 08 movl $0xef000008,0x32842(%esi)
c0100b31: 00 00 ef
c0100b34: 66 89 86 40 28 03 00 mov %ax,0x32840(%esi)
c0100b3b: c1 e8 10 shr $0x10,%eax
c0100b3e: 66 89 86 46 28 03 00 mov %ax,0x32846(%esi)
c0100b45: c7 c0 3b 03 10 c0 mov $0xc010033b,%eax
c0100b4b: c7 86 42 25 03 00 08 movl $0x8e000008,0x32542(%esi)
c0100b52: 00 00 8e
c0100b55: 66 89 86 40 25 03 00 mov %ax,0x32540(%esi)
c0100b5c: c1 e8 10 shr $0x10,%eax
c0100b5f: 66 89 86 46 25 03 00 mov %ax,0x32546(%esi)
c0100b66: c7 c0 44 03 10 c0 mov $0xc0100344,%eax
c0100b6c: c7 86 4a 25 03 00 08 movl $0x8e000008,0x3254a(%esi)
c0100b73: 00 00 8e
c0100b76: 66 89 86 48 25 03 00 mov %ax,0x32548(%esi)
c0100b7d: c1 e8 10 shr $0x10,%eax
c0100b80: 66 89 86 4e 25 03 00 mov %ax,0x3254e(%esi)
c0100b87: c7 c0 4d 03 10 c0 mov $0xc010034d,%eax
c0100b8d: c7 86 b2 25 03 00 08 movl $0x8e000008,0x325b2(%esi)
c0100b94: 00 00 8e
c0100b97: 66 89 86 b0 25 03 00 mov %ax,0x325b0(%esi)
c0100b9e: c1 e8 10 shr $0x10,%eax
c0100ba1: 66 89 86 b6 25 03 00 mov %ax,0x325b6(%esi)
c0100ba8: b8 ff 07 00 00 mov $0x7ff,%eax
c0100bad: 66 89 86 20 24 03 00 mov %ax,0x32420(%esi)
c0100bb4: 8d 86 20 24 03 00 lea 0x32420(%esi),%eax
c0100bba: 66 89 be 22 24 03 00 mov %di,0x32422(%esi)
c0100bc1: c1 ef 10 shr $0x10,%edi