diff options
author | Lioncash <mathew1800@gmail.com> | 2019-03-05 18:28:10 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-03-05 21:47:03 +0100 |
commit | c161389a0f0b0fe3b9d6400c45fd87152f2cb14c (patch) | |
tree | b050bdbd77611a1205028b6307f4aca72e1c7417 /src/core/hle/kernel/kernel.h | |
parent | kernel/address_arbiter: Minor tidying up (diff) | |
download | yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.tar yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.tar.gz yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.tar.bz2 yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.tar.lz yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.tar.xz yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.tar.zst yuzu-c161389a0f0b0fe3b9d6400c45fd87152f2cb14c.zip |
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r-- | src/core/hle/kernel/kernel.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 32b8ede0e..4d292aca9 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -11,6 +11,10 @@ template <typename T> class ResultVal; +namespace Core { +class System; +} + namespace Core::Timing { class CoreTiming; struct EventType; @@ -31,7 +35,14 @@ private: using NamedPortTable = std::unordered_map<std::string, SharedPtr<ClientPort>>; public: - KernelCore(); + /// Constructs an instance of the kernel using the given System + /// instance as a context for any necessary system-related state, + /// such as threads, CPU core state, etc. + /// + /// @post After execution of the constructor, the provided System + /// object *must* outlive the kernel instance itself. + /// + explicit KernelCore(Core::System& system); ~KernelCore(); KernelCore(const KernelCore&) = delete; @@ -41,11 +52,7 @@ public: KernelCore& operator=(KernelCore&&) = delete; /// Resets the kernel to a clean slate for use. - /// - /// @param core_timing CoreTiming instance used to create any necessary - /// kernel-specific callback events. - /// - void Initialize(Core::Timing::CoreTiming& core_timing); + void Initialize(); /// Clears all resources in use by the kernel instance. void Shutdown(); |