非启动核入口
| 17 | |
| 18 | /// 非启动核入口 |
| 19 | auto main_smp(int argc, const char** argv) -> int { |
| 20 | per_cpu::GetCurrentCore() = per_cpu::PerCpu(cpu_io::GetCurrentCoreId()); |
| 21 | ArchInitSMP(argc, argv); |
| 22 | MemoryInitSMP(); |
| 23 | InterruptInitSMP(argc, argv); |
| 24 | TaskManagerSingleton::instance().InitCurrentCore(); |
| 25 | TimerInitSMP(); |
| 26 | |
| 27 | klog::Info("Hello SimpleKernel SMP"); |
| 28 | |
| 29 | // 启动调度器 |
| 30 | TaskManagerSingleton::instance().Schedule(); |
| 31 | |
| 32 | // UNREACHABLE: Schedule() 不应返回 |
| 33 | __builtin_unreachable(); |
| 34 | } |
| 35 | |
| 36 | } // namespace |
| 37 |
no test coverage detected