summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2016-09-01 10:08:04 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2016-09-01 10:08:04 +0000
commitc35883566f4522a183fa075ad821126964cd6dab (patch)
treed765719d303d30441d2f3529d956d4280e050897
parent77daf64523f7aa66ccc09c4fa54f596143b0aa59 (diff)
remove references to sparc
-rw-r--r--lib/libc/sys/kbind.26
-rw-r--r--lib/libc/sys/ptrace.210
-rw-r--r--lib/libkvm/kvm_sparc.c250
-rw-r--r--lib/libm/Makefile4
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