summaryrefslogtreecommitdiff
path: root/kernel/lib/kspin.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--kernel/lib/kspin.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/lib/kspin.c b/kernel/lib/kspin.c
new file mode 100644
index 0000000..ad0b512
--- /dev/null
+++ b/kernel/lib/kspin.c
@@ -0,0 +1,15 @@
+#include <lib.h>
+#include <comus/drivers/pit.h>
+#include <comus/asm.h>
+
+void kspin_seconds(size_t seconds)
+{
+ kspin_milliseconds(seconds * 1000);
+}
+
+void kspin_milliseconds(size_t milliseconds)
+{
+ uint64_t start = ticks;
+ while ((ticks - start) < milliseconds)
+ int_wait();
+}