20 #include "pedigree/kernel/machine/SchedulerTimer.h" 21 #include "pedigree/kernel/machine/Timer.h" 22 #include "pedigree/kernel/processor/InterruptManager.h" 23 #include "pedigree/kernel/processor/MemoryRegion.h" 24 #include "pedigree/kernel/utilities/List.h" 26 #define MAX_TIMER_HANDLERS 32 42 void initialise(uintptr_t base);
44 uint32_t getTickCount();
59 : m_MmioBase(
"GPTimer"), m_bIrqInstalled(false), m_Irq(0), m_Handlers(),
60 m_Alarms(), m_TickCount(0)
62 for (
int i = 0; i < MAX_TIMER_HANDLERS; i++)
71 void initialise(
size_t timer, uintptr_t base);
127 return g_SyncTimer.getTickCount();
138 addAlarm(
class Event *pEvent,
size_t alarmSecs,
size_t alarmUsecs = 0);
141 virtual void removeAlarm(
class Event *pEvent);
147 virtual size_t removeAlarm(
class Event *pEvent,
bool bRetZero);
157 virtual void interrupt(
size_t nInterruptnumber, InterruptState &state);
179 : m_pEvent(pEvent), m_Time(time), m_pThread(pThread)
182 class Event *m_pEvent;
201 TIOCP_CFG = 0x10 / 4,
virtual uint8_t getMonth()
virtual uint8_t getDayOfWeek()
Special memory entity in the kernel's virtual address space.
virtual uint64_t getTickCount()
virtual uint8_t getDayOfMonth()
Abstract base class for interrupt-handlers.
virtual uint64_t getNanosecond()
virtual uint8_t getMinute()
Thread & operator=(const Thread &)
virtual uint8_t getHour()
virtual uint8_t getSecond()