summaryrefslogtreecommitdiffstats
path: root/src/core/core_cpu.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* kernel/scheduler: Pass in system instance in constructorLioncash2019-03-041-2/+6
| | | | | | | | Avoids directly relying on the global system instance and instead makes an arbitrary system instance an explicit dependency on construction. This also allows removing dependencies on some global accessor functions as well.
* core_timing: Convert core timing into a classLioncash2019-02-161-1/+7
| | | | | | | | | | | Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.
* core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash2018-10-151-3/+7
|
* core: Make the exclusive monitor a unique_ptr instead of a shared_ptrLioncash2018-10-151-3/+2
| | | | | | Like the barrier, this is owned entirely by the System and will always outlive the encompassing state, so shared ownership semantics aren't necessary here.
* core: Make CPUBarrier a unique_ptr instead of a shared_ptrLioncash2018-10-151-3/+3
| | | | | | This will always outlive the Cpu instances, since it's destroyed after we destroy the Cpu instances on shutdown, so there's no need for shared ownership semantics here.
* core_cpu: Make arm_interface instances a std::unique_ptrLioncash2018-09-251-1/+1
| | | | | | This is only exposed by reference, so we can just make it a unique pointer to get rid of the need to also use reference counting for the pointer.
* core/core_cpu: Replace exclusive monitor include with forward declarationLioncash2018-09-181-2/+3
| | | | | We don't need to include this as a dependency within the header. A regular forward declaration will suffice here.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-4/+4
|
* core: Namespace all code in the arm subdirectory under the Core namespaceLioncash2018-08-251-2/+2
| | | | Gets all of these types and interfaces out of the global namespace.
* Core/HLE: Make the 'reschedule_pending' flag atomic.Subv2018-08-131-1/+1
| | | | Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
* Implement exclusive monitorMerryMage2018-07-221-1/+9
|
* core: Support session close with multicore.bunnei2018-05-111-10/+7
|
* core: Implement multicore support.bunnei2018-05-111-4/+8
|
* core: Create a thread for each CPU core, keep in lock-step with a barrier.bunnei2018-05-111-1/+32
|
* core: Move common CPU core things to its own class.bunnei2018-05-111-0/+46