xref: /DragonOS/kernel/src/lib.rs (revision 2813126e3190c9b3c1a836a647b259a7adbe0cf3)
1 #![no_std]                       // <1>
2 #![no_main]                      // <1>
3 #![feature(core_intrinsics)]     // <2>
4 #[allow(non_upper_case_globals)]
5 #[allow(non_camel_case_types)]
6 #[allow(non_snake_case)]
7 
8 use core::ffi::c_char;
9 use core::intrinsics;            // <2>
10 use core::panic::PanicInfo;      // <3>
11 include!("include/bindings/bindings.rs");
12 
13 #[panic_handler]
14 #[no_mangle]
15 pub fn panic(_info: &PanicInfo) -> ! {
16   intrinsics::abort();           // <4>
17 }
18 
19 #[no_mangle]
20 pub extern "C" fn __rust_demo_func() -> i32 {
21   unsafe{
22     let f = b"\nDragonOS's Rust lib called printk_color()\n".as_ptr() as *const c_char;
23     printk_color(GREEN, BLACK, f);
24   }
25   return 0;
26 }
27