blob: abf1b5053b789ab79cc0a67c106c96b31855bcb1 [file] [log] [blame]
#define _LARGEFILE64_SOURCE /* needed to use lseek64 */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <parlib/arch/arch.h>
#include <unistd.h>
#include <errno.h>
#include <dirent.h>
#include <stdlib.h>
#include <string.h>
#include <ros/syscall.h>
#include <sys/time.h>
int main(int argc, char *argv[])
{
int fd;
int i;
static uint32_t data[1048576];
struct timeval start_tv = {0};
struct timeval end_tv = {0};
int usecs;
int amt = 4096;
if (argc > 1)
amt = strtol(argv[1], 0, 0);
if (amt > sizeof(data))
printf("max amt to read is %d\n", sizeof(data));
if (amt > sizeof(data))
amt = sizeof(data);
fd = open("#cons/random", 0);
if (fd < 0){
perror("random");
exit(1);
}
if (gettimeofday(&start_tv, 0))
perror("Start time error...");
amt = read(fd, data, amt);
if (amt < 0){
perror("read random");
exit(1);
}
if (gettimeofday(&end_tv, 0))
perror("End time error...");
usecs = (end_tv.tv_sec - start_tv.tv_sec) * 1000000
+ (end_tv.tv_usec - start_tv.tv_usec);
printf("Read %d bytes of random in %d microseconds\n", amt, usecs);
for(i = 0; i < 4; i++)
printf("%08x ", data[i]);
printf("\n");
return 0;
}