From 022dfd0f42962da6c60fbeb5604e1455a07eaaa6 Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Thu, 20 Jan 2022 16:28:18 -0700 Subject: Added System Timer Hook --- include/symbols.h | 25 +++++++++++++++++++++++++ include/util/time.h | 1 + 2 files changed, 26 insertions(+) (limited to 'include') diff --git a/include/symbols.h b/include/symbols.h index 4f4bb28..8c41c86 100644 --- a/include/symbols.h +++ b/include/symbols.h @@ -81,8 +81,33 @@ enum GPU_INTERRUPTS_ROUTING = 0x4000000C, CORE0_TIMER_IRQCNTL = 0x40000040, + CORE1_TIMER_IRQCNTL = 0x40000044, + CORE2_TIMER_IRQCNTL = 0x40000048, + CORE3_TIMER_IRQCNTL = 0x4000004c, + CORE0_MBOX_IRQCNTL = 0x40000050, + CORE1_MBOX_IRQCNTL = 0x40000054, + CORE2_MBOX_IRQCNTL = 0x40000058, + CORE3_MBOX_IRQCNTL = 0x4000005c, CORE0_IRQ_SOURCE = 0x40000060, + CORE1_IRQ_SOURCE = 0x40000064, + CORE2_IRQ_SOURCE = 0x40000068, + CORE3_IRQ_SOURCE = 0x4000006c, CORE0_FIQ_SOURCE = 0x40000070, + CORE1_FIQ_SOURCE = 0x40000074, + CORE2_FIQ_SOURCE = 0x40000078, + CORE3_FIQ_SOURCE = 0x4000007c, + + SYS_TIMER_CS = (MMIO_BASE + 0x3000), + SYS_TIMER_CHI = (MMIO_BASE + 0x3004), + SYS_TIMER_CLO = (MMIO_BASE + 0x3008), + SYS_TIMER_C0 = (MMIO_BASE + 0x300c), + SYS_TIMER_C1 = (MMIO_BASE + 0x3010), + SYS_TIMER_C2 = (MMIO_BASE + 0x3014), + SYS_TIMER_C3 = (MMIO_BASE + 0x3018), + SYS_TIMER_SC_M0 = (1 << 0), + SYS_TIMER_SC_M1 = (1 << 1), + SYS_TIMER_SC_M2 = (1 << 2), + SYS_TIMER_SC_M3 = (1 << 3), /* Power Management, Reset controller and Watchdog registers */ //BCM2835_PERI_BASE = 0x3F000000, diff --git a/include/util/time.h b/include/util/time.h index f73314f..dc51e00 100644 --- a/include/util/time.h +++ b/include/util/time.h @@ -9,6 +9,7 @@ unsigned long long read_cntvoff(void); unsigned long read_cntv_tval(void); void write_cntv_tval(unsigned long val); unsigned long read_cntfrq(void); +unsigned long long get_time(void); static inline void enablecntv(void) { -- cgit v1.2.1