loader/nso: Remove dependency on the System class

Similar to the NRO changes, we can also pass the process explicitly as a
parameter from Load instead of indirecting through the System class.
This commit is contained in:
Lioncash 2018-12-02 22:24:43 -05:00
parent fc32d6256a
commit 7695febfa1
3 changed files with 11 additions and 8 deletions

View file

@ -10,6 +10,10 @@
#include "core/loader/linker.h"
#include "core/loader/loader.h"
namespace Kernel {
class Process;
}
namespace Loader {
constexpr u64 NSO_ARGUMENT_DATA_ALLOCATION_SIZE = 0x9000;
@ -37,8 +41,8 @@ public:
return IdentifyType(file);
}
static std::optional<VAddr> LoadModule(const FileSys::VfsFile& file, VAddr load_base,
bool should_pass_arguments,
static std::optional<VAddr> LoadModule(Kernel::Process& process, const FileSys::VfsFile& file,
VAddr load_base, bool should_pass_arguments,
std::optional<FileSys::PatchManager> pm = {});
ResultStatus Load(Kernel::Process& process) override;