From owner-svn-src-projects@FreeBSD.ORG Sun Jun 15 12:21:07 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 09FFB72C; Sun, 15 Jun 2014 12:21:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EBF7524A0; Sun, 15 Jun 2014 12:21:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s5FCL6Xt013066; Sun, 15 Jun 2014 12:21:06 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s5FCL64e013065; Sun, 15 Jun 2014 12:21:06 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201406151221.s5FCL64e013065@svn.freebsd.org> From: Andrew Turner Date: Sun, 15 Jun 2014 12:21:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r267508 - projects/arm64/sys/arm64/arm64 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.18 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: Sun, 15 Jun 2014 12:21:07 -0000 Author: andrew Date: Sun Jun 15 12:21:06 2014 New Revision: 267508 URL: http://svnweb.freebsd.org/changeset/base/267508 Log: Implement pmap_pinit Modified: projects/arm64/sys/arm64/arm64/pmap.c Modified: projects/arm64/sys/arm64/arm64/pmap.c ============================================================================== --- projects/arm64/sys/arm64/arm64/pmap.c Sun Jun 15 12:08:33 2014 (r267507) +++ projects/arm64/sys/arm64/arm64/pmap.c Sun Jun 15 12:21:06 2014 (r267508) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -583,8 +584,22 @@ pmap_pinit0(pmap_t pmap) int pmap_pinit(pmap_t pmap) { + vm_paddr_t l1phys; + vm_page_t l1pt; - panic("pmap_pinit"); + while ((l1pt = vm_page_alloc(NULL, 0, VM_ALLOC_NORMAL | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | VM_ALLOC_ZERO)) == NULL) + VM_WAIT; + + l1phys = VM_PAGE_TO_PHYS(l1pt); + pmap->pm_l1 = (pd_entry_t *)PHYS_TO_DMAP(l1phys); + + if ((l1pt->flags & PG_ZERO) == 0) + bzero(pmap->pm_l1, PAGE_SIZE); + + bzero(&pmap->pm_stats, sizeof(pmap->pm_stats)); + + return (1); } /***************************************************