vmm: protecting kernel code and rodata 0xffffffff80106100 - 0xffffffff80118000 terminal: initialized rand: initialized 'random' generator idt: interrupts installed pic: remapped and masked pit: running tickless uart: listening for interrupts kbrd: listening for interrupts mb: parsing multiboot at 0xffffffff8034a800 mb: unknown tag type 21 encountered mb: kernel command line: init=init mb: bootloader name: GRUB 2.02+dfsg1-12ubuntu2 mb: unknown tag type 10 encountered mb: initfs at 0xffffffff8014a000 mb: elf headers loaded mb: unknown tag type 4 encountered mb: unknown tag type 5 encountered mb: unknown tag type 8 encountered mmap: 0: 9fc00 type 1 mmap: 9fc00: 400 type 2 mmap: f0000: 10000 type 2 mmap: 100000: fee0000 type 1 mmap: ffe0000: 20000 type 2 mmap: fffc0000: 40000 type 2 mmap: total usable memory: 267910144 (255MB + 511KB) mb: kernel command line 'init=init' mb: user init at 0xffffffff8014a000 initfs at 0xffffffff8014a000 pmm: using 0x34c000 as the first physical page vfs: filesystem initiated threads: thread data at 0xfffffff0000005c0 threads: process structures initialized pci: found Host bridge (8086:1237) at 00:00.0 pci: found ISA bridge (8086:7000) at 00:01.0 pci: found IDE interface (8086:7010) at 00:01.1 pci: found Bridge (8086:7113) at 00:01.3 pci: found VGA controller (1234:1111) at 00:02.0 pci: found Ethernet controller (8086:100e) at 00:03.0 ******************************** The Nightingale Operating System Version v0.4.1-34-g890c95e ******************************** cpu: allowing irqs initialization took: 64513562 + '' rw- + 'dev' rw- + 'zero' r-- + 'serial' rw- + 'bin' rw- + 'init' r-x + 'sh' r-x + 'echo' r-x + 'uname' r-x + 'what' r-x + 'bf' r-x + 'strace' r-x + 'bomb' r-x + 'cat' r-x + 'threads' r-x + 'heapdbg' r-x + 'false' r-x + 'forks' r-x + 'top' r-x + 'clone' r-x + 'insmod' r-x + 'auto_test' r-x + 'fcat' r-x + 'text_file' r-x + 'test.lua' r-x + 'fib.lua' r-x + 'test_mod.ko' r-x + 'thread_mod.ko' r-x + 'lua' r-x Starting ring 3 thread at 0x401357 Hello World from a kernel thread Hello World from ring 3! Nightingale shell $ $ cat fib.lua function fib(n) if n < 2 then return 1 end return fib(n - 2) + fib(n - 1) end for i = 1, 30 do print(fib(i)) end -> 0 $ $ lua fib.lua 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 -> 0 $ $