summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-03-05 18:28:10 +0100
committerLioncash <mathew1800@gmail.com>2019-03-05 21:47:03 +0100
commitc161389a0f0b0fe3b9d6400c45fd87152f2cb14c (patch)
treeb050bdbd77611a1205028b6307f4aca72e1c7417 /src/core/hle/kernel/kernel.h
parentkernel/address_arbiter: Minor tidying up (diff)
downloadyuzu-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 '')
-rw-r--r--src/core/hle/kernel/kernel.h19
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();