From 094e8c288a88db8a349492085381347ccdafc391 Mon Sep 17 00:00:00 2001 From: andromeda Date: Wed, 4 Mar 2026 22:45:35 +0100 Subject: use long mode, x86_64-unknown-none works now --- src/lib.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index c6cb39e..f942513 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,15 +6,22 @@ use core::panic::PanicInfo; #[unsafe(no_mangle)] pub extern "C" fn _start() -> ! { // 'k' - loop{unsafe {core::arch::asm!( - "out dx, al", in("al") 0x6Bu8 - )}} + print("kernel\n"); + loop {} +} + +fn print(s: &str) { + let mut bytes = s.bytes(); + while let Some(b) = bytes.next() { + unsafe {core::arch::asm!( + "out dx, al" + , in("al") b + )}; + }; } #[panic_handler] fn panic(_: &PanicInfo) -> ! { - // 'p' - loop{unsafe {core::arch::asm!( - "out dx, al", in("al") 0x70u8 - )}} + print("panicked"); + loop {} } -- cgit v1.3.1