1 // © 2021 Qualcomm Innovation Center, Inc. All rights reserved. 2 // 3 // SPDX-License-Identifier: BSD-3-Clause 4 5 void 6 arm_vm_timer_init(arm_vm_timer_type_t tt); 7 8 bool 9 arm_vm_timer_get_is_expired(arm_vm_timer_type_t tt); 10 11 bool 12 arm_vm_timer_is_irq_enabled(arm_vm_timer_type_t tt); 13 14 bool 15 arm_vm_timer_is_irq_pending(arm_vm_timer_type_t tt); 16 17 void 18 arm_vm_timer_load_state(thread_t *thread); 19 20 void 21 arm_vm_timer_cancel_timeout(arm_vm_timer_type_t tt); 22 23 uint32_t 24 arm_vm_timer_get_freqeuncy(void); 25 26 ticks_t 27 arm_vm_timer_get_ticks(void); 28 29 ticks_t 30 arm_vm_timer_get_timeout(arm_vm_timer_type_t tt); 31 32 // Checks the timer control register in a thread's saved context. 33 // Returns true if the timer is enabled and its interrupt is not masked. 34 bool 35 arm_vm_timer_is_irq_enabled_thread(thread_t *thread, arm_vm_timer_type_t tt); 36 37 ticks_t 38 arm_vm_timer_get_timeout_thread(thread_t *thread, arm_vm_timer_type_t tt); 39 40 void 41 arm_vm_timer_arch_timer_hw_irq_activated(arm_vm_timer_type_t tt) 42 REQUIRE_PREEMPT_DISABLED; 43 44 void 45 arm_vm_timer_arch_timer_hw_irq_deactivate(arm_vm_timer_type_t tt) 46 REQUIRE_PREEMPT_DISABLED; 47