Date: Mon, 14 Mar 2016 07:26:38 +0000 (UTC) From: Wojciech Macek <wma@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296828 - head/sys/arm64/arm64 Message-ID: <201603140726.u2E7QcAY049918@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: wma Date: Mon Mar 14 07:26:38 2016 New Revision: 296828 URL: https://svnweb.freebsd.org/changeset/base/296828 Log: pmap arm64: fixing pmap_invalidate_range It seems that if range within one page is given this page will not be invalidated at all. Clean it up. Submitted by: Dominik Ermel <der@semihalf.com> Obtained from: Semihalf Sponsored by: Cavium Reviewed by: wma, zbb Approved by: cognet (mentor) Differential Revision: https://reviews.freebsd.org/D5569 Modified: head/sys/arm64/arm64/pmap.c Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Mon Mar 14 07:24:08 2016 (r296827) +++ head/sys/arm64/arm64/pmap.c Mon Mar 14 07:26:38 2016 (r296828) @@ -772,12 +772,10 @@ pmap_invalidate_range(pmap_t pmap, vm_of vm_offset_t addr; sched_pin(); - sva >>= PAGE_SHIFT; - eva >>= PAGE_SHIFT; __asm __volatile("dsb sy"); - for (addr = sva; addr < eva; addr++) { + for (addr = sva; addr < eva; addr += PAGE_SIZE) { __asm __volatile( - "tlbi vaae1is, %0" : : "r"(addr)); + "tlbi vaae1is, %0" : : "r"(addr >> PAGE_SHIFT)); } __asm __volatile( "dsb sy \n"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603140726.u2E7QcAY049918>