()
| 53 | |
| 54 | #[no_mangle] |
| 55 | pub fn rust_main() -> ! { |
| 56 | clear_bss(); |
| 57 | mm::init(); |
| 58 | UART.init(); |
| 59 | println!("KERN: init gpu"); |
| 60 | let _gpu = GPU_DEVICE.clone(); |
| 61 | println!("KERN: init keyboard"); |
| 62 | let _keyboard = KEYBOARD_DEVICE.clone(); |
| 63 | println!("KERN: init mouse"); |
| 64 | let _mouse = MOUSE_DEVICE.clone(); |
| 65 | println!("KERN: init trap"); |
| 66 | trap::init(); |
| 67 | trap::enable_timer_interrupt(); |
| 68 | timer::set_next_trigger(); |
| 69 | board::device_init(); |
| 70 | fs::list_apps(); |
| 71 | task::add_initproc(); |
| 72 | *DEV_NON_BLOCKING_ACCESS.exclusive_access() = true; |
| 73 | task::run_tasks(); |
| 74 | panic!("Unreachable in rust_main!"); |
| 75 | } |
nothing calls this directly
no test coverage detected