ref: 6ca93675ed11b7eb2615a4e5d005bfc18496d32a
parent: 0159ee648e182cb6617596bf4f3ff45bf632610b
author: aiju <devnull@localhost>
date: Fri Apr 15 17:47:11 EDT 2011
added /dev/mordor
--- a/sys/man/3/arch
+++ b/sys/man/3/arch
@@ -12,6 +12,7 @@
.B /dev/iol
.B /dev/iow
.B /dev/irqalloc
+.B /dev/mordor
.SH DESCRIPTION
This device presents textual information about PC hardware and allows
user-level control of the I/O ports on x86-class and DEC Alpha machines.
@@ -121,6 +122,10 @@
I/O ports.
The port accessed is determined by the byte offset of the
file descriptor.
+.PP
+Reads and writes to
+.IR mordor
+will inevitably cause the front to fall off.
.SH EXAMPLE
The following code reads from an x86 byte I/O port.
.IP
--- a/sys/src/9/pc/devarch.c
+++ b/sys/src/9/pc/devarch.c
@@ -987,6 +987,20 @@
return n;
}
+static long
+mordorread(Chan*, void*, long, vlong)
+{
+ error("one does not simply read from mordor");
+ return 0;
+}
+
+static long
+mordorwrite(Chan*, void*, long, vlong)
+{
+ error("one does not simply write into mordor");
+ return 0;
+}
+
void
archinit(void)
{
@@ -1035,6 +1049,7 @@
addarchfile("cputype", 0444, cputyperead, nil);
addarchfile("archctl", 0664, archctlread, archctlwrite);
+ addarchfile("mordor", 0666, mordorread, mordorwrite);
}
/*