summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/physical_core.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-03-01 17:14:17 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:35:58 +0200
commit1567824d2da8e9b49b433f3d1d753d8ad84e65f9 (patch)
treec9553bb3f1693e430054695737d2f87ba4b58955 /src/core/hle/kernel/physical_core.h
parentCore: Refactor ARM Interface. (diff)
downloadyuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.gz
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.bz2
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.lz
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.xz
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.zst
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.zip
Diffstat (limited to 'src/core/hle/kernel/physical_core.h')
-rw-r--r--src/core/hle/kernel/physical_core.h37
1 files changed, 7 insertions, 30 deletions
diff --git a/src/core/hle/kernel/physical_core.h b/src/core/hle/kernel/physical_core.h
index 2673d90f2..751b994a7 100644
--- a/src/core/hle/kernel/physical_core.h
+++ b/src/core/hle/kernel/physical_core.h
@@ -10,7 +10,7 @@
#include "core/arm/cpu_interrupt_handler.h"
namespace Common {
-class SpinLock;
+ class SpinLock;
}
namespace Kernel {
@@ -27,9 +27,9 @@ namespace Kernel {
class PhysicalCore {
public:
- PhysicalCore(Core::System& system, std::size_t id, Core::ExclusiveMonitor& exclusive_monitor,
- Core::CPUInterruptHandler& interrupt_handler, Core::ARM_Interface& arm_interface32,
- Core::ARM_Interface& arm_interface64);
+ PhysicalCore(Core::System& system, std::size_t id,
+ Kernel::Scheduler& scheduler,
+ Core::CPUInterruptHandler& interrupt_handler);
~PhysicalCore();
PhysicalCore(const PhysicalCore&) = delete;
@@ -38,17 +38,7 @@ public:
PhysicalCore(PhysicalCore&&) = default;
PhysicalCore& operator=(PhysicalCore&&) = default;
- /// Execute current jit state
- void Run();
- /// Clear Exclusive state.
- void ClearExclusive();
- /// Set this core in IdleState.
void Idle();
- /// Execute a single instruction in current jit.
- void Step();
- /// Stop JIT execution/exit
- void Stop();
-
/// Interrupt this physical core.
void Interrupt();
@@ -63,14 +53,6 @@ public:
// Shutdown this physical core.
void Shutdown();
- Core::ARM_Interface& ArmInterface() {
- return *arm_interface;
- }
-
- const Core::ARM_Interface& ArmInterface() const {
- return *arm_interface;
- }
-
bool IsMainCore() const {
return core_index == 0;
}
@@ -84,22 +66,17 @@ public:
}
Kernel::Scheduler& Scheduler() {
- return *scheduler;
+ return scheduler;
}
const Kernel::Scheduler& Scheduler() const {
- return *scheduler;
+ return scheduler;
}
- void SetIs64Bit(bool is_64_bit);
-
private:
Core::CPUInterruptHandler& interrupt_handler;
std::size_t core_index;
- Core::ARM_Interface& arm_interface_32;
- Core::ARM_Interface& arm_interface_64;
- std::unique_ptr<Kernel::Scheduler> scheduler;
- Core::ARM_Interface* arm_interface{};
+ Kernel::Scheduler& scheduler;
std::unique_ptr<Common::SpinLock> guard;
};