diff --git a/kernel/include/kernel/PIT.h b/kernel/include/kernel/PIT.h index 8999099f..0befacd9 100644 --- a/kernel/include/kernel/PIT.h +++ b/kernel/include/kernel/PIT.h @@ -8,7 +8,7 @@ namespace PIT { uint64_t ms_since_boot(); - void initialize(); + void sleep(uint64_t); } \ No newline at end of file diff --git a/kernel/kernel/PIT.cpp b/kernel/kernel/PIT.cpp index cc16b7d4..cf20b9df 100644 --- a/kernel/kernel/PIT.cpp +++ b/kernel/kernel/PIT.cpp @@ -50,4 +50,11 @@ namespace PIT InterruptController::get().enable_irq(PIT_IRQ); } + void sleep(uint64_t ms) + { + uint64_t end = s_system_time + ms; + while (s_system_time < end) + asm volatile("hlt"); + } + }