diff options
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..26dc19d --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,39 @@ +#![no_std] +#![no_main] + +use core::panic::PanicInfo; +pub mod arch; + +#[macro_export] +macro_rules! print { + ($($arg:tt)*) => ($crate::arch::_print(format_args!($($arg)*))); +} + +#[macro_export] +macro_rules! println { + () => (print!("\n")); + ($($arg:tt)*) => (print!("{}\n", format_args!($($arg)*))); +} + +#[panic_handler] +fn panic(info: &PanicInfo) -> ! { + println!("{}", info); + loop {} +} + +#[no_mangle] +//pub extern "C" fn kernel_main(multiboot_bootinfo: *mut u32, multiboot_magic: u32) -> ! { +pub extern "C" fn kernel_main() -> ! { + //arch::parse_multiboot(multiboot_bootinfo, multiboot_magic); + //arch::forall(); + //arch::once(); + + let mut x = 10; + for i in 0..100 { + x += i; + } + + println!("Hello World! {}", x); + + loop {} +} |
