summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
Diffstat (limited to 'commands')
-rw-r--r--commands/mem.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/commands/mem.c b/commands/mem.c
index ee09ed0303..2f91ff3cea 100644
--- a/commands/mem.c
+++ b/commands/mem.c
@@ -576,3 +576,31 @@ static int mem_init(void)
device_initcall(mem_init);
+static ssize_t zero_read(struct cdev *cdev, void *buf, size_t count, ulong offset, ulong flags)
+{
+ memset(buf, 0, count);
+ return count;
+}
+
+static struct file_operations zeroops = {
+ .read = zero_read,
+ .lseek = dev_lseek_default,
+};
+
+static int zero_init(void)
+{
+ struct cdev *cdev;
+
+ cdev = xzalloc(sizeof (*cdev));
+
+ cdev->name = "zero";
+ cdev->size = ~0;
+ cdev->ops = &zeroops;
+
+ devfs_create(cdev);
+
+ return 0;
+}
+
+device_initcall(zero_init);
+