core/loader: Remove dependencies on the global system instance

Now all that remains is:

18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
This commit is contained in:
Lioncash 2020-09-16 08:19:25 -04:00
parent 004bfefeb5
commit 113a3972a6
20 changed files with 85 additions and 45 deletions

View file

@ -12,6 +12,10 @@
#include "core/file_sys/patch_manager.h"
#include "core/loader/loader.h"
namespace Core {
class System;
}
namespace Kernel {
class Process;
}
@ -80,12 +84,12 @@ public:
return IdentifyType(file);
}
static std::optional<VAddr> LoadModule(Kernel::Process& process, const FileSys::VfsFile& file,
VAddr load_base, bool should_pass_arguments,
bool load_into_process,
static std::optional<VAddr> LoadModule(Kernel::Process& process, Core::System& system,
const FileSys::VfsFile& file, VAddr load_base,
bool should_pass_arguments, bool load_into_process,
std::optional<FileSys::PatchManager> pm = {});
LoadResult Load(Kernel::Process& process) override;
LoadResult Load(Kernel::Process& process, Core::System& system) override;
ResultStatus ReadNSOModules(Modules& modules) override;