diff options
-rw-r--r-- | usr.bin/Makefile | 7 | ||||
-rw-r--r-- | usr.bin/uac/Makefile | 5 | ||||
-rw-r--r-- | usr.bin/uac/uac.1 | 107 | ||||
-rw-r--r-- | usr.bin/uac/uac.c | 133 |
4 files changed, 1 insertions, 251 deletions
diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 2ebf6d7..cc0d2cc 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -194,7 +194,6 @@ SUBDIR= alias \ tset \ tsort \ tty \ - ${_uac} \ ul \ uname \ unexpand \ @@ -263,7 +262,7 @@ _calendar= calendar .if ${MK_OPENSSL} != "no" _chkey= chkey _newkey= newkey -.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64" +.if ${MACHINE_ARCH} == "sparc64" .if ${MK_LIBTHR} != "no" _csup= csup .endif @@ -317,10 +316,6 @@ _ncplogin= ncplogin _smbutil= smbutil .endif -.if ${MACHINE_ARCH} == "alpha" -_uac= uac -.endif - .if ${MACHINE_ARCH} == "amd64" .if ${MK_NCP} != "no" _ncplist= ncplist diff --git a/usr.bin/uac/Makefile b/usr.bin/uac/Makefile deleted file mode 100644 index eb46c1d..0000000 --- a/usr.bin/uac/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -PROG= uac - -.include <bsd.prog.mk> diff --git a/usr.bin/uac/uac.1 b/usr.bin/uac/uac.1 deleted file mode 100644 index 987cdff..0000000 --- a/usr.bin/uac/uac.1 +++ /dev/null @@ -1,107 +0,0 @@ -.\" Copyright (c) 2000 David E. O'Brien -.\" 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. -.\" -.\" $FreeBSD$ -.\" -.Dd January 18, 2000 -.Dt UAC 1 -.Os -.Sh NAME -.Nm uac -.Nd Unaligned Access Message Control -.Sh SYNOPSIS -.Nm -.Op Fl fprs -.Sh DESCRIPTION -The -.Nm -utility sets the per-process handling of -.Dq Unaligned Access -events. -Unlike many other CPU's the DEC Alpha processor cannot access unaligned data. -To work around this, the Alpha has the ability to fix the UA fault -rather than send the faulting process a -.Dv SIGBUS -signal. -However, doing so does slow down the -execution of the faulting process. -At bootup, the DEC Alpha CPU defaults to printing -.Bd -ragged -.Em pid -.Ar nnn Pq Ar <progname> : -unaligned access: -.Em va Ns = Ns Ar 0xADDR -.Em pc Ns = Ns Ar 0xADDR -.Em ra Ns = Ns Ar 0xADDR -.Em op Ns = Ns Ar ldl -.Ed -.Pp -when a UA happens along with fixing it, -so the faulting instruction can continue. -UA handling settings are inherited by child process. -Issued without any options, -.Nm -displays the current UA handling for the parent process. -.Pp -The options are as follows: -.Bl -tag -width Fl -.It Fl f -Unaligned access errors are not fixed for the parent and its future descendants. -.It Fl p -Unaligned access errors are not printed for the parent and its future -descendants. -.It Fl r -Resets the unaligned access error settings back to their bootup defaults. -.It Fl s -Unaligned access errors result in a -.Dv SIGBUS -being delivered to the parent and its future descendants. -This aids in pinpointing the faulting access so it can be debugged. -.El -.Sh EXIT STATUS -Exit status is 0 on success, and 1 if the command -fails for any reason. -.Sh COMPATIBILITY -The -.Nm -command syntax is incompatible with the DEC OSF/1 syntax. -.Sh SEE ALSO -.Xr signal 3 -.Sh HISTORY -A -.Nm -utility first appeared in DEC OSF/1. -.Sh AUTHORS -.An -nosplit -The -.Fx -version of -.Nm -was originally written by -.An Andrew Gallatin Aq gallatin@cs.duke.edu -and modified by -.An David E. O'Brien Aq obrien@FreeBSD.org . -This -manual page was written by -.An David E. O'Brien Aq obrien@FreeBSD.org . diff --git a/usr.bin/uac/uac.c b/usr.bin/uac/uac.c deleted file mode 100644 index a2cd1b2..0000000 --- a/usr.bin/uac/uac.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) 2000 Andrew Gallatin and David E. O'Brien - * 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 - * in this position and unchanged. - * 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. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. - * - * $FreeBSD$ - */ - -#include <sys/types.h> -#include <machine/sysarch.h> -#include <machine/proc.h> - -#include <stdio.h> -#include <unistd.h> -#include <err.h> - -static void usage (); - -struct parms { - u_int64_t uac; -}; - -int -alpha_setuac(u_int64_t uac) -{ - struct parms p; - - p.uac = uac; - return (sysarch(ALPHA_SET_UAC, &p)); -} - -int -alpha_getuac(u_int64_t *uac) -{ - struct parms p; - int error; - - error = sysarch(ALPHA_GET_UAC, &p); - *uac = p.uac; - return (error); -} - -static void -print_uac(u_int64_t uac) -{ - - printf("parent printing is "); - if (uac & MDP_UAC_NOPRINT) - printf("off\n"); - else - printf("on\n"); - - printf("parent fixup is "); - if (uac & MDP_UAC_NOFIX) - printf("off\n"); - else - printf("on\n"); - - printf("parent sigbus is "); - if (uac & MDP_UAC_SIGBUS) - printf("on \n"); - else - printf("off\n"); -} - -int -main(argc, argv) - int argc; - char **argv; -{ - int c; - u_int64_t uac; - - if (alpha_getuac(&uac) != 0) - err(1, NULL); - - while ((c = getopt(argc, argv, "fpsr")) != -1) { - switch (c) { - case 'f': - uac |= MDP_UAC_NOFIX; - break; - case 'p': - uac |= MDP_UAC_NOPRINT; - break; - case 's': - uac |= MDP_UAC_SIGBUS; - break; - case 'r': - uac = 0; - break; - default: - usage(); - /* NOTREACHED */ - } - } - - if (argc != 1) { - if (alpha_setuac(uac) != 0) - err(1, NULL); - } - - print_uac(uac); - return 0; -} - -static void -usage () -{ - - fprintf(stderr, "usage: uac [-fprs]\n"); -} |