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