summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/physical_core.cpp
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.cpp
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.cpp')
-rw-r--r--src/core/hle/kernel/physical_core.cpp37
1 files changed, 4 insertions, 33 deletions
diff --git a/src/core/hle/kernel/physical_core.cpp b/src/core/hle/kernel/physical_core.cpp
index 9146b331d..c82c60a16 100644
--- a/src/core/hle/kernel/physical_core.cpp
+++ b/src/core/hle/kernel/physical_core.cpp
@@ -20,50 +20,21 @@
namespace Kernel {
-PhysicalCore::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)
- : interrupt_handler{interrupt_handler}, core_index{id}, arm_interface_32{arm_interface32},
- arm_interface_64{arm_interface64} {
+PhysicalCore::PhysicalCore(Core::System& system, std::size_t id, Kernel::Scheduler& scheduler,
+ Core::CPUInterruptHandler& interrupt_handler)
+ : interrupt_handler{interrupt_handler}, core_index{id}, scheduler{scheduler} {
- scheduler = std::make_unique<Kernel::Scheduler>(system, core_index);
guard = std::make_unique<Common::SpinLock>();
}
PhysicalCore::~PhysicalCore() = default;
-void PhysicalCore::Run() {
- arm_interface->Run();
-}
-
-void PhysicalCore::ClearExclusive() {
- arm_interface->ClearExclusiveState();
-}
-
-void PhysicalCore::Step() {
- arm_interface->Step();
-}
-
void PhysicalCore::Idle() {
interrupt_handler.AwaitInterrupt();
}
-void PhysicalCore::Stop() {
- arm_interface->PrepareReschedule();
-}
-
void PhysicalCore::Shutdown() {
- scheduler->Shutdown();
-}
-
-void PhysicalCore::SetIs64Bit(bool is_64_bit) {
- if (is_64_bit) {
- arm_interface = &arm_interface_64;
- } else {
- arm_interface = &arm_interface_32;
- }
+ scheduler.Shutdown();
}
void PhysicalCore::Interrupt() {