summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-11-10 00:35:07 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-11-10 00:35:07 +0100
commit95dbc72801b507b9c2c42444347b98872576244a (patch)
tree5d8023fd33266c448aff9fa20a1bae340a183ca7
parentee05bbccbce695f51f67ac2f376d93779ce69224 (diff)
io: add -E flag to access embedded controller space
-rw-r--r--sys/man/1/io8
-rw-r--r--sys/src/cmd/io.c3
2 files changed, 8 insertions, 3 deletions
diff --git a/sys/man/1/io b/sys/man/1/io
index e96a60be0..5dea3ee49 100644
--- a/sys/man/1/io
+++ b/sys/man/1/io
@@ -4,7 +4,7 @@ io \- access PC I/O registers
.SH SYNOPSIS
.B io
[
-.B -WLMrw
+.B -WLMErw
]
.I address
[
@@ -38,7 +38,11 @@ Perform a long / double word (32 bit) operation.
.TP
.B -M
Access a 64 bit wide machine specific register (MSR).
+.TP
+.B -E
+Access embedded controller space.
.SH SOURCE
.B /sys/src/cmd/io.c
.SH SEE ALSO
-.IR seg (1)
+.IR seg (1),
+.IR arch (3)
diff --git a/sys/src/cmd/io.c b/sys/src/cmd/io.c
index 7670de728..5b1fafa9c 100644
--- a/sys/src/cmd/io.c
+++ b/sys/src/cmd/io.c
@@ -1,7 +1,7 @@
#include <u.h>
#include <libc.h>
-const char const * datac[] = {0,"#P/iob","#P/iow",0,"#P/iol",0,0,0,"#P/msr"};
+char *datac[] = {0,"#P/iob","#P/iow",0,"#P/iol",0,0,0,"#P/msr"};
void
main(int argc, char** argv) {
@@ -17,6 +17,7 @@ main(int argc, char** argv) {
case 'W': size = 2; break;
case 'L': size = 4; break;
case 'M': size = 8; break;
+ case 'E': datac[1] = datac[2] = datac[4] = datac[8] = "#P/ec"; break;
case 'r': op = OREAD; break;
case 'w': op = OWRITE; break;
default: sysfatal("bad flag %c", ARGC());