From bee85df4c672ed13af57491d487654b880f4a140 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 25 Jul 2025 18:34:57 +0900 Subject: [PATCH] benchmark.c: Add a mbedtls_timing_hardclock variation with xtensa CCOUNT Signed-off-by: YAMAMOTO Takashi --- programs/test/benchmark.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c index 98ddd48534e6..29bb1cfb7dbb 100644 --- a/programs/test/benchmark.c +++ b/programs/test/benchmark.c @@ -363,6 +363,20 @@ static unsigned long mbedtls_timing_hardclock(void) #endif /* !HAVE_HARDCLOCK && MBEDTLS_HAVE_ASM && __GNUC__ && __ia64__ */ +#if !defined(HAVE_HARDCLOCK) && defined(MBEDTLS_HAVE_ASM) && \ + defined(__GNUC__) && defined(__xtensa__) + +#define HAVE_HARDCLOCK + +static unsigned long mbedtls_timing_hardclock(void) +{ + unsigned int ccount; + asm volatile ("rsr %0, ccount" : "=r" (ccount)); + return ccount; +} +#endif /* !HAVE_HARDCLOCK && MBEDTLS_HAVE_ASM && + __GNUC__ && __xtensa__ */ + #if !defined(HAVE_HARDCLOCK) && defined(_WIN32) && \ !defined(EFIX64) && !defined(EFI32)