Index: cpukit/Makefile.am
===================================================================
--- cpukit/Makefile.am	(revision b49648c5a2de4d21f2ffdb1d9d0f0cd0d37b13f1)
+++ cpukit/Makefile.am	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
@@ -141,5 +141,6 @@
 
 ## devnull
-include_rtems_HEADERS += libmisc/devnull/devnull.h
+include_rtems_HEADERS += libmisc/devnull/devnull.h \
+    libmisc/devnull/devzero.h
 
 ## dumpbuf
Index: cpukit/libmisc/Makefile.am
===================================================================
--- cpukit/libmisc/Makefile.am	(revision b49648c5a2de4d21f2ffdb1d9d0f0cd0d37b13f1)
+++ cpukit/libmisc/Makefile.am	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
@@ -31,5 +31,6 @@
 ## devnull
 noinst_LIBRARIES += libdevnull.a
-libdevnull_a_SOURCES = devnull/devnull.c devnull/devnull.h
+libdevnull_a_SOURCES = devnull/devnull.c devnull/devnull.h \
+    devnull/devzero.c devnull/devzero.h
 
 ## dummy
Index: cpukit/libmisc/devnull/devzero.c
===================================================================
--- cpukit/libmisc/devnull/devzero.c	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
+++ cpukit/libmisc/devnull/devzero.c	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/devzero.h>
+
+#include <string.h>
+
+#include <rtems/libio.h>
+
+rtems_device_driver dev_zero_initialize(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor __attribute__((unused)),
+  void *arg __attribute__((unused))
+)
+{
+  return rtems_io_register_name(DEVZERO_DEVICE_NAME, major, 0);
+}
+
+rtems_device_driver dev_zero_open(
+  rtems_device_major_number major __attribute__((unused)),
+  rtems_device_minor_number minor __attribute__((unused)),
+  void *arg __attribute__((unused))
+)
+{
+  return RTEMS_SUCCESSFUL;
+}
+
+rtems_device_driver dev_zero_close(
+  rtems_device_major_number major __attribute__((unused)),
+  rtems_device_minor_number minor __attribute__((unused)),
+  void *arg __attribute__((unused))
+)
+{
+  return RTEMS_SUCCESSFUL;
+}
+
+rtems_device_driver dev_zero_read(
+  rtems_device_major_number major __attribute__((unused)),
+  rtems_device_minor_number minor __attribute__((unused)),
+  void *arg __attribute__((unused))
+)
+{
+  rtems_libio_rw_args_t *rw = arg;
+
+  rw->bytes_moved = rw->count;
+  memset(rw->buffer, 0, rw->count);
+
+  return RTEMS_SUCCESSFUL;
+}
+
+rtems_device_driver dev_zero_write(
+  rtems_device_major_number major __attribute__((unused)),
+  rtems_device_minor_number minor __attribute__((unused)),
+  void *arg
+)
+{
+  rtems_libio_rw_args_t *rw = arg;
+
+  rw->bytes_moved = rw->count;
+
+  return RTEMS_SUCCESSFUL;
+}
+
+rtems_device_driver dev_zero_control(
+  rtems_device_major_number major __attribute__((unused)),
+  rtems_device_minor_number minor __attribute__((unused)),
+  void *arg __attribute__((unused))
+)
+{
+  return RTEMS_IO_ERROR;
+}
Index: cpukit/libmisc/devnull/devzero.h
===================================================================
--- cpukit/libmisc/devnull/devzero.h	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
+++ cpukit/libmisc/devnull/devzero.h	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef _RTEMS_DEVZERO_H
+#define _RTEMS_DEVZERO_H
+
+#include <rtems/io.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define DEVZERO_DEVICE_NAME "/dev/zero"
+
+#define DEVZERO_DRIVER_TABLE_ENTRY \
+  { \
+    dev_zero_initialize, \
+    dev_zero_open, \
+    dev_zero_close, \
+    dev_zero_read, \
+    dev_zero_write, \
+    dev_zero_control \
+  }
+
+rtems_device_driver dev_zero_initialize(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void *arg
+);
+
+rtems_device_driver dev_zero_open(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void *arg
+);
+
+rtems_device_driver dev_zero_close(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void *arg
+);
+
+rtems_device_driver dev_zero_read(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void *arg
+);
+
+rtems_device_driver dev_zero_write(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void *arg
+);
+
+rtems_device_driver dev_zero_control(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void *arg
+);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _RTEMS_DEVZERO_H */
Index: cpukit/preinstall.am
===================================================================
--- cpukit/preinstall.am	(revision b49648c5a2de4d21f2ffdb1d9d0f0cd0d37b13f1)
+++ cpukit/preinstall.am	(revision 158b416c7264d5f67b512c43fa5567e396ba774c)
@@ -310,4 +310,8 @@
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/devnull.h
 
+$(PROJECT_INCLUDE)/rtems/devzero.h: libmisc/devnull/devzero.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/devzero.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/devzero.h
+
 $(PROJECT_INCLUDE)/rtems/dumpbuf.h: libmisc/dumpbuf/dumpbuf.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/dumpbuf.h
