Merge pull request #2361 from lioncash/pagetable
core/memory: Minor simplifications to page table management
This commit is contained in:
		@@ -21,6 +21,7 @@
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/hle/lock.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/memory.h"
 | 
			
		||||
 | 
			
		||||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
@@ -181,6 +182,7 @@ void KernelCore::AppendNewProcess(SharedPtr<Process> process) {
 | 
			
		||||
 | 
			
		||||
void KernelCore::MakeCurrentProcess(Process* process) {
 | 
			
		||||
    impl->current_process = process;
 | 
			
		||||
    Memory::SetCurrentPageTable(&process->VMManager().page_table);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Process* KernelCore::CurrentProcess() {
 | 
			
		||||
 
 | 
			
		||||
@@ -32,9 +32,6 @@ namespace {
 | 
			
		||||
 * @param priority The priority to give the main thread
 | 
			
		||||
 */
 | 
			
		||||
void SetupMainThread(Process& owner_process, KernelCore& kernel, VAddr entry_point, u32 priority) {
 | 
			
		||||
    // Setup page table so we can write to memory
 | 
			
		||||
    Memory::SetCurrentPageTable(&owner_process.VMManager().page_table);
 | 
			
		||||
 | 
			
		||||
    // Initialize new "main" thread
 | 
			
		||||
    const VAddr stack_top = owner_process.VMManager().GetTLSIORegionEndAddress();
 | 
			
		||||
    auto thread_res = Thread::Create(kernel, "main", entry_point, priority, 0,
 | 
			
		||||
 
 | 
			
		||||
@@ -101,7 +101,6 @@ void Scheduler::SwitchContext(Thread* new_thread) {
 | 
			
		||||
        auto* const thread_owner_process = current_thread->GetOwnerProcess();
 | 
			
		||||
        if (previous_process != thread_owner_process) {
 | 
			
		||||
            system.Kernel().MakeCurrentProcess(thread_owner_process);
 | 
			
		||||
            Memory::SetCurrentPageTable(&thread_owner_process->VMManager().page_table);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        cpu_core.LoadContext(new_thread->GetContext());
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user