mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-12 12:07:57 -05:00
Kernel/Memory: Give each Process its own page table.
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
This commit is contained in:
@ -270,6 +270,7 @@ ResultStatus AppLoader_THREEDSX::Load() {
|
||||
Kernel::g_current_process = Kernel::Process::Create(std::move(codeset));
|
||||
Kernel::g_current_process->svc_access_mask.set();
|
||||
Kernel::g_current_process->address_mappings = default_address_mappings;
|
||||
Memory::current_page_table = &Kernel::g_current_process->vm_manager.page_table;
|
||||
|
||||
// Attach the default resource limit (APPLICATION) to the process
|
||||
Kernel::g_current_process->resource_limit =
|
||||
|
@ -397,6 +397,7 @@ ResultStatus AppLoader_ELF::Load() {
|
||||
Kernel::g_current_process = Kernel::Process::Create(std::move(codeset));
|
||||
Kernel::g_current_process->svc_access_mask.set();
|
||||
Kernel::g_current_process->address_mappings = default_address_mappings;
|
||||
Memory::current_page_table = &Kernel::g_current_process->vm_manager.page_table;
|
||||
|
||||
// Attach the default resource limit (APPLICATION) to the process
|
||||
Kernel::g_current_process->resource_limit =
|
||||
|
@ -172,6 +172,7 @@ ResultStatus AppLoader_NCCH::LoadExec() {
|
||||
codeset->memory = std::make_shared<std::vector<u8>>(std::move(code));
|
||||
|
||||
Kernel::g_current_process = Kernel::Process::Create(std::move(codeset));
|
||||
Memory::current_page_table = &Kernel::g_current_process->vm_manager.page_table;
|
||||
|
||||
// Attach a resource limit to the process based on the resource limit category
|
||||
Kernel::g_current_process->resource_limit =
|
||||
|
Reference in New Issue
Block a user