-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcom1.log
629 lines (611 loc) · 28.7 KB
/
com1.log
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
using Serial COM1 for debug out
boot start
registered interupt handler for [33] at 0xffffffff80211f0e
registered interupt handler for [32] at 0xffffffff80211b8a
registered interupt handler for [105] at 0xffffffff8020d8ad
==init GDT, TSS==
gdt ptr = 0xffffffff80215000, tss ptr = 0xffffffff80215028 tss - gdt = 0x28
stack top = 0xffffffff8021e000 end = 0xffffffff8021a000 size = 0x4000
copied GDT tss to 0xffffffff80218de8
==Reloaded GDT, Loaded TSS==
interupts initialized
==boot initial phase complete==
CPUID available = YES
==Parsing Multiboot2 Header==
Unhandled Multiboot Tag: 10
Found Multiboot Module at 0x22c000. Total: 1
Unhandled Multiboot Tag: 9
Unhandled Multiboot Tag: 5
found VBE
fb @ 0xfc000000 [7 kb] [1920x1080] 7680p/32bpp
===MULTIBOOT_TAG_TYPE_ACPI_OLD===
==parsed mb2 header==
boot info: BIOS [GRUB 2.13] cmdline='dbg=1 serial=1 hackz=1337' kernel_base=0x200000
==PMM Init==
Available Memory Region [0]:{ @0x0 - 0x9fc00 } size 0x9fc00 [0 MiB]
Available Memory Region [3]:{ @0x100000 - 0xbffe0000 } size 0xbfee0000 [3070 MiB]
Available Memory Region [6]:{ @0x100000000 - 0x140000000 } size 0x40000000 [1024 MiB]
Total Memory:
4193791 KiB / 4095 MiB / 3 GiB
Total Pages: 2047
for region 0x100000 - 0xbffe0000 there are 1535 pages (r 896 kb) to set free
aligned start 0x200000 - aligned end 0xbfe00000 (1 1)
for region 0x100000000 - 0x140000000 there are 512 pages (r 0 kb) to set free
marking from kernel phys start 0x200000 to kernel phys end 0x22c000 as used
mark region used: 0x200000 - 0x22c000
marking from 0x200000 - 0x400000 as used, total pages = 1
mark region used: 0x0 - 0xe2c000
marking from 0x0 - 0xe58000 as used, total pages = 7
==PMM End==
mark region used: 0x22c000 - 0x1711f91
marking from 0x200000 - 0x17cbf22 as used, total pages = 10
==init paging==
mark region used: 0xfc000000 - 0xfc400000
marking from 0xfc000000 - 0xfc400000 as used, total pages = 2
unmapping initial identity
palloc_init()
pmm_kalloc(0x400000): found space for 2 pages at 0x1600000
map_phys_addr(): 0x1600000 -> 0xffffffff81600000 | 2 pages
idx for VA: 0xffffffff81600000 [0b1111 1111 1111 1111 1111 1111 1111 1111 1000 0001 0110 0000 0000 0000 0000 0000 ]
p4[511] p3[510] p2[11] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x224000
initial p3 = 0xffffffff80224000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff80224000 p2 = 0x223000
making p3 virtual: now 0xffffffff80224000
making p2 virtual: now 0xffffffff80224000
entry 0 @ 0xffffffff802232c0 = 0x1600083
0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 0000 0000 0000 1000 0011
entry 1 @ 0xffffffff80223300 = 0x1800083
0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 1000 0000 0000 0000 1000 0011
==flushed TLB==
invalidated: 0xffffffff81600000
page allocator ready at 0xffffffff81600000
mapping framebuffer 0xfc000000 to 0xfc000000
map_phys_addr(): 0xfc000000 -> 0xfc000000 | 4 pages
idx for VA: 0xfc000000 [0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0000 0000 0000 0000 0000 0000 ]
p4[0] p3[3] p2[480] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
initial p3 = 0x0 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
alloc new page table at 0x1600000, virtual 0xffffffff81600000, index now 1
alloc new page table at 0x1601000, virtual 0xffffffff81601000, index now 2
made new: **p3 = 0x1600000 p2 = 0x1601000 entry = 0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 0000 0000 0000 0000 0111
we have: p3 = 0x1600000 p2 = 0x1601000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81608800 = 0xfc000087
0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0000 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff81608840 = 0xfc200087
0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0010 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81608880 = 0xfc400087
0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0100 0000 0000 0000 1000 0111
entry 3 @ 0xffffffff816088c0 = 0xfc600087
0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0110 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0xfc000000
init_heap()
pmm_kalloc(0x800000): found space for 4 pages at 0x1c00000
map_phys_addr(): 0x1c00000 -> 0xffffbeefed000000 | 4 pages
idx for VA: 0xffffbeefed000000 [0b1111 1111 1111 1111 1011 1110 1110 1111 1110 1101 0000 0000 0000 0000 0000 0000 ]
p4[381] p3[447] p2[360] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
initial p3 = 0x0 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
alloc new page table at 0x1602000, virtual 0xffffffff81602000, index now 3
alloc new page table at 0x1603000, virtual 0xffffffff81603000, index now 4
made new: **p3 = 0x1602000 p2 = 0x1603000 entry = 0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 0000 0010 0000 0000 0111
we have: p3 = 0x1602000 p2 = 0x1603000
making p3 virtual: now 0xffffffff81602000
making p2 virtual: now 0xffffffff81602000
entry 0 @ 0xffffffff81608a00 = 0x1c00083
0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 1100 0000 0000 0000 1000 0011
entry 1 @ 0xffffffff81608a40 = 0x1e00083
0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 1110 0000 0000 0000 1000 0011
entry 2 @ 0xffffffff81608a80 = 0x2000083
0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0000 0000 0000 1000 0011
entry 3 @ 0xffffffff81608ac0 = 0x2200083
0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0010 0000 0000 0000 1000 0011
==flushed TLB==
invalidated: 0xffffbeefed000000
bmap [ 0xffffbeefed000000 ] size=0
max size = 262130 max_size_bytes = 0x200000
==paging init ok==
skipping acpi
==MEM INIT OK==
enabled interupts.
==boot second phase complete==
making new block at 0xffffbeefed200000 size=94 / footer @ 0xffffbeefed200052
adding to alloc map, prev. # allocs = 0
added to alloc map, new # allocs = 1
freeing block at 0xffffbeefed200000 / block_size=81
block freed, size of allocs = 1
loading initial ramdisk...
===initrd: loading 21913489 bytes from 0x22c000===
initrd validated; contains 21909532 bytes of files!
we found no space to fit size 0x14e4, making new block at 0xffffbeefed20005e size=5373 / footer @ 0xffffbeefed20154f
adding to alloc map, prev. # allocs = 1
added to alloc map, new # allocs = 2
we found no space to fit size 0x5aa, making new block at 0xffffbeefed20155b size=1475 / footer @ 0xffffbeefed201b12
adding to alloc map, prev. # allocs = 2
added to alloc map, new # allocs = 3
added dir node mod
added dir node local
added dir node libnest
added dir node lib
added dir node usr
added dir node books
added dir node etc
added dir node birds
added dir node bin
added file node ulysses.txt
added file node LICENSE.txt
added file node initrd.txt
added file node etcetera.txt
added file node DOOM95.WAD
added file node init
added file node ls
added file node DOOM.WAD
added file node usermode
added file node doomos
added file node loco.txt
added file node usrlocal.txt
added file node libd.so
added file node imaginehavingalongfilenamewellyoudonthavetoanymore.txt
added file node greenland.bmp
added file node birdnest.nice
added file node testcase.txt
==initrd load success!==
file init is valid elf64. loading..
phdr load vaddr = 0x400000, aligned to 0x1000, X R
phdr load vaddr = 0x405000, aligned to 0x1000, W R
lowest vaddr 0x400000 highest vaddr 0x405ac0, size 0x200000
pmm_alloc(0x600000): found space for 3 pages at 0x40000000
map_phys_addr(): 0x40000000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
alloc new page table at 0x1604000, virtual 0xffffffff81604000, index now 5
made new: p2
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x40000087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x40200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0010 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x40400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0100 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
allocated user pages: [phys address] = p4 0x405fd000 p3 0x405fe000 p2 0x405ff000
[virt] vstart = 0x400000 vend = 0xa00000, size palign 0x200000 size total 0x600000
map_user_page_tables: 0x40000000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
kp4 phys = 0x220000
kp4 virt = 0xffffffff80220000
copying kp4 at idx 511 (contents 0x224023) to user p4
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
idx for VA: 0xffffbeefed000000 [0b1111 1111 1111 1111 1011 1110 1110 1111 1110 1101 0000 0000 0000 0000 0000 0000 ]
p4[381] p3[447] p2[360] p1[0]
idx for VA: 0xfc000000 [0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0000 0000 0000 0000 0000 0000 ]
p4[0] p3[3] p2[480] p1[0]
usr stack @ 0x9fcf00, 0x405ae0 size = 6109 kb
copying header 0x400000 to 0x400000. fs= 0x4e18 ms = 0x4e18
copying header 0x405000 to 0x405000. fs= 0x970 ms = 0xac0
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
loaded ELF: init [23232 kb]
usr entry = 0x4000c0 usr phys = 0x40000000 usr lo 0x400000 usr rsp 0x9fcf00, usr cr3 = 0x405fd000
we found no space to fit size 0x1000, making new block at 0xffffbeefed201b1e size=4121 / footer @ 0xffffbeefed202b2b
adding to alloc map, prev. # allocs = 3
added to alloc map, new # allocs = 4
=== stdout init @ 0xffffbeefed201b2b size 4096 idx 0 ready = 1 ===
==GFX INIT==/n
Graphics Init 1920 x 1080 x 32 ready = 1
pmm_alloc(0x2000020): found space for 17 pages at 0x40800000
tasking init
we found no space to fit size 0x2000, making new block at 0xffffbeefed202b37 size=8217 / footer @ 0xffffbeefed204b44
adding to alloc map, prev. # allocs = 4
added to alloc map, new # allocs = 5
stack 0xffffbeefed204a26 isn't aligned! repairing to = 0xffffbeefed204a20
create_task task_kmain pid 0 rip 0xffffffff80201787 !
added initial task task_kmain pid 0 !
adding task task_drawstdout, pid_last = 1 !
we found no space to fit size 0x2000, making new block at 0xffffbeefed204b50 size=8217 / footer @ 0xffffbeefed206b5d
adding to alloc map, prev. # allocs = 5
added to alloc map, new # allocs = 6
stack 0xffffbeefed206a3f isn't aligned! repairing to = 0xffffbeefed206a30
create_task task_drawstdout pid 1 rip 0xffffffff80201982 !
scheduler: added task task_drawstdout, pid = 1 !
adding task task_exit_test, pid_last = 2 !
we found no space to fit size 0x2000, making new block at 0xffffbeefed206b69 size=8217 / footer @ 0xffffbeefed208b76
adding to alloc map, prev. # allocs = 6
added to alloc map, new # allocs = 7
stack 0xffffbeefed208a58 isn't aligned! repairing to = 0xffffbeefed208a50
create_task task_exit_test pid 2 rip 0xffffffff80201a90 !
scheduler: added task task_exit_test, pid = 2 !
adding task task_yield_test, pid_last = 3 !
we found no space to fit size 0x2000, making new block at 0xffffbeefed208b82 size=8217 / footer @ 0xffffbeefed20ab8f
adding to alloc map, prev. # allocs = 7
added to alloc map, new # allocs = 8
stack 0xffffbeefed20aa71 isn't aligned! repairing to = 0xffffbeefed20aa70
create_task task_yield_test pid 3 rip 0xffffffff80201ac1 !
scheduler: added task task_yield_test, pid = 3 !
adding USER task usermode, pid_last = 4 !
we found no space to fit size 0x2000, making new block at 0xffffbeefed20ab9b size=8217 / footer @ 0xffffbeefed20cba8
adding to alloc map, prev. # allocs = 8
added to alloc map, new # allocs = 9
stack 0xffffbeefed20ca8a isn't aligned! repairing to = 0xffffbeefed20ca80
create_task usermode pid 4 rip 0x4000c0 !
we found no space to fit size 0x70, making new block at 0xffffbeefed20cbb4 size=137 / footer @ 0xffffbeefed20cc31
adding to alloc map, prev. # allocs = 9
added to alloc map, new # allocs = 10
scheduler: added USER task usermode, pid = 4 !
randos up
starting first task task_kmain
starting task task_kmain
task draw timer
task draw test
task exit test
task 2 exited with code: 0
found task task_drawstdout pointing to del task task_exit_test
old parent pid = 65535
yield testallocated a heap for task 4
pmm_alloc(0x400000): found space for 2 pages at 0x42c00000
map_phys_addr(): 0x40000000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x40000087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x40200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0010 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x40400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0100 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
map_user_page_tables: 0x42c00000 -> 0xa00000 | 2 pages
idx for VA: 0xa00000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1010 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[5] p1[0]
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
allocated a heap for task 4:
pa 0x42c00000 va0xa00000 size 4096 kb
cr3 to restore: 0x405fd000
==flushed TLB==
invalidated: 0xa00000
I am a user task hard at work
please mr kernel give me cpu time
{ [1920x1080@4] 0xfc000000/7680p }
usr@os> yieldingyieldingyieldingdooyieldingmyield test overtask 3 exited with code: 0
found task task_drawstdout pointing to del task task_yield_test
old parent pid = 65535
found space at 0. need size 0x6 found size 0x51
using existing block at 0xffffbeefed200000 / block_size=81
exec_user_task(): old cr3 0x405fd000 new cr3 0x220000 insane 0x405fd000 wtf 0xffffbeefed200008
file doomos is valid elf64. loading..
phdr load vaddr = 0x400000, aligned to 0x1000, X R
phdr load vaddr = 0x473000, aligned to 0x1000, W R
lowest vaddr 0x400000 highest vaddr 0x4d78e0, size 0x200000
pmm_alloc(0x600000): found space for 3 pages at 0x43200000
map_phys_addr(): 0x43200000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x43200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0010 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x43400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0100 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x43600087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0110 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
allocated user pages: [phys address] = p4 0x437fd000 p3 0x437fe000 p2 0x437ff000
[virt] vstart = 0x400000 vend = 0xa00000, size palign 0x200000 size total 0x600000
map_user_page_tables: 0x43200000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
kp4 phys = 0x220000
kp4 virt = 0xffffffff80220000
copying kp4 at idx 511 (contents 0x224023) to user p4
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
idx for VA: 0xffffbeefed000000 [0b1111 1111 1111 1111 1011 1110 1110 1111 1110 1101 0000 0000 0000 0000 0000 0000 ]
p4[381] p3[447] p2[360] p1[0]
idx for VA: 0xfc000000 [0b0000 0000 0000 0000 0000 0000 0000 0000 1111 1100 0000 0000 0000 0000 0000 0000 ]
p4[0] p3[3] p2[480] p1[0]
usr stack @ 0x9fcf00, 0x4d7900 size = 5269 kb
copying header 0x400000 to 0x400000. fs= 0x72a10 ms = 0x72a10
copying header 0x473000 to 0x473000. fs= 0x21f70 ms = 0x648e0
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
loaded ELF: doomos [882912 kb]
exec_user_task():
usr entry = 0x4000c0 usr phys = 0x43200000 usr lo 0x400000 usr rsp 0x9fcf00, usr cr3 = 0x437fd000
adding USER task doomos, child of 4 !
we found no space to fit size 0x2000, making new block at 0xffffbeefed20cc3d size=8217 / footer @ 0xffffbeefed20ec4a
adding to alloc map, prev. # allocs = 10
added to alloc map, new # allocs = 11
stack 0xffffbeefed20eb2c isn't aligned! repairing to = 0xffffbeefed20eb20
create_task doomos pid 5 rip 0x4000c0 !
we found no space to fit size 0x70, making new block at 0xffffbeefed20ec56 size=137 / footer @ 0xffffbeefed20ecd3
adding to alloc map, prev. # allocs = 11
added to alloc map, new # allocs = 12
scheduler: added child user task doomos, pid = 5 !
scheduler: swapping back cr3 to 0x405fd000
allocated a heap for task 5
pmm_alloc(0x400000): found space for 2 pages at 0x43a00000
map_phys_addr(): 0x43200000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x43200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0010 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x43400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0100 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x43600087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0110 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
map_user_page_tables: 0x43a00000 -> 0xa00000 | 2 pages
idx for VA: 0xa00000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1010 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[5] p1[0]
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
allocated a heap for task 5:
pa 0x43a00000 va0xa00000 size 4096 kb
cr3 to restore: 0x437fd000
==flushed TLB==
invalidated: 0xa00000
starting doomos!{ [1920x1080@4] 0xfc000000/7680p }
using gfx mode (1280x960x4)
expanding heap for task 5 [6291456]
pmm_alloc(0x600000): found space for 3 pages at 0x44000000
map_phys_addr(): 0x43200000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x43200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0010 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x43400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0100 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x43600087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0110 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
map_user_page_tables: 0x44000000 -> 0xe00000 | 3 pages
idx for VA: 0xe00000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1110 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[7] p1[0]
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
expanded heap for task 5:
pa 0x43a00000 va0xa00000 size 10240 kb
cr3 to restore: 0x437fd000
invalidated: 0xe00000
created frame buffer 0
mmap WAD
task_mmap_file(): DOOM.WAD to be mmaped in 6 pages from 0xffffffff807b0eec
pmm_alloc(0xc00000): found space for 6 pages at 0x44800000
map_phys_addr(): 0x43200000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x43200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0010 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x43400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0100 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x43600087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0110 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
map_phys_addr(): 0x44800000 -> 0x3f000000 | 6 pages
idx for VA: 0x3f000000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0011 1111 0000 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[504] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff8160be00 = 0x44800087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0100 1000 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff8160be40 = 0x44a00087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0100 1010 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff8160be80 = 0x44c00087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0100 1100 0000 0000 0000 1000 0111
entry 3 @ 0xffffffff8160bec0 = 0x44e00087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0100 1110 0000 0000 0000 1000 0111
entry 4 @ 0xffffffff8160bf00 = 0x45000087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0101 0000 0000 0000 0000 1000 0111
entry 5 @ 0xffffffff8160bf40 = 0x45200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0101 0010 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x3f000000
map_user_page_tables: 0x44800000 -> 0x3f000000 | 6 pages
idx for VA: 0x3f000000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0011 1111 0000 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[504] p1[0]
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
unmap_phys_addr(): unmapping 0x3f000000 | 6 pages
idx for VA: 0x3f000000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0011 1111 0000 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[504] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x3f000000
task 5 has file len='12408292' mmaped at va 0x3f000000 pa 0x44800000 size 12288 kb
invalidated: 0x3f000000
invalidated: 0x4000c0
==flushed TLB==
mmaped that shitwad loaded at 3f000000
init doom @ 6752
calling doom main!
Doom Generic 0.1Z_Init: Init zone memory allocation daemon.
expanding heap for task 5 [6291456]
pmm_alloc(0x600000): found space for 3 pages at 0x45600000
map_phys_addr(): 0x43200000 -> 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0x220000
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
initial p3 = 0xffffffff81600000 p4 = 0xffffffff80220000, p3_phys = 0xffffffff8020bb0e
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p3 virtual: now 0xffffffff81600000
making p2 virtual: now 0xffffffff81600000
entry 0 @ 0xffffffff81604080 = 0x43200087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0010 0000 0000 0000 1000 0111
entry 1 @ 0xffffffff816040c0 = 0x43400087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0100 0000 0000 0000 1000 0111
entry 2 @ 0xffffffff81604100 = 0x43600087
0b0000 0000 0000 0000 0000 0000 0000 0000 0100 0011 0110 0000 0000 0000 1000 0111
==flushed TLB==
invalidated: 0x400000
map_user_page_tables: 0x45600000 -> 0x1400000 | 3 pages
idx for VA: 0x1400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[10] p1[0]
unmap_phys_addr(): unmapping 0x400000 | 3 pages
idx for VA: 0x400000 [0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 ]
p4[0] p3[0] p2[2] p1[0]
p4 = 0xffffffff80220000
p4->[p3ind]=0x1600000
we have: p3 = 0xffffffff81600000 p2 = 0x1604000
making p2 virtual: now 0xffffffff81600000
==flushed TLB==
invalidated: 0x400000
expanded heap for task 5:
pa 0x43a00000 va0xa00000 size 16384 kb
cr3 to restore: 0x437fd000
invalidated: 0x1400000
zone memory: , 0xeb0010 allocated for zone
Using . for configuration and saves
V_Init: allocate screens.
M_LoadDefaults: Load system defaults.
M_LoadDefaults: Binding Variables
Bound Variables
M_LoadDefaults: Loaded
W_Init: Init WADfiles.
adding DOOM.WAD
opened our wad 'file' 3f000000we are loading WAD
reading WAD [+0x0] (size 12) addr 3f000000, end 3fbd55e4 read WAD ...
We got an IWAD ! 0xeb00b8
reading WAD [+0xbcc5c4] (size 36896) addr 3fbcc5c4, end 3fbd55e4 read WAD ...
[fbNm IMPXA1 ] [fbNm ETTNA1 ] [fbNm AGRDA1 ] [fbNm E4M1 ] [fbNm dmenupic ] Using ./.savegame/ for savegames
===========================================================================
The Ultimate DOOM===========================================================================
Doom Generic is free software, covered by the GNU General Public
License. There is NO warranty; not even for MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. You are welcome to change and distribute
copies under certain conditions. See the source for more information.
===========================================================================
I_Init: Setting up machine state.
D_ConnectNetGame()
Skipping Checksum
InitConnectData(OK)
Almost past setup
M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon !!!! .. we have 351 appatches
.....textures [ok]flats [ok]............sprites [ok].. .. .. .. .. .. R_Init().. done!
P_Init: Init Playloop state.
S_Init: Setting up sound.
D_CheckNetGame: Checking network game status.
... StartNetGame(1)... Emulating the behavior of the 'Ultimate Doom' executable.
HU_Init: Setting up heads up display.
loading hud font... init HUD okay!
ST_Init: Init status bar.
manual override for PLAYPAL
StUnloadLoadGFX end
Doom Loaded!
trt
DoomSetWindow: The Ultimate DOOM
I_InitGraphics: framebuffer: x_res: 1280, y_res: 960, x_virtual: 1280, y_virtual: 960, bpp: 32
I_InitGraphics: framebuffer: RGBA: 8888, red_off: 16, green_off: 8, blue_off: 0, transp_off: 24
I_InitGraphics: DOOM screen size: w x h: 320 x 200
I_InitGraphics: Auto-scaling factor: 4
manual override for PLAYPAL
no frame buffer set?set gfx mode!{ [1920x1080@4] 0xfc000000/7680p }
reading WAD [+0x7c7cc] (size 8032) addr 3f07c7cc, end 3fbd55e4 read WAD ...
manual override for PLAYPAL
reading WAD [+0x10f520] (size 12382) addr 3f10f520, end 3fbd55e4 read WAD ...