From owner-svn-src-projects@FreeBSD.ORG Fri Nov 2 20:23:42 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3103D9F2; Fri, 2 Nov 2012 20:23:42 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 18A0A8FC0C; Fri, 2 Nov 2012 20:23:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id qA2KNfKf095267; Fri, 2 Nov 2012 20:23:41 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id qA2KNfeG095264; Fri, 2 Nov 2012 20:23:41 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201211022023.qA2KNfeG095264@svn.freebsd.org> From: "Cherry G. Mathew" Date: Fri, 2 Nov 2012 20:23:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242490 - projects/amd64_xen_pv/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Nov 2012 20:23:42 -0000 Author: cherry Date: Fri Nov 2 20:23:41 2012 New Revision: 242490 URL: http://svn.freebsd.org/changeset/base/242490 Log: Since the current pmap implementation does not use DMAP, we need to special case XEN related msgbuf pages, to be pmap_map()ed to relevant kernel virtual addresses before registering them in the dump map. Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/vm/vm_page.c Modified: projects/amd64_xen_pv/sys/vm/vm_page.c ============================================================================== --- projects/amd64_xen_pv/sys/vm/vm_page.c Fri Nov 2 18:57:38 2012 (r242489) +++ projects/amd64_xen_pv/sys/vm/vm_page.c Fri Nov 2 20:23:41 2012 (r242490) @@ -345,13 +345,17 @@ vm_page_startup(vm_offset_t vaddr) new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE); bzero((void *)vm_page_dump, vm_page_dump_size); #endif -#if defined(__amd64__) && !defined(XEN) +#if defined(__amd64__) /* * Request that the physical pages underlying the message buffer be * included in a crash dump. Since the message buffer is accessed * through the direct map, they are not automatically included. */ +#if defined(XEN) + pa = VTOP(msgbufp->msg_ptr); +#else /* native */ pa = DMAP_TO_PHYS((vm_offset_t)msgbufp->msg_ptr); +#endif last_pa = pa + round_page(msgbufsize); while (pa < last_pa) { dump_add_page(pa); @@ -395,7 +399,7 @@ vm_page_startup(vm_offset_t vaddr) */ new_end = vm_reserv_startup(&vaddr, new_end, high_water); #endif -#if defined(__amd64__) || defined(__mips__) +#if defined(__amd64__) && !defined(XEN) || defined(__mips__) /* * pmap_map on amd64 and mips can come out of the direct-map, not kvm * like i386, so the pages must be tracked for a crashdump to include