socsvn commit: r289496 - soc2013/def/crashdump-head/sys/mips/mips

def at FreeBSD.org def at FreeBSD.org
Sun Aug 9 23:23:07 UTC 2015


Author: def
Date: Sun Aug  9 23:23:06 2015
New Revision: 289496
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289496

Log:
  Add EKCD support on MIPS.

Modified:
  soc2013/def/crashdump-head/sys/mips/mips/minidump_machdep.c

Modified: soc2013/def/crashdump-head/sys/mips/mips/minidump_machdep.c
==============================================================================
--- soc2013/def/crashdump-head/sys/mips/mips/minidump_machdep.c	Sun Aug  9 23:20:44 2015	(r289495)
+++ soc2013/def/crashdump-head/sys/mips/mips/minidump_machdep.c	Sun Aug  9 23:23:06 2015	(r289496)
@@ -227,6 +227,7 @@
 
 	origdumplo = dumplo = di->mediaoffset + di->mediasize - dumpsize;
 	dumplo -= sizeof(kdh) * 2;
+	dumplo -= kerneldumpkey_size(di->kdk);
 	progress = dumpsize;
 
 	/* Initialize mdhdr */
@@ -239,18 +240,24 @@
 	mdhdr.kernbase = VM_MIN_KERNEL_ADDRESS;
 
 	mkdumpheader(&kdh, KERNELDUMPMAGIC, KERNELDUMP_MIPS_VERSION, dumpsize,
-	    di->blocksize);
+	    kerneldumpkey_size(di->kdk), di->blocksize);
 
 	printf("Physical memory: %ju MB\n", 
 	    (uintmax_t)ptoa((uintmax_t)physmem) / 1048576);
 	printf("Dumping %llu MB:", (long long)dumpsize >> 20);
 
 	/* Dump leader */
-	error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh));
+	error = dump_write_header(di, &kdh, 0, dumplo);
 	if (error)
 		goto fail;
 	dumplo += sizeof(kdh);
 
+	/* Dump key */
+	error = dump_write_key(di, di->kdk, 0, dumplo);
+	if (error)
+		goto fail;
+	dumplo += kerneldumpkey_size(di->kdk);
+
 	/* Dump my header */
 	bzero(tmpbuffer, sizeof(tmpbuffer));
 	bcopy(&mdhdr, tmpbuffer, sizeof(mdhdr));
@@ -317,7 +324,7 @@
 	}
 
 	/* Dump trailer */
-	error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh));
+	error = dump_write_header(di, &kdh, 0, dumplo);
 	if (error)
 		goto fail;
 	dumplo += sizeof(kdh);


More information about the svn-soc-all mailing list