diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-08-06 02:26:52 +0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-08-16 06:03:47 +0200 |
commit | 74d4bc0af1d2f22105bf3c00efcb85613d59cc19 (patch) | |
tree | 171c5d0508d99f9ef4dcba2a0e3543eb9bdfa1db /src/core/hle/kernel/kernel.cpp | |
parent | HLE: Remove empty ConfigMem and SharedPage Shutdown functions (diff) | |
download | yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.tar yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.tar.gz yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.tar.bz2 yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.tar.lz yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.tar.xz yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.tar.zst yuzu-74d4bc0af1d2f22105bf3c00efcb85613d59cc19.zip |
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r-- | src/core/hle/kernel/kernel.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 5711c0405..7a401a965 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -7,11 +7,14 @@ #include "common/assert.h" #include "common/logging/log.h" +#include "core/hle/config_mem.h" #include "core/hle/kernel/kernel.h" -#include "core/hle/kernel/resource_limit.h" +#include "core/hle/kernel/memory.h" #include "core/hle/kernel/process.h" +#include "core/hle/kernel/resource_limit.h" #include "core/hle/kernel/thread.h" #include "core/hle/kernel/timer.h" +#include "core/hle/shared_page.h" namespace Kernel { @@ -119,6 +122,13 @@ void HandleTable::Clear() { /// Initialize the kernel void Init() { + ConfigMem::Init(); + SharedPage::Init(); + + // TODO(yuriks): The memory type parameter needs to be determined by the ExHeader field instead + // For now it defaults to the one with a largest allocation to the app + Kernel::MemoryInit(2); // Allocates 96MB to the application + Kernel::ResourceLimitsInit(); Kernel::ThreadingInit(); Kernel::TimersInit(); @@ -131,11 +141,14 @@ void Init() { /// Shutdown the kernel void Shutdown() { + g_handle_table.Clear(); // Free all kernel objects + Kernel::ThreadingShutdown(); + g_current_process = nullptr; + Kernel::TimersShutdown(); Kernel::ResourceLimitsShutdown(); - g_handle_table.Clear(); // Free all kernel objects - g_current_process = nullptr; + Kernel::MemoryShutdown(); } } // namespace |