diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2016-09-01 10:08:04 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2016-09-01 10:08:04 +0000 |
commit | c35883566f4522a183fa075ad821126964cd6dab (patch) | |
tree | d765719d303d30441d2f3529d956d4280e050897 | |
parent | 77daf64523f7aa66ccc09c4fa54f596143b0aa59 (diff) |
remove references to sparc
-rw-r--r-- | lib/libc/sys/kbind.2 | 6 | ||||
-rw-r--r-- | lib/libc/sys/ptrace.2 | 10 | ||||
-rw-r--r-- | lib/libkvm/kvm_sparc.c | 250 | ||||
-rw-r--r-- | lib/libm/Makefile | 4 |
4 files changed, 9 insertions, 261 deletions
diff --git a/lib/libc/sys/kbind.2 b/lib/libc/sys/kbind.2 index b40420bbb34..63b0e2c10d6 100644 --- a/lib/libc/sys/kbind.2 +++ b/lib/libc/sys/kbind.2 @@ -1,4 +1,4 @@ -.\" $OpenBSD: kbind.2,v 1.2 2015/08/25 20:22:32 guenther Exp $ +.\" $OpenBSD: kbind.2,v 1.3 2016/09/01 10:08:03 tedu Exp $ .\" .\" Copyright (c) 2015 Philip Guenther <guenther@openbsd.org> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: August 25 2015 $ +.Dd $Mdocdate: September 1 2016 $ .Dt KBIND 2 .Os .Sh NAME @@ -27,7 +27,7 @@ struct __kbind { void *kb_addr; size_t kb_size; }; -#define KBIND_BLOCK_MAX 2 /* powerpc, sparc, and sparc64 need 2 blocks */ +#define KBIND_BLOCK_MAX 2 /* powerpc and sparc64 need 2 blocks */ #define KBIND_DATA_MAX 24 /* sparc64 needs 6, four-byte words */ .Ed .Pp diff --git a/lib/libc/sys/ptrace.2 b/lib/libc/sys/ptrace.2 index a0490b1dba5..c61eaecd452 100644 --- a/lib/libc/sys/ptrace.2 +++ b/lib/libc/sys/ptrace.2 @@ -1,8 +1,8 @@ -.\" $OpenBSD: ptrace.2,v 1.38 2016/05/31 19:10:28 tedu Exp $ +.\" $OpenBSD: ptrace.2,v 1.39 2016/09/01 10:08:03 tedu Exp $ .\" $NetBSD: ptrace.2,v 1.3 1996/02/23 01:39:41 jtc Exp $ .\" .\" This file is in the public domain. -.Dd $Mdocdate: May 31 2016 $ +.Dd $Mdocdate: September 1 2016 $ .Dt PTRACE 2 .Os .Sh NAME @@ -445,7 +445,7 @@ pointed to by .\" syscall and will be passed back to the traced process by the normal .\" syscall return mechanism. .It Xo Dv PT_STEP -.No (not available on sparc or sparc64) +.No (not available on sparc64) .Xc The traced process continues execution, as in request .Dv PT_CONTINUE ; @@ -490,7 +490,7 @@ it loads the traced process' XMM registers from the .In machine/reg.h ) pointed to by .Fa addr . -.It Dv PT_WCOOKIE Pq sparc and sparc64 only +.It Dv PT_WCOOKIE Pq sparc64 only This request reads the traced process' .Sq window cookie into the @@ -586,7 +586,7 @@ The system call first appeared in .At v6 . .Sh BUGS -On several RISC architectures (such as luna88k, sparc and sparc64), +On several RISC architectures (such as luna88k and sparc64), the PC is set to the provided PC value for .Dv PT_CONTINUE and similar calls, and the remainder of the execution pipeline registers diff --git a/lib/libkvm/kvm_sparc.c b/lib/libkvm/kvm_sparc.c deleted file mode 100644 index d0329260faa..00000000000 --- a/lib/libkvm/kvm_sparc.c +++ /dev/null @@ -1,250 +0,0 @@ -/* $OpenBSD: kvm_sparc.c,v 1.15 2015/03/30 04:38:56 miod Exp $ */ -/* $NetBSD: kvm_sparc.c,v 1.9 1996/04/01 19:23:03 cgd Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software developed by the Computer Systems - * Engineering group at Lawrence Berkeley Laboratory under DARPA contract - * BG 91-66 and contributed to Berkeley. - * - * 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. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - */ - -/* - * Sparc machine dependent routines for kvm. Hopefully, the forthcoming - * vm code will one day obsolete this module. - */ - -#include <sys/param.h> -#include <sys/proc.h> -#include <sys/stat.h> -#include <sys/core.h> -#include <sys/kcore.h> -#include <unistd.h> -#include <nlist.h> -#include <kvm.h> - -#include <uvm/uvm_extern.h> -#include <machine/vmparam.h> -#include <machine/pmap.h> -#include <machine/kcore.h> - -#include <limits.h> -#include <db.h> - -#include "kvm_private.h" - - -static int cputyp = -1; -static int pgshift; -static int nptesg; /* [sun4/sun4c] only */ - -#define VA_VPG(va) ((cputyp == CPU_SUN4C || cputyp == CPU_SUN4M) \ - ? VA_SUN4C_VPG(va) \ - : VA_SUN4_VPG(va)) - -#define VA_OFF(va) (va & (kd->nbpg - 1)) - -int _kvm_kvatop44c(kvm_t *, u_long, u_long *); -int _kvm_kvatop4m(kvm_t *, u_long, u_long *); - -void -_kvm_freevtop(kvm_t *kd) -{ - if (kd->vmst != NULL) { - _kvm_err(kd, kd->program, "_kvm_freevtop: internal error"); - kd->vmst = NULL; - } -} - -/* - * Prepare for translation of kernel virtual addresses into offsets - * into crash dump files. We use the MMU specific goop written at the - * front of the crash dump by pmap_dumpmmu(). - */ -int -_kvm_initvtop(kvm_t *kd) -{ - cpu_kcore_hdr_t *cpup = kd->cpu_data; - - switch (cputyp = cpup->cputype) { - case CPU_SUN4: - kd->nbpg = 8196; - pgshift = 13; - break; - case CPU_SUN4C: - case CPU_SUN4M: - kd->nbpg = 4096; - pgshift = 12; - break; - default: - _kvm_err(kd, kd->program, "Unsupported CPU type"); - return (-1); - } - nptesg = NBPSG / kd->nbpg; - return (0); -} - -/* - * Translate a kernel virtual address to a physical address using the - * mapping information in kd->vm. Returns the result in pa, and returns - * the number of bytes that are contiguously available from this - * physical address. This routine is used only for crashdumps. - */ -int -_kvm_kvatop(kvm_t *kd, u_long va, paddr_t *pa) -{ - if (cputyp == -1) - if (_kvm_initvtop(kd) != 0) - return (-1); - - return ((cputyp == CPU_SUN4M) ? _kvm_kvatop4m(kd, va, pa) : - _kvm_kvatop44c(kd, va, pa)); -} - -/* - * (note: sun4 3-level MMU not yet supported) - */ -int -_kvm_kvatop44c(kvm_t *kd, u_long va, u_long *pa) -{ - cpu_kcore_hdr_t *cpup = kd->cpu_data; - int vr, vs, pte, *ptes; - struct segmap *sp; - - if (va < VM_MIN_KERNEL_ADDRESS_OLD) - goto err; - - /* - * Layout of CPU segment: - * cpu_kcore_hdr_t; - * [alignment] - * phys_ram_seg_t[cpup->nmemseg]; - * ptes[cpup->npmegs]; - */ - ptes = (int *)((int)kd->cpu_data + cpup->pmegoffset); - - vr = VA_VREG(va); - vs = VA_VSEG(va); - - sp = &cpup->segmap_store[(vr-NUREG_4C)*NSEGRG + vs]; - if (sp->sg_npte == 0) - goto err; - if (sp->sg_pmeg == cpup->npmeg - 1) /* =seginval */ - goto err; - pte = ptes[sp->sg_pmeg * nptesg + VA_VPG(va)]; - if ((pte & PG_V) != 0) { - long p, off = VA_OFF(va); - - p = (pte & PG_PFNUM) << pgshift; - *pa = p + off; - return (kd->nbpg - off); - } -err: - _kvm_err(kd, 0, "invalid address (%lx)", va); - return (0); -} - -int -_kvm_kvatop4m(kvm_t *kd, u_long va, u_long *pa) -{ - cpu_kcore_hdr_t *cpup = kd->cpu_data; - struct segmap *sp; - int vr, vs, pte; - off_t foff; - - if (va < VM_MIN_KERNEL_ADDRESS_SRMMU) - goto err; - - /* - * Layout of CPU segment: - * cpu_kcore_hdr_t; - * [alignment] - * phys_ram_seg_t[cpup->nmemseg]; - */ - vr = VA_VREG(va); - vs = VA_VSEG(va); - - sp = &cpup->segmap_store[(vr-NUREG_4M)*NSEGRG + vs]; - if (sp->sg_npte == 0) - goto err; - - /* XXX - assume page tables in initial kernel DATA or BSS. */ - foff = _kvm_pa2off(kd, (u_long)&sp->sg_pte[VA_VPG(va)] - KERNBASE); - if (foff == (off_t)-1) - return (0); - - if (_kvm_pread(kd, kd->pmfd, (void *)&pte, sizeof(pte), foff) < 0) { - _kvm_err(kd, kd->program, "cannot read pte for %lx", va); - return (0); - } - - if ((pte & SRMMU_TETYPE) == SRMMU_TEPTE) { - long p, off = VA_OFF(va); - - p = (pte & SRMMU_PPNMASK) << SRMMU_PPNPASHIFT; - *pa = p + off; - return (kd->nbpg - off); - } -err: - _kvm_err(kd, 0, "invalid address (%lx)", va); - return (0); -} - -/* - * Translate a physical address to a file-offset in the crash-dump. - */ -off_t -_kvm_pa2off(kvm_t *kd, paddr_t pa) -{ - cpu_kcore_hdr_t *cpup = kd->cpu_data; - phys_ram_seg_t *mp; - off_t off; - int nmem; - - /* - * Layout of CPU segment: - * cpu_kcore_hdr_t; - * [alignment] - * phys_ram_seg_t[cpup->nmemseg]; - */ - mp = (phys_ram_seg_t *)((int)kd->cpu_data + cpup->memsegoffset); - off = 0; - - /* Translate (sparse) pfnum to (packed) dump offset */ - for (nmem = cpup->nmemseg; --nmem >= 0; mp++) { - if (mp->start <= pa && pa < mp->start + mp->size) - break; - off += mp->size; - } - if (nmem < 0) { - _kvm_err(kd, 0, "invalid address (%lx)", pa); - return (-1); - } - - return (kd->dump_off + off + pa - mp->start); -} diff --git a/lib/libm/Makefile b/lib/libm/Makefile index 951472f38e8..d60b769d138 100644 --- a/lib/libm/Makefile +++ b/lib/libm/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.112 2016/05/11 21:52:49 deraadt Exp $ +# $OpenBSD: Makefile,v 1.113 2016/09/01 10:08:03 tedu Exp $ # $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $ # # @(#)Makefile 5.1beta 93/09/24 @@ -58,8 +58,6 @@ ARCH_SRCS = e_sqrt.c e_sqrtf.c s_fabsf.c .PATH: ${.CURDIR}/arch/mips64 .elif (${MACHINE_ARCH} == "powerpc") .PATH: ${.CURDIR}/arch/powerpc -.elif (${MACHINE_ARCH} == "sparc") -.PATH: ${.CURDIR}/arch/sparc .elif (${MACHINE_ARCH} == "sparc64") .PATH: ${.CURDIR}/arch/sparc64 ARCH_SRCS = e_sqrtl.c |