mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 18:42:43 +00:00 
			
		
		
		
	Kernel: Implement TimeManagement for aarch64
This sets up the RPi::Timer to trigger an interurpt every 4ms using one of the comparators. The actual time is calculated by looking at the main counter of the RPi::Timer using the Timer::update_time function. A stub for Scheduler::timer_tick is also added, since the TimeManagement code now calls the function.
This commit is contained in:
		
							parent
							
								
									83b95c135e
								
							
						
					
					
						commit
						01a14ac7af
					
				
					 4 changed files with 85 additions and 4 deletions
				
			
		|  | @ -15,12 +15,19 @@ | |||
| #include <Kernel/PhysicalAddress.h> | ||||
| #include <Kernel/Process.h> | ||||
| #include <Kernel/Random.h> | ||||
| #include <Kernel/Scheduler.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <Kernel/UserOrKernelBuffer.h> | ||||
| 
 | ||||
| // Scheduler
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
| void Scheduler::timer_tick(RegisterState const&) { | ||||
|     // NOTE: This function currently will be called by the TimeManagement code,
 | ||||
|     //       so there is no TODO_AARCH64. Instead there will be a linker error when
 | ||||
|     //       the Scheduler code is compiled for aarch64.
 | ||||
| }; | ||||
| 
 | ||||
| READONLY_AFTER_INIT Thread* g_finalizer; | ||||
| RecursiveSpinlock g_scheduler_lock { LockRank::None }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timon Kruiper
						Timon Kruiper