diff options
author | Subv <subv2112@gmail.com> | 2017-09-26 18:17:47 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2017-09-26 18:17:47 -0500 |
commit | 7f48aa8d2580da6b3b83a389e31804e493aba69f (patch) | |
tree | 287b04f23f2d195f123fd15dca68d6a1cebf945c /src/core/loader/ncch.h | |
parent | 3165466b665185ecbc3e33b02b0b90e25e7248ba (diff) |
Loaders: Don't automatically set the current process every time we load an application.
The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
Diffstat (limited to 'src/core/loader/ncch.h')
-rw-r--r-- | src/core/loader/ncch.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h index 9b56465cb..09230ae33 100644 --- a/src/core/loader/ncch.h +++ b/src/core/loader/ncch.h @@ -33,7 +33,7 @@ public: return IdentifyType(file); } - ResultStatus Load() override; + ResultStatus Load(Kernel::SharedPtr<Kernel::Process>& process) override; /** * Loads the Exheader and returns the system mode for this application. @@ -62,9 +62,10 @@ public: private: /** * Loads .code section into memory for booting + * @param process The newly created process * @return ResultStatus result of function */ - ResultStatus LoadExec(); + ResultStatus LoadExec(Kernel::SharedPtr<Kernel::Process>& process); /// Reads the region lockout info in the SMDH and send it to CFG service void ParseRegionLockoutInfo(); |