From owner-svn-src-projects@FreeBSD.ORG Thu Nov 3 20:29:21 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D6861065670; Thu, 3 Nov 2011 20:29:21 +0000 (UTC) (envelope-from cognet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D3838FC1B; Thu, 3 Nov 2011 20:29:21 +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 pA3KTLXW085702; Thu, 3 Nov 2011 20:29:21 GMT (envelope-from cognet@svn.freebsd.org) Received: (from cognet@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pA3KTLPC085700; Thu, 3 Nov 2011 20:29:21 GMT (envelope-from cognet@svn.freebsd.org) Message-Id: <201111032029.pA3KTLPC085700@svn.freebsd.org> From: Olivier Houchard Date: Thu, 3 Nov 2011 20:29:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r227063 - projects/armv6/sys/arm/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 03 Nov 2011 20:29:21 -0000 Author: cognet Date: Thu Nov 3 20:29:20 2011 New Revision: 227063 URL: http://svn.freebsd.org/changeset/base/227063 Log: In the wb/inv operations, make sure the addresses are aligned on a cache line boundary. Modified: projects/armv6/sys/arm/arm/cpufunc_asm_armv7.S Modified: projects/armv6/sys/arm/arm/cpufunc_asm_armv7.S ============================================================================== --- projects/armv6/sys/arm/arm/cpufunc_asm_armv7.S Thu Nov 3 18:55:18 2011 (r227062) +++ projects/armv6/sys/arm/arm/cpufunc_asm_armv7.S Thu Nov 3 20:29:20 2011 (r227063) @@ -141,6 +141,10 @@ ENTRY(armv7_idcache_wbinv_all) ENTRY(armv7_dcache_wb_range) ldr ip, .Larmv7_line_size + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 .Larmv7_wb_next: mcr p15, 0, r0, c7, c10, 1 /* Clean D cache SE with VA */ add r0, r0, ip @@ -151,6 +155,10 @@ ENTRY(armv7_dcache_wb_range) ENTRY(armv7_dcache_wbinv_range) ldr ip, .Larmv7_line_size + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 .Larmv7_wbinv_next: mcr p15, 0, r0, c7, c14, 1 /* Purge D cache SE with VA */ add r0, r0, ip @@ -165,6 +173,10 @@ ENTRY(armv7_dcache_wbinv_range) */ ENTRY(armv7_dcache_inv_range) ldr ip, .Larmv7_line_size + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 .Larmv7_inv_next: mcr p15, 0, r0, c7, c6, 1 /* Invalidate D cache SE with VA */ add r0, r0, ip @@ -175,6 +187,10 @@ ENTRY(armv7_dcache_inv_range) ENTRY(armv7_idcache_wbinv_range) ldr ip, .Larmv7_line_size + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 .Larmv7_id_wbinv_next: mcr p15, 0, r0, c7, c5, 1 /* Invalidate I cache SE with VA */ mcr p15, 0, r0, c7, c14, 1 /* Purge D cache SE with VA */