svn commit: r270654 - projects/amd64_xen_pv/sys/amd64/xen
Cherry G. Mathew
cherry at FreeBSD.org
Tue Aug 26 10:23:00 UTC 2014
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
More information about the svn-src-projects
mailing list