Skip to content

Instantly share code, notes, and snippets.

@hawkw
Last active March 31, 2020 17:17
Show Gist options
  • Save hawkw/8d11e9e10c9cfe337a68ecbcfce3a7d9 to your computer and use it in GitHub Desktop.
Save hawkw/8d11e9e10c9cfe337a68ecbcfce3a7d9 to your computer and use it in GitHub Desktop.
kernel_logs.txt
Finished release [optimized + debuginfo] target(s) in 0.02s
Running: `qemu-system-x86_64 -drive format=raw,file=/home/eliza/code/mycelium/target/x86_64-mycelium/debug/deps/bootimage-mycelium_kernel-dcc986d72e1bd985.bin -device isa-debug-exit,iobase=0xf4,iosize=0x04 -serial stdio -display none`
[INFO] memory map
[INFO] |- mycelium_kernel: PAddr(0x00000000) UNKNOWN ?_? 4098 B
[INFO] |- mycelium_kernel: PAddr(0x00001000) PAGE_TABLE 16386 B
[INFO] |- mycelium_kernel: PAddr(0x00005000) BOOT 65538 B
[INFO] |- mycelium_kernel: PAddr(0x00015000) BOOT 4098 B
[INFO] |- mycelium_kernel: PAddr(0x00016000) KERNEL 561154 B
[INFO] |- mycelium_kernel: PAddr(0x0009f000) USED 4098 B
[INFO] |- mycelium_kernel: PAddr(0x000f0000) USED 65538 B
[INFO] |- mycelium_kernel: PAddr(0x00100000) KERNEL 102402 B
[INFO] |- mycelium_kernel: PAddr(0x00119000) KERNEL 2097154 B
[INFO] |- mycelium_kernel: PAddr(0x00319000) FREE 946178 B
[INFO] |- mycelium_kernel: PAddr(0x00400000) KERNEL 2445314 B
[INFO] |- mycelium_kernel: PAddr(0x00655000) PAGE_TABLE 61442 B
[INFO] |- mycelium_kernel: PAddr(0x00664000) FREE 127385602 B
[INFO] |- mycelium_kernel: PAddr(0x07fe0000) USED 131074 B
[INFO] |- mycelium_kernel: PAddr(0xfffc0000) USED 262146 B
[INFO] |- mycelium_kernel: found 15 memory regions, 2 free regions (128331780 bytes)
[INFO] interrupts::init
[INFO] |- hal_x86_64::interrupt: configuring 8259 PIC interrupts...
[INFO] |- hal_x86_64::interrupt: intializing IDT...
[DEBUG] | Idt::register_handlers
[DEBUG] | |- hal_x86_64::interrupt::idt: set isr, vector=32, isr=0x20dc70, attrs=Attrs(0b10001110)
[DEBUG] | |- hal_x86_64::interrupt::idt: set isr, vector=33, isr=0x20d750, attrs=Attrs(0b10001110)
[DEBUG] | |- hal_x86_64::interrupt::idt: set isr, vector=69, isr=0x20dc30, attrs=Attrs(0b10001110)
[DEBUG] | |- hal_x86_64::interrupt::idt: set isr, vector=14, isr=0x20d7a0, attrs=Attrs(0b10001110)
[DEBUG] | |- hal_x86_64::interrupt::idt: set isr, vector=13, isr=0x20d8c0, attrs=Attrs(0b10001110)
[DEBUG] | |- hal_x86_64::interrupt::idt: set isr, vector=8, isr=0x20d800, attrs=Attrs(0b10001110)
[DEBUG] |- hal_x86_64::interrupt: testing interrupts...
[INFO] |- mycelium_kernel::arch::x86_64: lol im in ur test interrupt, registers=Registers { instruction_ptr: VAddr(0x20d293), code_segment: Selector(8), cpu_flags: 0b1000000010, stack_ptr: VAddr(0x10000200bd0), stack_segment: Selector(0) }
[DEBUG] |- hal_x86_64::interrupt: it worked
[INFO] paging::init, vm_offset=VAddr(0x18000000000), pml4_paddr=PAddr(0x8040201000)
[INFO] |- hal_x86_64::mm: initializing paging...
[DEBUG] |- hal_x86_64::mm: pml4_page=Page { base: PAddr(0x1000), size: 4096 }, flags=cr3::Flags(0b1000000000000)
[TRACE] |- hal_x86_64::mm: old PML4:
[TRACE] |- hal_x86_64::mm: pml4_paddr=PAddr(0x1000), vm_offset=VAddr(0x18000000000)
[DEBUG] |- hal_x86_64::mm: current_pml4_vaddr=VAddr(0x18000001000)
[TRACE] |- hal_x86_64::mm: idx=0, entry=Entry { level: PML4, addr: PAddr(0x2000), flags: PRESENT | WRITABLE | ACCESSED }
[TRACE] |- hal_x86_64::mm: idx=1, entry=Entry { level: PML4, addr: PAddr(0x1000), flags: PRESENT | WRITABLE | ACCESSED | DIRTY }
[TRACE] |- hal_x86_64::mm: idx=2, entry=Entry { level: PML4, addr: PAddr(0x655000), flags: PRESENT | WRITABLE | ACCESSED | DIRTY }
[TRACE] |- hal_x86_64::mm: idx=3, entry=Entry { level: PML4, addr: PAddr(0x65e000), flags: PRESENT | WRITABLE | ACCESSED | DIRTY }
[TRACE] |- hal_x86_64::mm: idx=31, entry=Entry { level: PML4, addr: PAddr(0x659000), flags: PRESENT | WRITABLE | ACCESSED | DIRTY }
[TRACE] |- hal_x86_64::mm: present_entries=5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment