summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2008-10-01 22:08:53 +0000
committerpeter <peter@FreeBSD.org>2008-10-01 22:08:53 +0000
commited8d07f23214ae559c4d1e24298f7334368c1fa5 (patch)
tree63a9bf6e972762df141963f82c26829a6b8cb9b8 /sys/arm
parent17415143e3ea50776074328a4bc9b5e9aa942dba (diff)
downloadFreeBSD-src-ed8d07f23214ae559c4d1e24298f7334368c1fa5.zip
FreeBSD-src-ed8d07f23214ae559c4d1e24298f7334368c1fa5.tar.gz
Collect N identical (or near identical) mkdumpheader() implementations into
one, as threatened in the comment. Textdump magic can be passed in.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/dump_machdep.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/sys/arm/arm/dump_machdep.c b/sys/arm/arm/dump_machdep.c
index 391bc40..87943c2 100644
--- a/sys/arm/arm/dump_machdep.c
+++ b/sys/arm/arm/dump_machdep.c
@@ -103,27 +103,6 @@ md_pa_next(struct md_pa *mdp)
return (mdp);
}
-/* XXX should be MI */
-static void
-mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen,
- uint32_t blksz)
-{
-
- bzero(kdh, sizeof(*kdh));
- strncpy(kdh->magic, KERNELDUMPMAGIC, sizeof(kdh->magic));
- strncpy(kdh->architecture, MACHINE_ARCH, sizeof(kdh->architecture));
- kdh->version = htod32(KERNELDUMPVERSION);
- kdh->architectureversion = htod32(archver);
- kdh->dumplength = htod64(dumplen);
- kdh->dumptime = htod64(time_second);
- kdh->blocksize = htod32(blksz);
- strncpy(kdh->hostname, G_hostname, sizeof(kdh->hostname));
- strncpy(kdh->versionstring, version, sizeof(kdh->versionstring));
- if (panicstr != NULL)
- strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring));
- kdh->parity = kerneldump_parity(kdh);
-}
-
static int
buf_write(struct dumperinfo *di, char *ptr, size_t sz)
{
@@ -325,7 +304,7 @@ dumpsys(struct dumperinfo *di)
dumplo = di->mediaoffset + di->mediasize - dumpsize;
dumplo -= sizeof(kdh) * 2;
- mkdumpheader(&kdh, KERNELDUMP_ARM_VERSION, dumpsize, di->blocksize);
+ mkdumpheader(&kdh, KERNELDUMPMAGIC, KERNELDUMP_ARM_VERSION, dumpsize, di->blocksize);
printf("Dumping %llu MB (%d chunks)\n", (long long)dumpsize >> 20,
ehdr.e_phnum);
OpenPOWER on IntegriCloud