diff --git a/kernel-rs/mk/grub.mk b/kernel-rs/mk/grub.mk index 1444d67a..cb44a41e 100644 --- a/kernel-rs/mk/grub.mk +++ b/kernel-rs/mk/grub.mk @@ -6,5 +6,4 @@ $(grub-iso): $(kernel) $(grub-cfg) Makefile @mkdir -p $(isodir)/boot/grub @cp $(grub-cfg) $(isodir)/boot/grub @cp $(kernel) $(isodir)/boot/$(OS) - @grub-mkrescue -o $@ $(isodir) 2>/dev/null - @printf "\r\033[38;5;117m✓ GRUB ==> $(grub-iso)\033[0m\033[K\n" + grub-mkrescue -o $@ $(isodir) 2>/dev/null diff --git a/kernel-rs/src/arch/x86/boot.asm b/kernel-rs/src/arch/x86/boot.asm index 72d057d8..ef54d30f 100644 --- a/kernel-rs/src/arch/x86/boot.asm +++ b/kernel-rs/src/arch/x86/boot.asm @@ -58,7 +58,7 @@ align 4096 p2_table: resb 4096 stack_bottom: - resb 4096 * 3 + resb 4096 * 4 stack_top: section .gdt diff --git a/kernel-rs/src/arch/x86/mod.rs b/kernel-rs/src/arch/x86/mod.rs index 8cee6b38..6b68f857 100644 --- a/kernel-rs/src/arch/x86/mod.rs +++ b/kernel-rs/src/arch/x86/mod.rs @@ -33,23 +33,10 @@ pub unsafe extern "C" fn x86_rust_start(multiboot_info_addr: usize) { // set up physical allocator ::memory::init(&boot_info); - // let memory_map_tag = boot_info.memory_map_tag().expect("Memory map tag required"); - // println!("memory areas:"); - // for area in memory_map_tag.memory_areas() { - // println!( - // " start: {:#x}, end: {:#x} length: {:#x}", - // area.start_address(), - // area.end_address(), - // area.size() - // ); - // } - // flush!(); - // asm!("hlt"); - // set up virtual addressing (paging) let mut active_table = paging::init(&boot_info); - // fill and load idt (exceptions + irqs) + // load idt (exceptions + irqs) idt::init(); // set up heap diff --git a/kernel-rs/src/lib.rs b/kernel-rs/src/lib.rs index 020db3d2..c79a30fb 100644 --- a/kernel-rs/src/lib.rs +++ b/kernel-rs/src/lib.rs @@ -60,10 +60,9 @@ pub fn kmain() -> ! { // *(0xdead as *mut u32) = 42; // }; - // vga is specific to chipset not cpu + // vga is *not* cpu specific, chipset specific? vga::init(); - // loop { keyboard::kbd_callback(); } loop {} } @@ -81,7 +80,7 @@ pub extern "C" fn panic_fmt(fmt: core::fmt::Arguments, file: &'static str, line: loop {} } -pub const HEAP_START: usize = (2 << 22); //third entry of p2 +pub const HEAP_START: usize = (1 << 22 + 2); //third entry of p2 pub const HEAP_SIZE: usize = 10 * 4096 * 8; //~ 100 KiB #[global_allocator]