|
@@ -58,6 +58,7 @@ public:
|
|
|
virtual void set_periodic() = 0;
|
|
|
virtual void set_non_periodic() = 0;
|
|
|
virtual void disable() = 0;
|
|
|
+ virtual u32 frequency() const = 0;
|
|
|
|
|
|
virtual size_t ticks_per_second() const = 0;
|
|
|
|
|
@@ -88,6 +89,8 @@ public:
|
|
|
return previous_callback;
|
|
|
}
|
|
|
|
|
|
+ virtual u32 frequency() const override { return (u32)m_frequency; }
|
|
|
+
|
|
|
protected:
|
|
|
HardwareTimer(u8 irq_number, Function<void(const RegisterState&)> callback = nullptr)
|
|
|
: IRQHandler(irq_number)
|
|
@@ -131,6 +134,8 @@ public:
|
|
|
virtual const char* controller() const override { return nullptr; }
|
|
|
virtual bool eoi() override;
|
|
|
|
|
|
+ virtual u32 frequency() const override { return (u32)m_frequency; }
|
|
|
+
|
|
|
protected:
|
|
|
HardwareTimer(u8 irq_number, Function<void(const RegisterState&)> callback = nullptr)
|
|
|
: GenericInterruptHandler(irq_number)
|