diff options
| author | 2020-11-13 11:11:12 -0800 | |
|---|---|---|
| committer | 2020-11-29 01:31:51 -0800 | |
| commit | 7b642c77811dc3887756f5abac5a9710564b098e (patch) | |
| tree | 09c9d764734db56896f77d986afa6ccd5d2c745d /src/core/core.cpp | |
| parent | Merge pull request #4998 from Morph1984/bioshock-patch (diff) | |
| download | yuzu-7b642c77811dc3887756f5abac5a9710564b098e.tar.gz yuzu-7b642c77811dc3887756f5abac5a9710564b098e.tar.xz yuzu-7b642c77811dc3887756f5abac5a9710564b098e.zip | |
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 76a38ea2a..58368fe3c 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -245,6 +245,7 @@ struct System::Impl { | |||
| 245 | } | 245 | } |
| 246 | AddGlueRegistrationForProcess(*app_loader, *main_process); | 246 | AddGlueRegistrationForProcess(*app_loader, *main_process); |
| 247 | kernel.MakeCurrentProcess(main_process.get()); | 247 | kernel.MakeCurrentProcess(main_process.get()); |
| 248 | kernel.InitializeCores(); | ||
| 248 | 249 | ||
| 249 | // Initialize cheat engine | 250 | // Initialize cheat engine |
| 250 | if (cheat_engine) { | 251 | if (cheat_engine) { |
| @@ -490,11 +491,11 @@ const TelemetrySession& System::TelemetrySession() const { | |||
| 490 | } | 491 | } |
| 491 | 492 | ||
| 492 | ARM_Interface& System::CurrentArmInterface() { | 493 | ARM_Interface& System::CurrentArmInterface() { |
| 493 | return impl->kernel.CurrentScheduler().GetCurrentThread()->ArmInterface(); | 494 | return impl->kernel.CurrentPhysicalCore().ArmInterface(); |
| 494 | } | 495 | } |
| 495 | 496 | ||
| 496 | const ARM_Interface& System::CurrentArmInterface() const { | 497 | const ARM_Interface& System::CurrentArmInterface() const { |
| 497 | return impl->kernel.CurrentScheduler().GetCurrentThread()->ArmInterface(); | 498 | return impl->kernel.CurrentPhysicalCore().ArmInterface(); |
| 498 | } | 499 | } |
| 499 | 500 | ||
| 500 | std::size_t System::CurrentCoreIndex() const { | 501 | std::size_t System::CurrentCoreIndex() const { |
| @@ -554,15 +555,11 @@ const Kernel::Process* System::CurrentProcess() const { | |||
| 554 | } | 555 | } |
| 555 | 556 | ||
| 556 | ARM_Interface& System::ArmInterface(std::size_t core_index) { | 557 | ARM_Interface& System::ArmInterface(std::size_t core_index) { |
| 557 | auto* thread = impl->kernel.Scheduler(core_index).GetCurrentThread(); | 558 | return impl->kernel.PhysicalCore(core_index).ArmInterface(); |
| 558 | ASSERT(thread && !thread->IsHLEThread()); | ||
| 559 | return thread->ArmInterface(); | ||
| 560 | } | 559 | } |
| 561 | 560 | ||
| 562 | const ARM_Interface& System::ArmInterface(std::size_t core_index) const { | 561 | const ARM_Interface& System::ArmInterface(std::size_t core_index) const { |
| 563 | auto* thread = impl->kernel.Scheduler(core_index).GetCurrentThread(); | 562 | return impl->kernel.PhysicalCore(core_index).ArmInterface(); |
| 564 | ASSERT(thread && !thread->IsHLEThread()); | ||
| 565 | return thread->ArmInterface(); | ||
| 566 | } | 563 | } |
| 567 | 564 | ||
| 568 | ExclusiveMonitor& System::Monitor() { | 565 | ExclusiveMonitor& System::Monitor() { |