Nice for testing purposes.

Signed-off-by: Juergen Kilb <[email protected]>
---
 commands/stddev.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/commands/stddev.c b/commands/stddev.c
index 098aea8..b807df6 100644
--- a/commands/stddev.c
+++ b/commands/stddev.c
@@ -20,7 +20,9 @@
  */
 
 #include <common.h>
+#include <clock.h>
 #include <init.h>
+#include <stdlib.h>
 
 static ssize_t zero_read(struct cdev *cdev, void *buf, size_t count, loff_t 
offset, ulong flags)
 {
@@ -104,3 +106,40 @@ static int null_init(void)
 }
 
 device_initcall(null_init);
+
+static ssize_t urandom_read(struct cdev *cdev, void *buf, size_t count, loff_t 
offset, ulong flags)
+{
+       size_t i;
+       unsigned int *buffer;
+
+       buffer = (unsigned int *) buf;
+
+       for (i = 0; i < (count / sizeof(size_t)); i++)
+               buffer[i] = rand() | rand() << 16;
+
+       return count;
+}
+
+static struct file_operations urandomops = {
+       .read  = urandom_read,
+       .lseek = dev_lseek_default,
+};
+
+static int urandom_init(void)
+{
+       struct cdev *cdev;
+
+       cdev = xzalloc(sizeof(*cdev));
+
+       cdev->name = "urandom";
+       cdev->size = ~0;
+       cdev->ops = &urandomops;
+
+       devfs_create(cdev);
+
+       srand(get_time_ns());
+
+       return 0;
+}
+
+device_initcall(urandom_init);
-- 
1.7.0.4


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to