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
$
$
Comments