Kernel: Reverse global accessor removal.
This commit is contained in:
		
				
					committed by
					
						
						FernandoS27
					
				
			
			
				
	
			
			
			
						parent
						
							3073615dbc
						
					
				
				
					commit
					c32520ceb7
				
			@@ -232,14 +232,6 @@ const Kernel::GlobalScheduler& KernelCore::GlobalScheduler() const {
 | 
			
		||||
    return impl->global_scheduler;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Core::System& KernelCore::System() {
 | 
			
		||||
    return impl->system;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const Core::System& KernelCore::System() const {
 | 
			
		||||
    return impl->system;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void KernelCore::AddNamedPort(std::string name, SharedPtr<ClientPort> port) {
 | 
			
		||||
    impl->named_ports.emplace(std::move(name), std::move(port));
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -82,12 +82,6 @@ public:
 | 
			
		||||
    /// Gets the sole instance of the global scheduler
 | 
			
		||||
    const Kernel::GlobalScheduler& GlobalScheduler() const;
 | 
			
		||||
 | 
			
		||||
    /// Gets the sole instance of the system
 | 
			
		||||
    Core::System& System();
 | 
			
		||||
 | 
			
		||||
    /// Gets the sole instance of the system
 | 
			
		||||
    const Core::System& System() const;
 | 
			
		||||
 | 
			
		||||
    /// Adds a port to the named port table
 | 
			
		||||
    void AddNamedPort(std::string name, SharedPtr<ClientPort> port);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ Thread::~Thread() = default;
 | 
			
		||||
 | 
			
		||||
void Thread::Stop() {
 | 
			
		||||
    // Cancel any outstanding wakeup events for this thread
 | 
			
		||||
    kernel.System().CoreTiming().UnscheduleEvent(kernel.ThreadWakeupCallbackEventType(),
 | 
			
		||||
    Core::System::GetInstance().CoreTiming().UnscheduleEvent(kernel.ThreadWakeupCallbackEventType(),
 | 
			
		||||
                                                 callback_handle);
 | 
			
		||||
    kernel.ThreadWakeupCallbackHandleTable().Close(callback_handle);
 | 
			
		||||
    callback_handle = 0;
 | 
			
		||||
@@ -68,12 +68,12 @@ void Thread::WakeAfterDelay(s64 nanoseconds) {
 | 
			
		||||
    // This function might be called from any thread so we have to be cautious and use the
 | 
			
		||||
    // thread-safe version of ScheduleEvent.
 | 
			
		||||
    const s64 cycles = Core::Timing::nsToCycles(std::chrono::nanoseconds{nanoseconds});
 | 
			
		||||
    kernel.System().CoreTiming().ScheduleEvent(cycles, kernel.ThreadWakeupCallbackEventType(),
 | 
			
		||||
    Core::System::GetInstance().CoreTiming().ScheduleEvent(cycles, kernel.ThreadWakeupCallbackEventType(),
 | 
			
		||||
                                               callback_handle);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Thread::CancelWakeupTimer() {
 | 
			
		||||
    kernel.System().CoreTiming().UnscheduleEvent(kernel.ThreadWakeupCallbackEventType(),
 | 
			
		||||
    Core::System::GetInstance().CoreTiming().UnscheduleEvent(kernel.ThreadWakeupCallbackEventType(),
 | 
			
		||||
                                                 callback_handle);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -176,7 +176,7 @@ ResultVal<SharedPtr<Thread>> Thread::Create(KernelCore& kernel, std::string name
 | 
			
		||||
        return ResultCode(-1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    auto& system = kernel.System();
 | 
			
		||||
    auto& system = Core::System::GetInstance();
 | 
			
		||||
    SharedPtr<Thread> thread(new Thread(kernel));
 | 
			
		||||
 | 
			
		||||
    thread->thread_id = kernel.CreateNewThreadID();
 | 
			
		||||
@@ -258,7 +258,7 @@ void Thread::SetStatus(ThreadStatus new_status) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (status == ThreadStatus::Running) {
 | 
			
		||||
        last_running_ticks = kernel.System().CoreTiming().GetTicks();
 | 
			
		||||
        last_running_ticks = Core::System::GetInstance().CoreTiming().GetTicks();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    status = new_status;
 | 
			
		||||
@@ -356,7 +356,7 @@ void Thread::SetActivity(ThreadActivity value) {
 | 
			
		||||
        // Set status if not waiting
 | 
			
		||||
        if (status == ThreadStatus::Ready || status == ThreadStatus::Running) {
 | 
			
		||||
            SetStatus(ThreadStatus::Paused);
 | 
			
		||||
            kernel.System().CpuCore(processor_id).PrepareReschedule();
 | 
			
		||||
            Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule();
 | 
			
		||||
        }
 | 
			
		||||
    } else if (status == ThreadStatus::Paused) {
 | 
			
		||||
        // Ready to reschedule
 | 
			
		||||
@@ -475,7 +475,7 @@ void Thread::AdjustSchedulingOnPriority(u32 old_priority) {
 | 
			
		||||
    if (GetSchedulingStatus() != ThreadSchedStatus::Runnable) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    auto& scheduler = kernel.System().GlobalScheduler();
 | 
			
		||||
    auto& scheduler = Core::System::GetInstance().GlobalScheduler();
 | 
			
		||||
    if (processor_id >= 0) {
 | 
			
		||||
        scheduler.Unschedule(old_priority, processor_id, this);
 | 
			
		||||
    }
 | 
			
		||||
@@ -507,7 +507,7 @@ void Thread::AdjustSchedulingOnPriority(u32 old_priority) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Thread::AdjustSchedulingOnAffinity(u64 old_affinity_mask, s32 old_core) {
 | 
			
		||||
    auto& scheduler = kernel.System().GlobalScheduler();
 | 
			
		||||
    auto& scheduler = Core::System::GetInstance().GlobalScheduler();
 | 
			
		||||
    if (GetSchedulingStatus() != ThreadSchedStatus::Runnable ||
 | 
			
		||||
        current_priority >= THREADPRIO_COUNT) {
 | 
			
		||||
        return;
 | 
			
		||||
 
 | 
			
		||||
@@ -95,7 +95,7 @@ void WaitObject::WakeupWaitingThread(SharedPtr<Thread> thread) {
 | 
			
		||||
    }
 | 
			
		||||
    if (resume) {
 | 
			
		||||
        thread->ResumeFromWait();
 | 
			
		||||
        kernel.System().PrepareReschedule(thread->GetProcessorID());
 | 
			
		||||
        Core::System::GetInstance().PrepareReschedule(thread->GetProcessorID());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user