summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/physical_core.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-01-25 23:55:32 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-01-25 23:55:32 +0100
commit4d6a86b03fe6ae0d98838a21613b66d5196150af (patch)
tree21f4b8e63e6435b2d816936af8b494882a3cdfb2 /src/core/hle/kernel/physical_core.h
parentKernel: Implement Physical Core. (diff)
downloadyuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.tar
yuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.tar.gz
yuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.tar.bz2
yuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.tar.lz
yuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.tar.xz
yuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.tar.zst
yuzu-4d6a86b03fe6ae0d98838a21613b66d5196150af.zip
Diffstat (limited to 'src/core/hle/kernel/physical_core.h')
-rw-r--r--src/core/hle/kernel/physical_core.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/core/hle/kernel/physical_core.h b/src/core/hle/kernel/physical_core.h
index 225b31d3e..a7848e030 100644
--- a/src/core/hle/kernel/physical_core.h
+++ b/src/core/hle/kernel/physical_core.h
@@ -8,14 +8,17 @@ namespace Kernel {
class Scheduler;
} // namespace Kernel
+namespace Core {
class ARM_Interface;
class ExclusiveMonitor;
+class System;
+} // namespace Core
namespace Kernel {
class PhysicalCore {
public:
- PhysicalCore(KernelCore& kernel, std::size_t id, ExclusiveMonitor& exclusive_monitor);
+ PhysicalCore(Core::System& system, KernelCore& kernel, std::size_t id, Core::ExclusiveMonitor& exclusive_monitor);
/// Execute current jit state
void Run();
@@ -24,11 +27,14 @@ public:
/// Stop JIT execution/exit
void Stop();
- ARM_Interface& ArmInterface() {
+ // Shutdown this physical core.
+ void Shutdown();
+
+ Core::ARM_Interface& ArmInterface() {
return *arm_interface;
}
- const ARM_Interface& ArmInterface() const {
+ const Core::ARM_Interface& ArmInterface() const {
return *arm_interface;
}
@@ -44,19 +50,19 @@ public:
return core_index;
}
- Scheduler& Scheduler() {
+ Kernel::Scheduler& Scheduler() {
return *scheduler;
}
- const Scheduler& Scheduler() const {
+ const Kernel::Scheduler& Scheduler() const {
return *scheduler;
}
private:
std::size_t core_index;
- std::unique_ptr<ARM_Interface> arm_interface;
- std::unique_ptr<Kernel::Scheduler> scheduler;
KernelCore& kernel;
-}
+ std::unique_ptr<Core::ARM_Interface> arm_interface;
+ std::unique_ptr<Kernel::Scheduler> scheduler;
+};
} // namespace Kernel