diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-12-13 01:38:14 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2024-04-02 23:17:31 +0200 |
| commit | 36137438446c1754a522c5b3cc3aff92c43ac1ee (patch) | |
| tree | f7358ef0aec7023321e52e116f94fba95e52611f /src/lib.rs | |
X86/X86_64 debug/release WORKING
riscv64 WORKING uart
idk
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 {} +} |
