Date: Thu, 22 Dec 2016 20:28:06 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r310428 - head/sys/mips/malta Message-ID: <201612222028.uBMKS6VO025289@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Thu Dec 22 20:28:06 2016 New Revision: 310428 URL: https://svnweb.freebsd.org/changeset/base/310428 Log: Fix dump_avail[] for MALTA platforms to include the kernel. dump_avail[] is supposed to be a superset of phys_avail[] that describes all of the memory ranges that should be included in a full dump. minidumps don't consider pages described by dump_avail[] to be valid and thus they are excluded via the is_dumpable() function. Most MIPS platforms (including MALTA) set dump_avail[] to be identical to phys_avail[]. In particular, phys_avail[] doesn't include the kernel itself, so pages for the kernel and it's global variables are not considered dumpable and not included in the dump. Fix this by setting dump_avail[0] to the first memory address (0) rather than the end of the kernel. Several other MIPS platforms have the same bug, though I am only able to test malta in qemu. The correct fix is to set dump_avail[] to describe RAM and in particular to not set dump_avail[0] to the end of the kernel (kernel_kseg0_end). Sponsored by: DARPA / AFRL Modified: head/sys/mips/malta/malta_machdep.c Modified: head/sys/mips/malta/malta_machdep.c ============================================================================== --- head/sys/mips/malta/malta_machdep.c Thu Dec 22 20:16:10 2016 (r310427) +++ head/sys/mips/malta/malta_machdep.c Thu Dec 22 20:28:06 2016 (r310428) @@ -191,7 +191,7 @@ mips_init(unsigned long memsize, uint64_ /* phys_avail regions are in bytes */ phys_avail[0] = MIPS_KSEG0_TO_PHYS(kernel_kseg0_end); phys_avail[1] = memsize; - dump_avail[0] = phys_avail[0]; + dump_avail[0] = 0; dump_avail[1] = phys_avail[1]; /* Only specify the extended region if it's set */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612222028.uBMKS6VO025289>