vmm: protecting kernel code and rodata 0xffffffff80106100 - 0xffffffff80119000 terminal: initialized uart: 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 0xffffffff801e0000 mb: unknown tag type 21 encountered mb: kernel command line: init=init mb: bootloader name: GRUB 2.02+dfsg1-5ubuntu8.2 mb: unknown tag type 10 encountered mb: initfs at 0xffffffff80145000 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: user init at 0xffffffff80145000 initfs at 0xffffffff80145000 pmm: using 0x1e1000 as the first physical page malloc(256) malloc(376) malloc(376) malloc(128) vfs: filesystem initiated network: network initialized malloc(256) malloc(256) threads: thread data at 0xffffff00000006f0 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 (10ec:8139) at 00:03.0 ******************************** The Nightingale Operating System Version v0.3.13-6-g486b86f ******************************** cpu: allowing irqs malloc(56) malloc(16) q->tail = (NULL) enqueue 0xffffff0000000a80 init (35424b) sh (37688b) echo (35376b) test (35680b) uname (35504b) what (35248b) bf (38928b) strace (35392b) bomb (35168b) rsh (36280b) net (36296b) busy (36416b) cat (35816b) udpnc (39152b) polltest (35744b) malloctest (35440b) threads (35704b) text_file (20b) done. Starting ring 3 thread at 0x401968 malloc(104) malloc(56) malloc(128) malloc(16) qo = 0xffffff0000000a80 q->tail = 0xffffff0000000a80 enqueue 0xffffff0000000f40 Hello World from a kernel thread Hello World from ring 3! Nightingale shell $ malloc(16) qo = 0x0000f031b80000a4 region, next, previous, length, status, valid 0xffffff0000000000, 0xffffff0000000130, (NULL), 256, used, valid 0xffffff0000000130, 0xffffff0000000360, 0xffffff0000000000, 512, used, valid 0xffffff0000000360, 0xffffff0000000590, 0xffffff0000000130, 512, used, valid 0xffffff0000000590, 0xffffff00000006c0, 0xffffff0000000360, 256, used, valid 0xffffff00000006c0, 0xffffff00000007f0, 0xffffff0000000590, 256, used, valid 0xffffff00000007f0, 0xffffff0000000920, 0xffffff00000006c0, 256, used, valid 0xffffff0000000920, 0xffffff0000000a50, 0xffffff00000007f0, 256, used, valid 0xffffff0000000a50, 0xffffff0000000b80, 0xffffff0000000920, 256, used, valid 0xffffff0000000b80, 0xffffff0000000cb0, 0xffffff0000000a50, 256, used, valid 0xffffff0000000cb0, 0xffffff0000000de0, 0xffffff0000000b80, 256, used, valid 0xffffff0000000de0, 0xffffff0000000f10, 0xffffff0000000cb0, 256, used, valid 0xffffff0000000f10, 0xffffff0000001040, 0xffffff0000000de0, 256, used, valid 0xffffff0000001040, 0xffffff0000001170, 0xffffff0000000f10, 256, used, valid 0xffffff0000001170, (NULL), 0xffffff0000001040, 16772704, free, valid ** total len: 16776544 inuse len: 3840 total regions: 14 inuse regions: 13 Unhandled exception at 0xffffffff80108dfb Fault: #GP (General Protection Fault), error code: 0x00 rax: f031b80000a4 r8 : ffffffffffffffff rbx: 0 r9 : 0 rcx: ffffffff80115085 r10: ffffffff80107651 rdx: 3f8 r11: 0 rsp: ffffffff85005cc8 r12: 0 rbp: ffffffff85005ce8 r13: 7ffffefffc58 rsi: a r14: 100 rdi: 3f8 r15: 0 rip: ffffffff80108dfb rfl: [ P Z I ] (246) cr3: 1f2000 pid: 1 backtrace from ffffffff85005ce8: bp: ffffffff85005ce8 ip: ffffffff80108e4f bp: ffffffff85005d08 ip: ffffffff8010c1e2 bp: ffffffff85005d38 ip: ffffffff80107737 bp: ffffffff85005dc8 ip: ffffffff8010dc84 bp: ffffffff85005e88 ip: ffffffff8010ef81 bp: ffffffff85005f08 ip: ffffffff8010edf2 bp: ffffffff85005f28 ip: ffffffff80107030 end of memory Stack dump: (sp at 0xffffffff85005cc8) ffffffff85005c88: 0d00 0000 0000 0000 0000 0000 0000 0000 ................ ffffffff85005c98: fb8d 1080 ffff ffff 0800 0000 0000 0000 ................ ffffffff85005ca8: 4602 0000 0000 0000 c85c 0085 ffff ffff F........\...... ffffffff85005cb8: 0000 0000 0000 0000 f78d 1080 ffff ffff ................ ffffffff85005cc8: 7011 0000 00ff ffff f004 0000 00ff ffff p............... ffffffff85005cd8: 085d 0085 ffff ffff a400 00b8 31f0 0000 .]..........1... ffffffff85005ce8: 085d 0085 ffff ffff 4f8e 1080 ffff ffff .]......O....... ffffffff85005cf8: 7010 0000 00ff ffff f004 0000 00ff ffff p............... ffffffff85005d08: 385d 0085 ffff ffff e2c1 1080 ffff ffff 8].............. [PANIC] ***** *print_queue@queue.c:18 (discriminator 3) queue_enqueue@queue.c:29 block_thread@thread.c:594 sys_read@vfs.c:56 do_syscall_with_table@syscall.c:162 syscall_handler@interrupt.c:231 c_interrupt_shim@interrupt.c:204 return_from_interrupt@??:?