Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/testing/selftests/kvm/include/arm64/delay.h
48948 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* ARM simple delay routines
4
*/
5
6
#ifndef SELFTEST_KVM_ARM_DELAY_H
7
#define SELFTEST_KVM_ARM_DELAY_H
8
9
#include "arch_timer.h"
10
11
static 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
20
static inline void udelay(unsigned long usec)
21
{
22
__delay(usec_to_cycles(usec));
23
}
24
25
#endif /* SELFTEST_KVM_ARM_DELAY_H */
26
27