Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch Move cpu_coredump() from arm32/arm32/vm_machdep.c t...



details:   https://anonhg.NetBSD.org/src/rev/fa666a7d90f2
branches:  trunk
changeset: 503795:fa666a7d90f2
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Tue Feb 13 22:54:25 2001 +0000

description:
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c.
Also ANSIfy it and use it on arm26.

diffstat:

 sys/arch/arm/arm/vm_machdep_arm.c |  100 ++++++++++++++++++++++++++++++++++++++
 sys/arch/arm/conf/files.arm       |    3 +-
 sys/arch/arm26/arm26/stubs.c      |   15 +----
 sys/arch/arm32/arm32/vm_machdep.c |   56 +--------------------
 4 files changed, 105 insertions(+), 69 deletions(-)

diffs (228 lines):

diff -r 14417d21b5c1 -r fa666a7d90f2 sys/arch/arm/arm/vm_machdep_arm.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/arm/arm/vm_machdep_arm.c Tue Feb 13 22:54:25 2001 +0000
@@ -0,0 +1,100 @@
+/*     $NetBSD: vm_machdep_arm.c,v 1.1 2001/02/13 22:54:25 bjh21 Exp $ */
+
+/*
+ * Copyright (c) 1994-1998 Mark Brinicombe.
+ * Copyright (c) 1994 Brini.
+ * All rights reserved.
+ *
+ * This code is derived from software written for Brini by Mark Brinicombe
+ *
+ * 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. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by Brini.
+ * 4. The name of the company nor the name of the author may be used to
+ *    endorse or promote products derived from this software without specific
+ *    prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI 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.
+ */
+
+#include <sys/param.h>
+
+__KERNEL_RCSID(0, "$NetBSD: vm_machdep_arm.c,v 1.1 2001/02/13 22:54:25 bjh21 Exp $");
+
+#include <sys/core.h>
+#include <sys/exec.h>
+#include <sys/ptrace.h>
+#include <sys/signalvar.h>
+#include <sys/systm.h>
+#include <sys/uio.h>
+#include <sys/vnode.h>
+
+#include <machine/reg.h>
+
+/*
+ * Dump the machine specific segment at the start of a core dump.
+ */
+
+int
+cpu_coredump(struct proc *p, struct vnode *vp, struct ucred *cred,
+    struct core *chdr)
+{
+       int error;
+       struct {
+         struct reg regs;
+         struct fpreg fpregs;
+       } cpustate;
+       struct coreseg cseg;
+
+       CORE_SETMAGIC(*chdr, COREMAGIC, MID_MACHINE, 0);
+       chdr->c_hdrsize = ALIGN(sizeof(*chdr));
+       chdr->c_seghdrsize = ALIGN(sizeof(cseg));
+       chdr->c_cpusize = sizeof(cpustate);
+
+       /* Save integer registers. */
+       error = process_read_regs(p, &cpustate.regs);
+       if (error)
+               return error;
+       /* Save floating point registers. */
+       error = process_read_fpregs(p, &cpustate.fpregs);
+       if (error)
+               return error;
+
+       CORE_SETMAGIC(cseg, CORESEGMAGIC, MID_MACHINE, CORE_CPU);
+       cseg.c_addr = 0;
+       cseg.c_size = chdr->c_cpusize;
+
+       error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
+           (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
+           IO_NODELOCKED|IO_UNIT, cred, NULL, p);
+       if (error)
+               return error;
+
+       error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cpustate, sizeof(cpustate),
+           (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
+           IO_NODELOCKED|IO_UNIT, cred, NULL, p);
+       if (error)
+               return error;
+
+       chdr->c_nseg++;
+
+       return error;
+}
diff -r 14417d21b5c1 -r fa666a7d90f2 sys/arch/arm/conf/files.arm
--- a/sys/arch/arm/conf/files.arm       Tue Feb 13 21:27:03 2001 +0000
+++ b/sys/arch/arm/conf/files.arm       Tue Feb 13 22:54:25 2001 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.arm,v 1.7 2001/02/13 13:19:52 bjh21 Exp $
+#      $NetBSD: files.arm,v 1.8 2001/02/13 22:54:25 bjh21 Exp $
 
 file   arch/arm/arm/in_cksum_arm.c             inet
 file   netinet/in4_cksum.c                     inet
@@ -13,3 +13,4 @@
 file   arch/arm/arm/process_machdep.c
 file   arch/arm/arm/sig_machdep.c
 file   arch/arm/arm/sigcode.S
+file   arch/arm/arm/vm_machdep_arm.c
diff -r 14417d21b5c1 -r fa666a7d90f2 sys/arch/arm26/arm26/stubs.c
--- a/sys/arch/arm26/arm26/stubs.c      Tue Feb 13 21:27:03 2001 +0000
+++ b/sys/arch/arm26/arm26/stubs.c      Tue Feb 13 22:54:25 2001 +0000
@@ -1,11 +1,11 @@
-/* $NetBSD: stubs.c,v 1.6 2000/09/18 18:01:39 bjh21 Exp $ */
+/* $NetBSD: stubs.c,v 1.7 2001/02/13 22:54:26 bjh21 Exp $ */
 /*
  * stubs.c -- functions I haven't written yet
  */
 
 #include <sys/param.h>
 
-__RCSID("$NetBSD: stubs.c,v 1.6 2000/09/18 18:01:39 bjh21 Exp $");
+__RCSID("$NetBSD: stubs.c,v 1.7 2001/02/13 22:54:26 bjh21 Exp $");
 
 #include <sys/kernel.h>
 #include <sys/systm.h>
@@ -94,17 +94,6 @@
 }
 
 int
-cpu_coredump(p, vp, cred, chdr)
-       struct proc *p;
-       struct vnode *vp;
-       struct ucred *cred;
-       struct core *chdr;
-{
-       printf("FIXME: cpu_coredump() not implemented.\n");
-       return ENOSYS;
-}
-
-int
 cpu_sysctl(name, namelen, oldval, oldlenp, newval, newlen, p)
        int *name;
        u_int namelen;
diff -r 14417d21b5c1 -r fa666a7d90f2 sys/arch/arm32/arm32/vm_machdep.c
--- a/sys/arch/arm32/arm32/vm_machdep.c Tue Feb 13 21:27:03 2001 +0000
+++ b/sys/arch/arm32/arm32/vm_machdep.c Tue Feb 13 22:54:25 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vm_machdep.c,v 1.52 2000/06/29 08:52:59 mrg Exp $      */
+/*     $NetBSD: vm_machdep.c,v 1.53 2001/02/13 22:54:26 bjh21 Exp $    */
 
 /*
  * Copyright (c) 1994-1998 Mark Brinicombe.
@@ -53,7 +53,6 @@
 #include <sys/vnode.h>
 #include <sys/buf.h>
 #include <sys/user.h>
-#include <sys/core.h>
 #include <sys/exec.h>
 #include <sys/syslog.h>
 
@@ -411,57 +410,4 @@
        uvm_km_free_wakeup(phys_map, addr, len);
 }
 
-/*
- * Dump the machine specific segment at the start of a core dump.
- */
-
-int
-cpu_coredump(p, vp, cred, chdr)
-       struct proc *p;
-       struct vnode *vp;
-       struct ucred *cred;
-       struct core *chdr;
-{
-       int error;
-       struct {
-         struct reg regs;
-         struct fpreg fpregs;
-       } cpustate;
-       struct coreseg cseg;
-
-       CORE_SETMAGIC(*chdr, COREMAGIC, MID_MACHINE, 0);
-       chdr->c_hdrsize = ALIGN(sizeof(*chdr));
-       chdr->c_seghdrsize = ALIGN(sizeof(cseg));
-       chdr->c_cpusize = sizeof(cpustate);
-
-       /* Save integer registers. */
-       error = process_read_regs(p, &cpustate.regs);
-       if (error)
-               return error;
-       /* Save floating point registers. */
-       error = process_read_fpregs(p, &cpustate.fpregs);
-       if (error)
-               return error;
-
-       CORE_SETMAGIC(cseg, CORESEGMAGIC, MID_MACHINE, CORE_CPU);
-       cseg.c_addr = 0;
-       cseg.c_size = chdr->c_cpusize;
-
-       error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
-           (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-           IO_NODELOCKED|IO_UNIT, cred, NULL, p);
-       if (error)
-               return error;
-
-       error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cpustate, sizeof(cpustate),
-           (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-           IO_NODELOCKED|IO_UNIT, cred, NULL, p);
-       if (error)
-               return error;
-
-       chdr->c_nseg++;
-
-       return error;
-}
-
 /* End of vm_machdep.c */



Home | Main Index | Thread Index | Old Index