MCPcopy Create free account
hub / github.com/chyyuu/os_kernel_lab / rust_main

Function rust_main

os/src/main.rs:55–75  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

53
54#[no_mangle]
55pub 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}

Callers

nothing calls this directly

Calls 10

clear_bssFunction · 0.85
enable_timer_interruptFunction · 0.85
set_next_triggerFunction · 0.85
device_initFunction · 0.85
list_appsFunction · 0.85
add_initprocFunction · 0.85
run_tasksFunction · 0.85
exclusive_accessMethod · 0.80
initFunction · 0.50
initMethod · 0.45

Tested by

no test coverage detected