MCPcopy Create free account
hub / github.com/Simple-XX/SimpleKernel / main_smp

Function main_smp

tests/system_test/main.cpp:241–257  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

239}
240
241auto main_smp(int argc, const char** argv) -> int {
242 per_cpu::GetCurrentCore() = per_cpu::PerCpu(cpu_io::GetCurrentCoreId());
243 ArchInitSMP(argc, argv);
244 MemoryInitSMP();
245 InterruptInitSMP(argc, argv);
246 TaskManagerSingleton::instance().InitCurrentCore();
247 TimerInitSMP();
248 klog::Info("Hello SimpleKernel SMP");
249
250 g_cores_ready.fetch_add(1, std::memory_order_release);
251
252 run_tests_smp();
253
254 TaskManagerSingleton::instance().Schedule();
255
256 __builtin_unreachable();
257}
258
259} // namespace
260

Callers 1

_startFunction · 0.70

Calls 11

GetCurrentCoreFunction · 0.85
PerCpuClass · 0.85
GetCurrentCoreIdFunction · 0.85
MemoryInitSMPFunction · 0.85
InfoFunction · 0.85
run_tests_smpFunction · 0.85
ScheduleMethod · 0.80
ArchInitSMPFunction · 0.50
InterruptInitSMPFunction · 0.50
TimerInitSMPFunction · 0.50
InitCurrentCoreMethod · 0.45

Tested by

no test coverage detected