diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 03:02:43 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 03:02:43 +0100 |
| commit | 83d870e58457a1d335a1d9b9966a6a1887cc297b (patch) | |
| tree | 72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/kernel/KernelKit/Timer.h | |
| parent | ab37adbacf0f33845804c788b39680cd754752a8 (diff) | |
feat! breaking changes on kernel sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit/Timer.h')
| -rw-r--r-- | dev/kernel/KernelKit/Timer.h | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/dev/kernel/KernelKit/Timer.h b/dev/kernel/KernelKit/Timer.h deleted file mode 100644 index 46db5671..00000000 --- a/dev/kernel/KernelKit/Timer.h +++ /dev/null @@ -1,75 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - -======================================== */ - -#pragma once - -#include <ArchKit/ArchKit.h> -#include <KernelKit/KPC.h> - -namespace Kernel { -class SoftwareTimer; -class TimerInterface; - -inline constexpr Int16 kTimeUnit = 1000; - -class TimerInterface { - public: - /// @brief Default constructor - explicit TimerInterface() = default; - virtual ~TimerInterface() = default; - - public: - NE_COPY_DEFAULT(TimerInterface) - - public: - virtual BOOL Wait() noexcept; -}; - -class SoftwareTimer final : public TimerInterface { - public: - explicit SoftwareTimer(Int64 seconds); - ~SoftwareTimer() override; - - public: - NE_COPY_DEFAULT(SoftwareTimer) - - public: - BOOL Wait() noexcept override; - - private: - UIntPtr* fDigitalTimer{nullptr}; - Int64 fWaitFor{0}; -}; - -class HardwareTimer final : public TimerInterface { - public: - explicit HardwareTimer(UInt64 seconds); - ~HardwareTimer() override; - - public: - NE_COPY_DEFAULT(HardwareTimer) - - public: - BOOL Wait() noexcept override; - - private: - volatile UInt8* fDigitalTimer{nullptr}; - Int64 fWaitFor{0}; -}; - -inline UInt64 rtl_microseconds(UInt64 time) { - if (time < 1) return 0; - - // TODO: nanoseconds maybe? - return time / kTimeUnit; -} - -inline UInt64 rtl_milliseconds(UInt64 time) { - if (time < 1) return 0; - - return time; -} -} // namespace Kernel |
