Module Name:    src
Committed By:   rmind
Date:           Mon Mar 30 22:13:43 UTC 2009

Modified Files:
        src/sys/arch/amd64/conf: files.amd64
        src/sys/arch/i386/conf: files.i386
        src/sys/arch/x86/conf: files.x86
Added Files:
        src/sys/arch/x86/x86: core_machdep.c
Removed Files:
        src/sys/arch/amd64/amd64: core_machdep.c
        src/sys/arch/i386/i386: core_machdep.c

Log Message:
Merge/move core_machdep.c into x86, no difference between i386 and amd64.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r0 src/sys/arch/amd64/amd64/core_machdep.c
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/amd64/conf/files.amd64
cvs rdiff -u -r1.344 -r1.345 src/sys/arch/i386/conf/files.i386
cvs rdiff -u -r1.2 -r0 src/sys/arch/i386/i386/core_machdep.c
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/x86/conf/files.x86
cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/x86/core_machdep.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/conf/files.amd64
diff -u src/sys/arch/amd64/conf/files.amd64:1.62 src/sys/arch/amd64/conf/files.amd64:1.63
--- src/sys/arch/amd64/conf/files.amd64:1.62	Sat Feb 14 20:22:59 2009
+++ src/sys/arch/amd64/conf/files.amd64	Mon Mar 30 22:13:42 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: files.amd64,v 1.62 2009/02/14 20:22:59 cube Exp $
+#	$NetBSD: files.amd64,v 1.63 2009/03/30 22:13:42 rmind Exp $
 #
 # new style config file for amd64 architecture
 #
@@ -31,7 +31,6 @@
 file	arch/amd64/amd64/amd64func.S
 file	arch/amd64/amd64/autoconf.c
 file	arch/amd64/amd64/busfunc.S
-file	arch/amd64/amd64/core_machdep.c		coredump
 file	arch/amd64/amd64/cpu_in_cksum.S		(inet | inet6) & cpu_in_cksum
 file	arch/amd64/amd64/cpufunc.S
 file	arch/amd64/amd64/db_disasm.c		ddb

Index: src/sys/arch/i386/conf/files.i386
diff -u src/sys/arch/i386/conf/files.i386:1.344 src/sys/arch/i386/conf/files.i386:1.345
--- src/sys/arch/i386/conf/files.i386:1.344	Thu Feb 19 13:06:49 2009
+++ src/sys/arch/i386/conf/files.i386	Mon Mar 30 22:13:42 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i386,v 1.344 2009/02/19 13:06:49 jmcneill Exp $
+#	$NetBSD: files.i386,v 1.345 2009/03/30 22:13:42 rmind Exp $
 #
 # new style config file for i386 architecture
 #
@@ -62,7 +62,6 @@
 file	arch/i386/i386/autoconf.c
 file	arch/i386/i386/aout_machdep.c	exec_aout
 file	arch/i386/i386/busfunc.S
-file	arch/i386/i386/core_machdep.c	coredump
 file	arch/i386/i386/cpufunc.S
 file	arch/i386/i386/cpu_in_cksum.S	(inet | inet6) & cpu_in_cksum
 file	arch/i386/i386/db_dbgreg.S	ddb | kstack_check_dr0

Index: src/sys/arch/x86/conf/files.x86
diff -u src/sys/arch/x86/conf/files.x86:1.46 src/sys/arch/x86/conf/files.x86:1.47
--- src/sys/arch/x86/conf/files.x86:1.46	Tue Feb 24 06:03:54 2009
+++ src/sys/arch/x86/conf/files.x86	Mon Mar 30 22:13:42 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: files.x86,v 1.46 2009/02/24 06:03:54 yamt Exp $
+#	$NetBSD: files.x86,v 1.47 2009/03/30 22:13:42 rmind Exp $
 
 # options for MP configuration through the MP spec
 defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI
@@ -45,6 +45,7 @@
 file	arch/x86/x86/bus_dma.c
 file	arch/x86/x86/bus_space.c
 file	arch/x86/x86/consinit.c
+file	arch/x86/x86/core_machdep.c	coredump
 file	arch/x86/x86/errata.c
 file	arch/x86/x86/genfb_machdep.c
 file	arch/x86/x86/identcpu.c

Added files:

Index: src/sys/arch/x86/x86/core_machdep.c
diff -u /dev/null src/sys/arch/x86/x86/core_machdep.c:1.1
--- /dev/null	Mon Mar 30 22:13:43 2009
+++ src/sys/arch/x86/x86/core_machdep.c	Mon Mar 30 22:13:42 2009
@@ -0,0 +1,148 @@
+/*	$NetBSD: core_machdep.c,v 1.1 2009/03/30 22:13:42 rmind Exp $	*/
+
+/*-
+ * Copyright (c) 1982, 1986 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * the Systems Programming Group of the University of Utah Computer
+ * Science Department, and William Jolitz.
+ *
+ * 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.
+ *
+ *	@(#)vm_machdep.c	7.3 (Berkeley) 5/13/91
+ */
+
+/*-
+ * Copyright (c) 1995 Charles M. Hannum.  All rights reserved.
+ * Copyright (c) 1989, 1990 William Jolitz
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * the Systems Programming Group of the University of Utah Computer
+ * Science Department, and William Jolitz.
+ *
+ * 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 the University of
+ *	California, Berkeley and its contributors.
+ * 4. 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.
+ *
+ *	@(#)vm_machdep.c	7.3 (Berkeley) 5/13/91
+ */
+
+/*
+ *	Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: core_machdep.c,v 1.1 2009/03/30 22:13:42 rmind Exp $");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/proc.h>
+#include <sys/vnode.h>
+#include <sys/buf.h>
+#include <sys/user.h>
+#include <sys/core.h>
+#include <sys/exec.h>
+#include <sys/ptrace.h>
+
+#include <uvm/uvm_extern.h>
+
+#include <machine/cpu.h>
+#include <machine/gdt.h>
+#include <machine/reg.h>
+#include <machine/specialreg.h>
+
+/*
+ * Dump the machine specific segment at the start of a core dump.
+ */
+
+struct md_core {
+	struct reg intreg;
+	struct fpreg freg;
+};
+
+int
+cpu_coredump(struct lwp *l, void *iocookie, struct core *chdr)
+{
+	struct md_core md_core;
+	struct coreseg cseg;
+	int error;
+
+	if (iocookie == NULL) {
+		CORE_SETMAGIC(*chdr, COREMAGIC, MID_MACHINE, 0);
+		chdr->c_hdrsize = ALIGN(sizeof(*chdr));
+		chdr->c_seghdrsize = ALIGN(sizeof(cseg));
+		chdr->c_cpusize = sizeof(md_core);
+		chdr->c_nseg++;
+		return 0;
+	}
+
+	/* Save integer registers. */
+	error = process_read_regs(l, &md_core.intreg);
+	if (error)
+		return error;
+
+	/* Save floating point registers. */
+	error = process_read_fpregs(l, &md_core.freg);
+	if (error)
+		return error;
+
+	CORE_SETMAGIC(cseg, CORESEGMAGIC, MID_MACHINE, CORE_CPU);
+	cseg.c_addr = 0;
+	cseg.c_size = chdr->c_cpusize;
+
+	error = coredump_write(iocookie, UIO_SYSSPACE, &cseg,
+	    chdr->c_seghdrsize);
+	if (error)
+		return error;
+
+	return coredump_write(iocookie, UIO_SYSSPACE,
+	    &md_core, sizeof(md_core));
+}

Reply via email to