From 8c72a39f93e9fc62c9b013a530804e55e48aa269 Mon Sep 17 00:00:00 2001 From: DualFroz Date: Fri, 28 Aug 2026 19:51:50 +0200 Subject: [PATCH] docs: capture serial console output from boot, shell, and test runs --- docs/boot-serial.log | 29 +++++++++++++++++ docs/shell-serial.log | 68 +++++++++++++++++++++++++++++++++++++++ docs/userspace-serial.log | 59 +++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 docs/boot-serial.log create mode 100644 docs/shell-serial.log create mode 100644 docs/userspace-serial.log diff --git a/docs/boot-serial.log b/docs/boot-serial.log new file mode 100644 index 0000000..b9f2346 --- /dev/null +++ b/docs/boot-serial.log @@ -0,0 +1,29 @@ + +======================================== + frostbyte kernel x86_64 long mode + multiboot2 / grub / freestanding gcc +======================================== + +[boot] multiboot2 magic verified (36d76289) +[gdt] loaded flat 64-bit segments +[idt] 256 vectors installed (32 exceptions, 16 irqs) +[pic] remapped to 0x20-0x2f, irq0 and irq1 unmasked +[pmm] 130559 KiB usable, 32736 frames, 32463 free after kernel +[heap] bump allocator at 0x0000000000111000, 8192 KiB +[paging] mapped 0x0000000040000000 -> phys 911000, readback OK +[pit] timer at 100 Hz +[kbd] ps/2 keyboard driver ready +[sched] 4 threads: idle, shell, workerA, workerB + +[boot] enabling interrupts, starting preemptive scheduler +[boot] workerA/workerB log from separate stacks to prove round-robin + + +frostbyte shell ready. type 'help'. +frostbyte> [workerA] tick=50 iterations=8650613 +[workerB] tick=91 iterations=15943273 +[workerA] tick=150 iterations=29911570 +[workerB] tick=191 iterations=34964279 +[workerA] tick=250 iterations=47022830 +[workerB] tick=291 iterations=48940017 +[workerA] tick=350 iterations=60766070 diff --git a/docs/shell-serial.log b/docs/shell-serial.log new file mode 100644 index 0000000..34daaeb --- /dev/null +++ b/docs/shell-serial.log @@ -0,0 +1,68 @@ + +======================================== + frostbyte kernel x86_64 long mode + multiboot2 / grub / freestanding gcc +======================================== + +[boot] multiboot2 magic verified (36d76289) +[gdt] loaded flat 64-bit segments +[idt] 256 vectors installed (32 exceptions, 16 irqs) +[pic] remapped to 0x20-0x2f, irq0 and irq1 unmasked +[pmm] 130559 KiB usable, 32736 frames, 32463 free after kernel +[heap] bump allocator at 0x0000000000111000, 8192 KiB +[paging] mapped 0x0000000040000000 -> phys 911000, readback OK +[pit] timer at 100 Hz +[kbd] ps/2 keyboard driver ready +[sched] 4 threads: idle, shell, workerA, workerB + +[boot] enabling interrupts, starting preemptive scheduler +[boot] workerA/workerB log from separate stacks to prove round-robin + + +frostbyte shell ready. type 'help'. +frostbyte> [workerA] tick=50 iterations=7143449 +[workerB] tick=91 iterations=15207163 +[workerA] tick=150 iterations=26517115 +[workerB] tick=191 iterations=35124050 +hel[workerA] tick=250 iterations=45724522 +p +available commands: + help show this list + echo print the given text + mem physical memory and heap usage + uptime ticks and seconds since boot + ps list kernel threads + clear clear the screen +frostbyte> [workerB] tick=291 iterations=53487849 +me[workerA] tick=350 iterations=64811083 +m +physical memory: 130559 KiB total + frames: 32736 total, 2324 used, 30412 free + used 9296 KiB, free 121648 KiB +heap: 48 KiB used of 8192 KiB +frostbyte> [workerB] tick=391 iterations=73119504 +ps[workerA] tick=450 iterations=84004093 + +id state name + 0 runnable idle +*1 running shell + 2 runnable workerA + 3 runnable workerB +frostbyte> [workerB] tick=491 iterations=92765972 +upt[workerA] tick=550 iterations=104540981 +ime[workerB] tick=591 iterations=112423170 + +uptime: 601 ticks, 6 seconds (at 100 Hz) +frostbyte> [workerA] tick=650 iterations=123652364 +ech[workerB] tick=691 iterations=132218480 +o fr[workerA] tick=750 iterations=140041519 +os[workerB] tick=791 iterations=147051909 +tbyt[workerA] tick=850 iterations=154503810 +e l[workerB] tick=891 iterations=160779592 +ives[workerA] tick=950 iterations=165666327 + +frostbyte lives +frostbyte> [workerB] tick=991 iterations=173432697 +[workerA] tick=1050 iterations=181711346 +[workerB] tick=1091 iterations=192171261 +[workerA] tick=1150 iterations=201288528 diff --git a/docs/userspace-serial.log b/docs/userspace-serial.log new file mode 100644 index 0000000..1581abb --- /dev/null +++ b/docs/userspace-serial.log @@ -0,0 +1,59 @@ + +======================================== + frostbyte kernel x86_64 long mode + wave 2: userspace, ring 3, syscalls +======================================== + +[boot] multiboot2 magic verified (36d76289) +[gdt] kernel + user segments, tss slot reserved +[idt] 256 vectors (32 exceptions, 16 irqs, int 0x80 syscall) +[pic] remapped to 0x20-0x2f, irq0 and irq1 unmasked +[pmm] 130559 KiB usable, 32736 frames, 32439 free after kernel +[heap] free-list allocator at 0x0000000000129000, 8192 KiB +[heap] free-list allocator self-test: +[heap] alloc a=0x0000000000129020 b=0x00000000001290b0 c=0x00000000001291a0, live blocks=4 +[heap] free(b) then malloc(150) -> d=0x00000000001290b0, reused b: yes +[heap] largest free 8191 KiB -> 8191 KiB after freeing a,c,d +[heap] coalesce PASS, 8191 KiB free of 8192 KiB, blocks=1 +[paging] mapped 0x00000000c0000000 -> phys 929000, readback OK +[pit] timer at 100 Hz +[kbd] ps/2 keyboard driver ready +[tss] loaded, rsp0 bootstrap stack installed +[initrd] fbar mounted, 3 files +[initrd] module at 0x0000000000123000-0x0000000000127638 (17 KiB) + +[boot] launching userland programs from initrd into ring 3 +[user] loaded 'hello' pid=4 entry=0x00000000400000b7 stackTop=0x0000000048000000 (5720 bytes) +[user] loaded 'counter' pid=5 entry=0x00000000500000f2 stackTop=0x0000000058000000 (5880 bytes) +[user] loaded 'sbrktest' pid=6 entry=0x0000000060000149 stackTop=0x0000000068000000 (6232 bytes) +[sched] 7 threads total (idle, shell, 2 workers, user programs) + +[boot] enabling interrupts, starting preemptive scheduler + + +frostbyte shell ready. type 'help'. +frostbyte> hello: greetings from ring 3, pid=4 +counter: pid=5 step=0 +sbrktest: pid=6 requesting 8192 bytes via sbrk +sbrktest: heap page write and read-back verified OK +[user] pid=6 'sbrktest' exited with code 0 +hello: resumed after yield, exiting cleanly +[user] pid=4 'hello' exited with code 7 +counter: pid=5 step=1 +counter: pid=5 step=2 +counter: pid=5 step=3 +counter: pid=5 step=4 +counter: finished counting +[user] pid=5 'counter' exited with code 0 +[workerA] tick=50 iterations=9283703 +[workerB] tick=91 iterations=17208332 +[workerA] tick=150 iterations=28254555 +[workerB] tick=191 iterations=36253847 +[workerA] tick=250 iterations=46306517 +[workerB] tick=291 iterations=52985378 +[workerA] tick=350 iterations=61196592 +[workerB] tick=391 iterations=70967282 +[workerA] tick=450 iterations=79949479 +[workerB] tick=491 iterations=90111106 +[workerA] tick=550 iterations=98996653 +qemu-system-x86_64: terminating on signal 15 from pid 956094 (timeout)