/* * Copyright (c) 2020, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace Kernel { #define OPTIMAL_TICKS_PER_SECOND_RATE 250 class HardwareTimerBase; enum class TimePrecision { Coarse = 0, Precise }; class TimeManagement { AK_MAKE_ETERNAL; public: TimeManagement(); static bool initialized(); static void initialize(u32 cpu); static TimeManagement& the(); static bool is_valid_clock_id(clockid_t); KResultOr