svn commit: r198011 - user/kmacy/releng_8_fcs/sys/vm
Kip Macy
kmacy at FreeBSD.org
Tue Oct 13 01:48:01 UTC 2009
Author: kmacy
Date: Tue Oct 13 01:48:01 2009
New Revision: 198011
URL: http://svn.freebsd.org/changeset/base/198011
Log:
add setup for conditionally excluding pages from core dump
Modified:
user/kmacy/releng_8_fcs/sys/vm/vm_contig.c
user/kmacy/releng_8_fcs/sys/vm/vm_kern.c
user/kmacy/releng_8_fcs/sys/vm/vm_page.c
Modified: user/kmacy/releng_8_fcs/sys/vm/vm_contig.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/vm/vm_contig.c Tue Oct 13 01:15:23 2009 (r198010)
+++ user/kmacy/releng_8_fcs/sys/vm/vm_contig.c Tue Oct 13 01:48:01 2009 (r198011)
@@ -87,6 +87,10 @@ __FBSDID("$FreeBSD$");
#include <vm/vm_phys.h>
#include <vm/vm_extern.h>
+#ifdef VM_MD_MINIDUMP
+#include <machine/md_var.h>
+#endif
+
static int
vm_contig_launder_page(vm_page_t m, vm_page_t *next)
{
@@ -219,6 +223,10 @@ contigmapping(vm_map_t map, vm_size_t si
pmap_zero_page(m);
m->valid = VM_PAGE_BITS_ALL;
m++;
+#ifdef VM_MD_MINIDUMP
+ if (flags & M_NODUMP)
+ dump_exclude_page(VM_PAGE_TO_PHYS(m));
+#endif
}
VM_OBJECT_UNLOCK(object);
vm_map_wire(map, addr, addr + size,
Modified: user/kmacy/releng_8_fcs/sys/vm/vm_kern.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/vm/vm_kern.c Tue Oct 13 01:15:23 2009 (r198010)
+++ user/kmacy/releng_8_fcs/sys/vm/vm_kern.c Tue Oct 13 01:48:01 2009 (r198011)
@@ -217,7 +217,7 @@ kmem_free(map, addr, size)
vm_offset_t temp = start;
for (; temp < end; temp += PAGE_SIZE)
- dump_add_page(pmap_kextract(temp));
+ dump_unexclude_page(pmap_kextract(temp));
#endif
(void) vm_map_remove(map, start, end);
}
@@ -376,7 +376,7 @@ retry:
pmap_zero_page(m);
#ifdef VM_MD_MINIDUMP
if (flags & M_NODUMP)
- dump_drop_page(VM_PAGE_TO_PHYS(m));
+ dump_exclude_page(VM_PAGE_TO_PHYS(m));
#endif
m->valid = VM_PAGE_BITS_ALL;
KASSERT((m->flags & PG_UNMANAGED) != 0,
Modified: user/kmacy/releng_8_fcs/sys/vm/vm_page.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/vm/vm_page.c Tue Oct 13 01:15:23 2009 (r198010)
+++ user/kmacy/releng_8_fcs/sys/vm/vm_page.c Tue Oct 13 01:48:01 2009 (r198011)
@@ -310,6 +310,10 @@ vm_page_startup(vm_offset_t vaddr)
vm_page_dump = (void *)(uintptr_t)pmap_map(&vaddr, new_end,
new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE);
bzero((void *)vm_page_dump, vm_page_dump_size);
+ new_end -= vm_page_dump_size;
+ vm_page_dump_exclude = (void *)(uintptr_t)pmap_map(&vaddr, new_end,
+ new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE);
+ bzero((void *)vm_page_dump, vm_page_dump_size);
#endif
/*
* Compute the number of pages of memory that will be available for
More information about the svn-src-user
mailing list