summaryrefslogtreecommitdiff
path: root/share/man/man9/microseq.9
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man9/microseq.9')
-rw-r--r--share/man/man9/microseq.9118
1 files changed, 0 insertions, 118 deletions
diff --git a/share/man/man9/microseq.9 b/share/man/man9/microseq.9
deleted file mode 100644
index 630f18630089..000000000000
--- a/share/man/man9/microseq.9
+++ /dev/null
@@ -1,118 +0,0 @@
-.\" Copyright (c) 1998, Nicolas Souchu
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\"
-.Dd June 6, 1998
-.Dt MICROSEQ 9
-.Os FreeBSD
-.Sh NAME
-.Nm microseq
-.Nd
-ppbus microseqencer developer's guide
-.Sh SYNOPSIS
-.Fd "#include <dev/ppbus/ppb_msq.h>"
-.Sh DESCRIPTION
-See
-.Xr ppbus 4
-for ppbus description and general info about the microsequencer.
-.Pp
-The purpose of this document is to encourage developers to use the
-microsequencer mechanism in order to have:
-.Bl -enum -offset indent
-.It
-a uniform programming model
-.It
-efficient code
-.El
-.Sh INTERFACE
-.Ss C structures
-.Bd -literal
-union ppb_insarg {
- int i;
- char c;
- void *p;
- int (* f)(void *, char *);
-};
-.Ed
-.Bd -literal
-struct ppb_microseq {
- int opcode; /* microins. opcode */
- union ppb_insarg arg[PPB_MS_MAXARGS]; /* arguments */
-};
-.Ed
-.Ss Using microsequences
-.Pp
-To instanciate a microsequence, just declare an array of ppb_microseq
-structures and initialize it as needed. You may either use defined macros
-or code directly your microinstructions according to the ppb_microseq
-definition. For example,
-.Bd -literal
- struct ppb_microseq select_microseq[] = {
-
- /* parameter list
- */
- #define SELECT_TARGET MS_PARAM(0, 1, MS_TYP_INT)
- #define SELECT_INITIATOR MS_PARAM(3, 1, MS_TYP_INT)
-
- /* send the select command to the drive */
- MS_DASS(MS_UNKNOWN),
- MS_CASS(H_nAUTO | H_nSELIN | H_INIT | H_STROBE),
- MS_CASS( H_AUTO | H_nSELIN | H_INIT | H_STROBE),
- MS_DASS(MS_UNKNOWN),
- MS_CASS( H_AUTO | H_nSELIN | H_nINIT | H_STROBE),
-
- /* now, wait until the drive is ready */
- MS_SET(VP0_SELTMO),
-/* loop: */ MS_BRSET(H_ACK, 3 /* ready */),
- MS_DBRA(-1 /* loop */),
-/* error: */ MS_RET(1),
-/* ready: */ MS_RET(0)
- };
-.Ed
-.Pp
-Here, some parameters are undefined and must be filled before executing
-the microsequence. In order to initialize seach a microsequence, one should
-use the ppb_MS_init_msq() function like this:
-.Bd -literal
- ppb_MS_init_msq(select_microseq, 2,
- SELECT_TARGET, 1 << target,
- SELECT_INITIATOR, 1 << initiator);
-.Ed
-.Pp
-and then execute the microsequence.
-.Ss The microsequencer
-The microsequencer is executed either at ppbus or adapter level (see
-.Xr ppbus 4
-for info about ppbus system layers).
-.Sh SEE ALSO
-.Xr ppbus 4
-.Sh HISTORY
-The
-.Nm
-manual page first appeared in
-.Fx 3.0 .
-.Sh AUTHOR
-This
-manual page was written by
-.An Nicolas Souchu .