Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Matt Thomas <matt@netbsd.org>
List: source-changes
Date: 06/10/2005 05:10:13
Module Name:	src
Committed By:	matt
Date:		Fri Jun 10 05:10:13 UTC 2005

Modified Files:
	src/sys/arch/alpha/alpha: vm_machdep.c
	src/sys/arch/amd64/amd64: netbsd32_machdep.c vm_machdep.c
	src/sys/arch/arm/arm: vm_machdep_arm.c
	src/sys/arch/hppa/hppa: vm_machdep.c
	src/sys/arch/i386/i386: vm_machdep.c
	src/sys/arch/m68k/m68k: vm_machdep.c
	src/sys/arch/mips/mips: vm_machdep.c
	src/sys/arch/pc532/pc532: vm_machdep.c
	src/sys/arch/pdp10/pdp10: vm_machdep.c
	src/sys/arch/powerpc/powerpc: vm_machdep.c
	src/sys/arch/sh3/sh3: vm_machdep.c
	src/sys/arch/sh5/sh5: netbsd32_machdep.c vm_machdep.c
	src/sys/arch/sparc/sparc: vm_machdep.c
	src/sys/arch/sparc64/sparc64: netbsd32_machdep.c vm_machdep.c
	src/sys/arch/vax/vax: vm_machdep.c
	src/sys/compat/netbsd32: netbsd32.h netbsd32_core.c
	src/sys/kern: core_elf32.c core_netbsd.c kern_sig.c
	src/sys/sys: exec.h exec_elf.h signalvar.h
	src/sys/uvm: uvm_extern.h uvm_glue.c

Log Message:
Rework the coredump code to have no explicit knownledge of how coredump
i/o is done.  Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o.  This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.


To generate a diff of this commit:
cvs rdiff -r1.85 -r1.86 src/sys/arch/alpha/alpha/vm_machdep.c
cvs rdiff -r1.14 -r1.15 src/sys/arch/amd64/amd64/netbsd32_machdep.c
cvs rdiff -r1.10 -r1.11 src/sys/arch/amd64/amd64/vm_machdep.c
cvs rdiff -r1.8 -r1.9 src/sys/arch/arm/arm/vm_machdep_arm.c
cvs rdiff -r1.16 -r1.17 src/sys/arch/hppa/hppa/vm_machdep.c
cvs rdiff -r1.119 -r1.120 src/sys/arch/i386/i386/vm_machdep.c
cvs rdiff -r1.11 -r1.12 src/sys/arch/m68k/m68k/vm_machdep.c
cvs rdiff -r1.107 -r1.108 src/sys/arch/mips/mips/vm_machdep.c
cvs rdiff -r1.63 -r1.64 src/sys/arch/pc532/pc532/vm_machdep.c
cvs rdiff -r1.2 -r1.3 src/sys/arch/pdp10/pdp10/vm_machdep.c
cvs rdiff -r1.63 -r1.64 src/sys/arch/powerpc/powerpc/vm_machdep.c
cvs rdiff -r1.47 -r1.48 src/sys/arch/sh3/sh3/vm_machdep.c
cvs rdiff -r1.6 -r1.7 src/sys/arch/sh5/sh5/netbsd32_machdep.c
cvs rdiff -r1.11 -r1.12 src/sys/arch/sh5/sh5/vm_machdep.c
cvs rdiff -r1.82 -r1.83 src/sys/arch/sparc/sparc/vm_machdep.c
cvs rdiff -r1.46 -r1.47 src/sys/arch/sparc64/sparc64/netbsd32_machdep.c
cvs rdiff -r1.58 -r1.59 src/sys/arch/sparc64/sparc64/vm_machdep.c
cvs rdiff -r1.86 -r1.87 src/sys/arch/vax/vax/vm_machdep.c
cvs rdiff -r1.32 -r1.33 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -r1.11 -r1.12 src/sys/compat/netbsd32/netbsd32_core.c
cvs rdiff -r1.17 -r1.18 src/sys/kern/core_elf32.c
cvs rdiff -r1.10 -r1.11 src/sys/kern/core_netbsd.c
cvs rdiff -r1.206 -r1.207 src/sys/kern/kern_sig.c
cvs rdiff -r1.107 -r1.108 src/sys/sys/exec.h
cvs rdiff -r1.81 -r1.82 src/sys/sys/exec_elf.h
cvs rdiff -r1.54 -r1.55 src/sys/sys/signalvar.h
cvs rdiff -r1.102 -r1.103 src/sys/uvm/uvm_extern.h
cvs rdiff -r1.87 -r1.88 src/sys/uvm/uvm_glue.c

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