Merge pull request #1073 from lioncash/3ds
loader: Remove address mapping remnants from citra
This commit is contained in:
commit
3db1b8e0cd
@ -118,7 +118,6 @@ ResultStatus AppLoader_DeconstructedRomDirectory::Load(
|
|||||||
|
|
||||||
process->program_id = metadata.GetTitleID();
|
process->program_id = metadata.GetTitleID();
|
||||||
process->svc_access_mask.set();
|
process->svc_access_mask.set();
|
||||||
process->address_mappings = default_address_mappings;
|
|
||||||
process->resource_limit =
|
process->resource_limit =
|
||||||
Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION);
|
Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION);
|
||||||
process->Run(Memory::PROCESS_IMAGE_VADDR, metadata.GetMainThreadPriority(),
|
process->Run(Memory::PROCESS_IMAGE_VADDR, metadata.GetMainThreadPriority(),
|
||||||
|
@ -398,7 +398,6 @@ ResultStatus AppLoader_ELF::Load(Kernel::SharedPtr<Kernel::Process>& process) {
|
|||||||
|
|
||||||
process->LoadModule(codeset, codeset->entrypoint);
|
process->LoadModule(codeset, codeset->entrypoint);
|
||||||
process->svc_access_mask.set();
|
process->svc_access_mask.set();
|
||||||
process->address_mappings = default_address_mappings;
|
|
||||||
|
|
||||||
// Attach the default resource limit (APPLICATION) to the process
|
// Attach the default resource limit (APPLICATION) to the process
|
||||||
process->resource_limit =
|
process->resource_limit =
|
||||||
|
@ -17,12 +17,6 @@
|
|||||||
|
|
||||||
namespace Loader {
|
namespace Loader {
|
||||||
|
|
||||||
const std::initializer_list<Kernel::AddressMapping> default_address_mappings = {
|
|
||||||
{0x1FF50000, 0x8000, true}, // part of DSP RAM
|
|
||||||
{0x1FF70000, 0x8000, true}, // part of DSP RAM
|
|
||||||
{0x1F000000, 0x600000, false}, // entire VRAM
|
|
||||||
};
|
|
||||||
|
|
||||||
FileType IdentifyFile(FileSys::VirtualFile file) {
|
FileType IdentifyFile(FileSys::VirtualFile file) {
|
||||||
FileType type;
|
FileType type;
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <initializer_list>
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
@ -207,12 +206,6 @@ protected:
|
|||||||
bool is_loaded = false;
|
bool is_loaded = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Common address mappings found in most games, used for binary formats that don't have this
|
|
||||||
* information.
|
|
||||||
*/
|
|
||||||
extern const std::initializer_list<Kernel::AddressMapping> default_address_mappings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Identifies a bootable file and return a suitable loader
|
* Identifies a bootable file and return a suitable loader
|
||||||
* @param file The bootable file
|
* @param file The bootable file
|
||||||
|
@ -186,7 +186,6 @@ ResultStatus AppLoader_NRO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
process->svc_access_mask.set();
|
process->svc_access_mask.set();
|
||||||
process->address_mappings = default_address_mappings;
|
|
||||||
process->resource_limit =
|
process->resource_limit =
|
||||||
Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION);
|
Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION);
|
||||||
process->Run(base_addr, THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE);
|
process->Run(base_addr, THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE);
|
||||||
|
@ -152,7 +152,6 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
|
|||||||
LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", file->GetName(), Memory::PROCESS_IMAGE_VADDR);
|
LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", file->GetName(), Memory::PROCESS_IMAGE_VADDR);
|
||||||
|
|
||||||
process->svc_access_mask.set();
|
process->svc_access_mask.set();
|
||||||
process->address_mappings = default_address_mappings;
|
|
||||||
process->resource_limit =
|
process->resource_limit =
|
||||||
Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION);
|
Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION);
|
||||||
process->Run(Memory::PROCESS_IMAGE_VADDR, THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE);
|
process->Run(Memory::PROCESS_IMAGE_VADDR, THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE);
|
||||||
|
Loading…
Reference in New Issue
Block a user