Fixes for building with bare-metal on Xilinx SDK with zynqmp. Added Zynqmp benchmark timer support.

This commit is contained in:
David Garske
2020-03-20 12:22:47 -07:00
parent bcc720ef68
commit 3127a7e9e5
4 changed files with 25 additions and 3 deletions

View File

@@ -5979,6 +5979,28 @@ exit_ed_verify:
(void)reset;
return (double) tx_time_get() / TX_TIMER_TICKS_PER_SECOND;
}
#elif defined(WOLFSSL_XILINX)
#ifndef XPAR_CPU_CORTEXA53_0_TIMESTAMP_CLK_FREQ
#define XPAR_CPU_CORTEXA53_0_TIMESTAMP_CLK_FREQ 50000000
#endif
#ifndef COUNTS_PER_SECOND
#define COUNTS_PER_SECOND XPAR_CPU_CORTEXA53_0_TIMESTAMP_CLK_FREQ
#endif
double current_time(int reset)
{
double timer;
uint64_t cntPct = 0;
asm volatile("mrs %0, CNTPCT_EL0" : "=r" (cntPct));
/* Convert to milliseconds */
timer = (double)(cntPct / (COUNTS_PER_SECOND / 1000));
/* Convert to seconds.millisecond */
timer /= 1000;
return timer;
}
#else
#include <sys/time.h>

View File

@@ -37,7 +37,7 @@
#include <wolfssl/wolfcrypt/settings.h>
#ifdef HAVE_CHACHA
#if defined(HAVE_CHACHA) && !defined(WOLFSSL_ARMASM)
#include <wolfssl/wolfcrypt/chacha.h>
#include <wolfssl/wolfcrypt/error-crypt.h>

View File

@@ -26,7 +26,7 @@
#include <wolfssl/wolfcrypt/settings.h>
#if defined(WOLFSSL_SHA512) || defined(WOLFSSL_SHA384)
#if (defined(WOLFSSL_SHA512) || defined(WOLFSSL_SHA384)) && !defined(WOLFSSL_ARMASM)
#if defined(HAVE_FIPS) && \
defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)

View File

@@ -527,7 +527,7 @@ WOLFSSL_API int wolfCrypt_Cleanup(void);
#endif
#define NEED_TMP_TIME
#elif defined(WOLFSSL_XILINX) && defined(FREERTOS)
#elif defined(WOLFSSL_XILINX)
#define USER_TIME
#include <time.h>