1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 00:17:46 +00:00

Kernel: Simplify the way we pass HardwareTimers around a bit

Instead of passing around indices into the m_hardware_timers vector,
just pass around a HardwareTimer* instead.
This commit is contained in:
Andreas Kling 2020-04-16 18:04:31 +02:00
parent b0b204822f
commit 44d58b85ef
2 changed files with 44 additions and 58 deletions

View file

@ -27,10 +27,8 @@
#pragma once
#include <AK/FixedArray.h>
#include <AK/Optional.h>
#include <AK/OwnPtr.h>
#include <AK/RefPtr.h>
#include <AK/Types.h>
#include <AK/WeakPtr.h>
#include <Kernel/UnixTypes.h>
namespace Kernel {
@ -38,7 +36,10 @@ namespace Kernel {
#define OPTIMAL_TICKS_PER_SECOND_RATE 1000
class HardwareTimer;
class TimeManagement {
AK_MAKE_ETERNAL;
public:
static bool initialized();
static void initialize();
@ -66,9 +67,9 @@ private:
explicit TimeManagement(bool probe_non_legacy_hardware_timers);
bool probe_and_set_legacy_hardware_timers();
bool probe_and_set_non_legacy_hardware_timers();
Vector<size_t> scan_and_initialize_periodic_timers();
Vector<size_t> scan_for_non_periodic_timers();
FixedArray<RefPtr<HardwareTimer>> m_hardware_timers { 2 };
Vector<HardwareTimer*> scan_and_initialize_periodic_timers();
Vector<HardwareTimer*> scan_for_non_periodic_timers();
Vector<RefPtr<HardwareTimer>> m_hardware_timers;
u32 m_ticks_this_second { 0 };
u32 m_seconds_since_boot { 0 };