#include "scheduler/process_manager.h" #include "debug/debug.h" ProcessManager* gProcMan = nullptr; void ProcessManager::Init() { gProcMan = new ProcessManager(); gProcMan->InsertProcess(Process::RootProcess()); } void ProcessManager::InsertProcess(const glcr::RefPtr& proc) { PANIC_ON_ERR(proc_map_.Insert(proc->id(), proc), "Reinserting process"); } Process& ProcessManager::FromId(uint64_t pid) { if (!proc_map_.Contains(pid)) { panic("Bad proc access {}, have {} processes", pid, proc_map_.size()); } return *proc_map_.at(pid); }