blob: d384bf1c3009b0ae003e4fc7cc3a3dc534048209 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include "platform.h"
/* The functions in this file are only meant to support Dhrystone on an
* embedded RV32 system and are obviously incorrect in general. */
// return the cycle counter as though it were the current time
long time(void)
{
long t;
asm volatile ("csrr %0, mcycle" : "=r" (t));
return t / (get_cpu_freq() / 1000);
}
// set the number of dhrystone iterations
void scanf(const char* fmt, int* n)
{
*n = 1500000;
}
// simple memory allocator
void* malloc(unsigned long sz)
{
extern void* sbrk(long);
void* res = sbrk(sz);
if ((long)res == -1)
return 0;
return res;
}
// simple memory deallocator
void free(void* ptr) {}
|