Date: Tue, 26 Aug 2014 10:22:59 +0000 (UTC) From: "Cherry G. Mathew" <cherry@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r270654 - projects/amd64_xen_pv/sys/amd64/xen Message-ID: <201408261022.s7QAMx7X002888@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: cherry Date: Tue Aug 26 10:22:59 2014 New Revision: 270654 URL: http://svnweb.freebsd.org/changeset/base/270654 Log: Add all pv ram to the crash dump pages, instead of skipping "holes". This also fixes fragmentation related breakage during bootup, which fails during the RAM "device" attach. Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c projects/amd64_xen_pv/sys/amd64/xen/pmap.c Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/machdep.c Tue Aug 26 09:40:14 2014 (r270653) +++ projects/amd64_xen_pv/sys/amd64/xen/machdep.c Tue Aug 26 10:22:59 2014 (r270654) @@ -594,11 +594,13 @@ initxen(struct start_info *si) DPCPU_ID_SET(0, vcpu_info, &HYPERVISOR_shared_info->vcpu_info[0]); /* Register the rest of free physical memory with phys_avail[] */ - /* dump_avail[] starts at index 1 */ phys_avail[pa_index++] = physfree; - dump_avail[pa_index] = physfree; phys_avail[pa_index++] = ptoa(physmem); - dump_avail[pa_index] = ptoa(physmem); + + /* We dump all of our given RAM */ + /* XXX: revise this for dom0 */ + dump_avail[1] = 0; + dump_avail[2] = ptoa(physmem); PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap.c Tue Aug 26 09:40:14 2014 (r270653) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c Tue Aug 26 10:22:59 2014 (r270654) @@ -1157,7 +1157,7 @@ retry: xen_pt_frames); bzero((void *)PTOV(ptoa(xen_pt)), ptoa(xen_pt_frames)); -#if 0 +#if 1 /* * Unmap from kernel VA space, since we're going to put them * on the free list via phys_avail @@ -1173,8 +1173,8 @@ retry: * Record the pages as available to the VM via phys_avail[] */ - dump_avail[pa_index + 1] = phys_avail[pa_index] = ptoa(xen_pt); - dump_avail[pa_index + 2] = phys_avail[pa_index + 1] = phys_avail[pa_index] + + phys_avail[pa_index] = ptoa(xen_pt); + phys_avail[pa_index + 1] = phys_avail[pa_index] + ptoa(xen_pt_frames); pa_index += 2; #endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408261022.s7QAMx7X002888>