26 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * ARM simple delay routines4 */5 6#ifndef SELFTEST_KVM_ARM_DELAY_H7#define SELFTEST_KVM_ARM_DELAY_H8 9#include "arch_timer.h"10 11static inline void __delay(uint64_t cycles)12{13 enum arch_timer timer = VIRTUAL;14 uint64_t start = timer_get_cntct(timer);15 16 while ((timer_get_cntct(timer) - start) < cycles)17 cpu_relax();18}19 20static inline void udelay(unsigned long usec)21{22 __delay(usec_to_cycles(usec));23}24 25#endif /* SELFTEST_KVM_ARM_DELAY_H */26