From afb8a677f18a42374d758fabe85ea6b325c2e2cc Mon Sep 17 00:00:00 2001 From: Stas Date: Mon, 7 Dec 2020 12:55:10 +0100 Subject: [PATCH] check first XSPN result value in FW, add gcc_except_table, replace self-made printf with one from the lib. --- raven_spn/Makefile | 1 - .../bsp/env/freedom-e300-hifive1/flash.lds | 5 + raven_spn/raven_spn | Bin 387132 -> 373648 bytes raven_spn/src/raven_spn.cpp | 18 +- raven_spn/src/wrap_printf.c | 271 ------------------ 5 files changed, 19 insertions(+), 276 deletions(-) delete mode 100644 raven_spn/src/wrap_printf.c diff --git a/raven_spn/Makefile b/raven_spn/Makefile index 73aae66..ad85959 100644 --- a/raven_spn/Makefile +++ b/raven_spn/Makefile @@ -5,7 +5,6 @@ CXX_SRCS = $(wildcard src/*.cpp) HEADERS = $(wildcard src/*.h) CFLAGS = -g -fno-builtin-printf -DUSE_PLIC -I./src CXXFLAGS = -fno-use-cxa-atexit -LDFLAGS = -Wl,--wrap=printf LDFLAGS += -g -lstdc++ -fno-use-cxa-atexit -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) -mcmodel=medany diff --git a/raven_spn/bsp/env/freedom-e300-hifive1/flash.lds b/raven_spn/bsp/env/freedom-e300-hifive1/flash.lds index feb893b..22f90c6 100644 --- a/raven_spn/bsp/env/freedom-e300-hifive1/flash.lds +++ b/raven_spn/bsp/env/freedom-e300-hifive1/flash.lds @@ -104,6 +104,11 @@ SECTIONS KEEP (*(.dtors)) } >flash AT>flash :flash + .except : + { + *(.gcc_except_table.*) + } >flash AT>flash :flash + .lalign : { . = ALIGN(4); diff --git a/raven_spn/raven_spn b/raven_spn/raven_spn index 033ff1d1274f35e38d03499ef43c55741dffeca7..5136c7e430db866112dc1e889aaec923942b6d6d 100755 GIT binary patch delta 136114 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 diff --git a/raven_spn/src/raven_spn.cpp b/raven_spn/src/raven_spn.cpp index 9b4ea08..625637d 100644 --- a/raven_spn/src/raven_spn.cpp +++ b/raven_spn/src/raven_spn.cpp @@ -78,6 +78,12 @@ void platform_init(){ set_csr(mie, MIP_MEIP); } +bool double_equals(double a, double b, double epsilon = 0.001) +{ + return std::abs(a - b) < epsilon; +} + + /*! \brief main function * */ @@ -125,10 +131,14 @@ int main() { delayUS(10); // read calculation results from the memory - int result = *mem_base; - printf("HW Result:0x%lx\n", result); - result = *(mem_base+1); - printf("HW Result:0x%lx\n", result); + double * res_base = (double*)mem_base; + + if (double_equals(res_base[0], -3.5530456851)) { + printf("XSPN reference value comparison PASSED\n"); + } else { + printf("XSPN reference value comparison FAILED\n"); + return 1; + } printf("End of execution"); diff --git a/raven_spn/src/wrap_printf.c b/raven_spn/src/wrap_printf.c deleted file mode 100644 index af23b1a..0000000 --- a/raven_spn/src/wrap_printf.c +++ /dev/null @@ -1,271 +0,0 @@ -/* The functions in this file are only meant to support Dhrystone on an - * embedded RV32 system and are obviously incorrect in general. */ - -#include -#include -#include -#include -#include -#include - -#undef putchar -int putchar(int ch) -{ - return write(STDOUT_FILENO, &ch, 1) == 1 ? ch : -1; -} - -static void sprintf_putch(int ch, void** data) -{ - char** pstr = (char**)data; - **pstr = ch; - (*pstr)++; -} - -static unsigned long getuint(va_list *ap, int lflag) -{ - if (lflag) - return va_arg(*ap, unsigned long); - else - return va_arg(*ap, unsigned int); -} - -static long getint(va_list *ap, int lflag) -{ - if (lflag) - return va_arg(*ap, long); - else - return va_arg(*ap, int); -} - -static inline void printnum(void (*putch)(int, void**), void **putdat, - unsigned long num, unsigned base, int width, int padc) -{ - unsigned digs[sizeof(num)*8]; - int pos = 0; - - while (1) - { - digs[pos++] = num % base; - if (num < base) - break; - num /= base; - } - - while (width-- > pos) - putch(padc, putdat); - - while (pos-- > 0) - putch(digs[pos] + (digs[pos] >= 10 ? 'a' - 10 : '0'), putdat); -} - -static inline void print_double(void (*putch)(int, void**), void **putdat, - double num, int width, int prec) -{ - union { - double d; - uint64_t u; - } u; - u.d = num; - - if (u.u & (1ULL << 63)) { - putch('-', putdat); - u.u &= ~(1ULL << 63); - } - - for (int i = 0; i < prec; i++) - u.d *= 10; - - char buf[32], *pbuf = buf; - printnum(sprintf_putch, (void**)&pbuf, (unsigned long)u.d, 10, 0, 0); - if (prec > 0) { - for (int i = 0; i < prec; i++) { - pbuf[-i] = pbuf[-i-1]; - } - pbuf[-prec] = '.'; - pbuf++; - } - - for (char* p = buf; p < pbuf; p++) - putch(*p, putdat); -} - -static void vprintfmt(void (*putch)(int, void**), void **putdat, const char *fmt, va_list ap) -{ - register const char* p; - const char* last_fmt; - register int ch, err; - unsigned long num; - int base, lflag, width, precision, altflag; - char padc; - - while (1) { - while ((ch = *(unsigned char *) fmt) != '%') { - if (ch == '\0') - return; - fmt++; - putch(ch, putdat); - } - fmt++; - - // Process a %-escape sequence - last_fmt = fmt; - padc = ' '; - width = -1; - precision = -1; - lflag = 0; - altflag = 0; - reswitch: - switch (ch = *(unsigned char *) fmt++) { - - // flag to pad on the right - case '-': - padc = '-'; - goto reswitch; - - // flag to pad with 0's instead of spaces - case '0': - padc = '0'; - goto reswitch; - - // width field - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - for (precision = 0; ; ++fmt) { - precision = precision * 10 + ch - '0'; - ch = *fmt; - if (ch < '0' || ch > '9') - break; - } - goto process_precision; - - case '*': - precision = va_arg(ap, int); - goto process_precision; - - case '.': - if (width < 0) - width = 0; - goto reswitch; - - case '#': - altflag = 1; - goto reswitch; - - process_precision: - if (width < 0) - width = precision, precision = -1; - goto reswitch; - - // long flag - case 'l': - if (lflag) - goto bad; - goto reswitch; - - // character - case 'c': - putch(va_arg(ap, int), putdat); - break; - - // double - case 'f': - print_double(putch, putdat, va_arg(ap, double), width, precision); - break; - - // string - case 's': - if ((p = va_arg(ap, char *)) == NULL) - p = "(null)"; - if (width > 0 && padc != '-') - for (width -= strnlen(p, precision); width > 0; width--) - putch(padc, putdat); - for (; (ch = *p) != '\0' && (precision < 0 || --precision >= 0); width--) { - putch(ch, putdat); - p++; - } - for (; width > 0; width--) - putch(' ', putdat); - break; - - // (signed) decimal - case 'd': - num = getint(&ap, lflag); - if ((long) num < 0) { - putch('-', putdat); - num = -(long) num; - } - base = 10; - goto signed_number; - - // unsigned decimal - case 'u': - base = 10; - goto unsigned_number; - - // (unsigned) octal - case 'o': - // should do something with padding so it's always 3 octits - base = 8; - goto unsigned_number; - - // pointer - case 'p': - lflag = 1; - putch('0', putdat); - putch('x', putdat); - /* fall through to 'x' */ - - // (unsigned) hexadecimal - case 'x': - base = 16; - unsigned_number: - num = getuint(&ap, lflag); - signed_number: - printnum(putch, putdat, num, base, width, padc); - break; - - // escaped '%' character - case '%': - putch(ch, putdat); - break; - - // unrecognized escape sequence - just print it literally - default: - bad: - putch('%', putdat); - fmt = last_fmt; - break; - } - } -} - -int __wrap_printf(const char* fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - - vprintfmt((void*)putchar, 0, fmt, ap); - - va_end(ap); - return 0; // incorrect return value, but who cares, anyway? -} - -int __wrap_sprintf(char* str, const char* fmt, ...) -{ - va_list ap; - char* str0 = str; - va_start(ap, fmt); - - vprintfmt(sprintf_putch, (void**)&str, fmt, ap); - *str = 0; - - va_end(ap); - return str - str0; -}