mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-30 15:39:02 -05:00 
			
		
		
		
	core/memory; Migrate over SetCurrentPageTable() to the Memory class
Now that literally every other API function is converted over to the Memory class, we can just move the file-local page table into the Memory implementation class, finally getting rid of global state within the memory code.
This commit is contained in:
		| @@ -154,6 +154,16 @@ struct KernelCore::Impl { | ||||
|         system.CoreTiming().ScheduleEvent(time_interval, preemption_event); | ||||
|     } | ||||
|  | ||||
|     void MakeCurrentProcess(Process* process) { | ||||
|         current_process = process; | ||||
|  | ||||
|         if (process == nullptr) { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         system.Memory().SetCurrentPageTable(*process); | ||||
|     } | ||||
|  | ||||
|     std::atomic<u32> next_object_id{0}; | ||||
|     std::atomic<u64> next_kernel_process_id{Process::InitialKIPIDMin}; | ||||
|     std::atomic<u64> next_user_process_id{Process::ProcessIDMin}; | ||||
| @@ -208,13 +218,7 @@ void KernelCore::AppendNewProcess(std::shared_ptr<Process> process) { | ||||
| } | ||||
|  | ||||
| void KernelCore::MakeCurrentProcess(Process* process) { | ||||
|     impl->current_process = process; | ||||
|  | ||||
|     if (process == nullptr) { | ||||
|         return; | ||||
|     } | ||||
|  | ||||
|     Memory::SetCurrentPageTable(*process); | ||||
|     impl->MakeCurrentProcess(process); | ||||
| } | ||||
|  | ||||
| Process* KernelCore::CurrentProcess() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Lioncash
					Lioncash