core: Implement multicore support.

This commit is contained in:
bunnei 2018-05-02 22:36:51 -04:00
parent 9776ff9179
commit a434fdcb10
13 changed files with 113 additions and 78 deletions

View file

@ -51,12 +51,16 @@ public:
void PrepareReschedule();
ARM_Interface& CPU() {
ARM_Interface& ArmInterface() {
return *arm_interface;
}
Kernel::Scheduler& Scheduler() {
return *scheduler;
const ARM_Interface& ArmInterface() const {
return *arm_interface;
}
const std::shared_ptr<Kernel::Scheduler>& Scheduler() const {
return scheduler;
}
bool IsMainCore() const {
@ -68,7 +72,7 @@ private:
std::shared_ptr<ARM_Interface> arm_interface;
std::shared_ptr<CpuBarrier> cpu_barrier;
std::unique_ptr<Kernel::Scheduler> scheduler;
std::shared_ptr<Kernel::Scheduler> scheduler;
bool reschedule_pending{};
size_t core_index;