diff --git a/hypervisor/Makefile b/hypervisor/Makefile index 8d5e78511..d724e0960 100644 --- a/hypervisor/Makefile +++ b/hypervisor/Makefile @@ -189,7 +189,6 @@ C_SRCS += arch/x86/guest/vmexit.c S_SRCS += arch/x86/guest/vmx_asm.S C_SRCS += arch/x86/guest/trusty.c C_SRCS += arch/x86/cat.c -C_SRCS += lib/misc.c C_SRCS += lib/string.c C_SRCS += lib/memory.c C_SRCS += lib/crypto/crypto_api.c diff --git a/hypervisor/arch/x86/timer.c b/hypervisor/arch/x86/timer.c index 8330115d9..c212829a9 100644 --- a/hypervisor/arch/x86/timer.c +++ b/hypervisor/arch/x86/timer.c @@ -318,3 +318,16 @@ uint64_t ticks_to_ms(uint64_t ticks) { return ticks / (uint64_t)tsc_khz; } + +void udelay(uint32_t us) +{ + uint64_t dest_tsc, delta_tsc; + + /* Calculate number of ticks to wait */ + delta_tsc = us_to_ticks(us); + dest_tsc = rdtsc() + delta_tsc; + + /* Loop until time expired */ + while (rdtsc() < dest_tsc) { + } +} diff --git a/hypervisor/include/arch/x86/timer.h b/hypervisor/include/arch/x86/timer.h index 80e38658e..71c5af6ac 100644 --- a/hypervisor/include/arch/x86/timer.h +++ b/hypervisor/include/arch/x86/timer.h @@ -49,6 +49,8 @@ struct hv_timer { #define CYCLES_PER_MS us_to_ticks(1000U) +void udelay(uint32_t us); + /** * @brief convert us to ticks. * diff --git a/hypervisor/include/lib/rtl.h b/hypervisor/include/lib/rtl.h index 2d5464f9f..475a6f93b 100644 --- a/hypervisor/include/lib/rtl.h +++ b/hypervisor/include/lib/rtl.h @@ -30,7 +30,6 @@ static inline bool is_space(char c) } /* Function prototypes */ -void udelay(uint32_t us); int32_t strcmp(const char *s1_arg, const char *s2_arg); int32_t strncmp(const char *s1_arg, const char *s2_arg, size_t n_arg); char *strncpy_s(char *d_arg, size_t dmax, const char *s_arg, size_t slen_arg); diff --git a/hypervisor/lib/misc.c b/hypervisor/lib/misc.c deleted file mode 100644 index 26a530bad..000000000 --- a/hypervisor/lib/misc.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (C) 2018 Intel Corporation. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -void udelay(uint32_t us) -{ - uint64_t dest_tsc, delta_tsc; - - /* Calculate number of ticks to wait */ - delta_tsc = us_to_ticks(us); - dest_tsc = rdtsc() + delta_tsc; - - /* Loop until time expired */ - while (rdtsc() < dest_tsc) { - } -}