summaryrefslogtreecommitdiff
path: root/man/10/inb
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 20:52:35 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 20:52:35 +0000
commit46439007cf417cbd9ac8049bb4122c890097a0fa (patch)
tree6fdb25e5f3a2b6d5657eb23b35774b631d4d97e4 /man/10/inb
parent37da2899f40661e3e9631e497da8dc59b971cbd0 (diff)
20060303-partial
Diffstat (limited to 'man/10/inb')
-rw-r--r--man/10/inb84
1 files changed, 84 insertions, 0 deletions
diff --git a/man/10/inb b/man/10/inb
new file mode 100644
index 00000000..5e30d496
--- /dev/null
+++ b/man/10/inb
@@ -0,0 +1,84 @@
+.TH INB 10.2 x86
+.SH NAME
+inb, ins, inl, outb, outs, outl, insb, inss, insl, outsb, outss, outsl \- programmed I/O
+.SH SYNOPSIS
+.ta \w'\fLushort 'u
+.B
+int inb(int port)
+.PP
+.B
+ushort ins(int port)
+.PP
+.B
+ulong inl(int port)
+.PP
+.B
+void outb(int port, int value)
+.PP
+.B
+void outs(int port, ushort value)
+.PP
+.B
+void outl(int port, ulong value)
+.PP
+.B
+void insb(int port, void *address, int count)
+.PP
+.B
+void inss(int port, void *address, int count)
+.PP
+.B
+void insl(int port, void *address, int count)
+.PP
+.B
+void outsb(int port, void *address, int count)
+.PP
+.B
+void outss(int port, void *address, int count)
+.PP
+.B
+void outsl(int port, void *address, int count)
+.SH DESCRIPTION
+The
+.I x86
+implementation provides functions to allow kernel code
+written in C to access the I/O address space.
+On several other architectures such as the PowerPC and Strongarm,
+the platform-dependent code provides similar functions to access
+devices with an I/O space interface, even when that is memory mapped, to encourage portability of device drivers.
+.PP
+.IR Inb ,
+.I ins
+and
+.I inl
+apply the corresponding hardware instruction to fetch the next byte, short or long
+from the I/O
+.IR port .
+.IR Outb ,
+.I outs
+and
+.I outl
+output a
+.I value
+to the I/O
+.IR port .
+.PP
+The remaining functions transfer
+.I count
+bytes, shorts, or longs using programmed I/O between a memory
+.I address
+and
+.IR port .
+Functions
+.BI ins x
+copy values into memory; functions
+.BI outs x
+copy values from memory.
+The
+.I count
+is in elements, not bytes.
+.SH SOURCE
+.B /os/pc/l.s
+.SH SEE ALSO
+.IR dma (10.2),
+.IR isaconfig (10.2)