summaryrefslogtreecommitdiff
path: root/src/core/loader/ncch.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2017-09-26 18:17:47 -0500
committerSubv <subv2112@gmail.com>2017-09-26 18:17:47 -0500
commit7f48aa8d2580da6b3b83a389e31804e493aba69f (patch)
tree287b04f23f2d195f123fd15dca68d6a1cebf945c /src/core/loader/ncch.h
parent3165466b665185ecbc3e33b02b0b90e25e7248ba (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.h5
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();