From owner-svn-src-projects@FreeBSD.ORG Tue Jan 31 15:39:06 2012 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 E6690106566B; Tue, 31 Jan 2012 15:39:06 +0000 (UTC) (envelope-from gber@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D5B9B8FC12; Tue, 31 Jan 2012 15:39:06 +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 q0VFd68x042432; Tue, 31 Jan 2012 15:39:06 GMT (envelope-from gber@svn.freebsd.org) Received: (from gber@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VFd6PG042430; Tue, 31 Jan 2012 15:39:06 GMT (envelope-from gber@svn.freebsd.org) Message-Id: <201201311539.q0VFd6PG042430@svn.freebsd.org> From: Grzegorz Bernacki Date: Tue, 31 Jan 2012 15:39:06 +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: r230815 - 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: Tue, 31 Jan 2012 15:39:07 -0000 Author: gber Date: Tue Jan 31 15:39:06 2012 New Revision: 230815 URL: http://svn.freebsd.org/changeset/base/230815 Log: armv7: Fix TTB setup, little cleanup When TTB is written to CP15 register, proper memory model must be set. Submitted by: Lukasz Plachno Obtained from: Marvell, Semihalf 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 Tue Jan 31 15:38:06 2012 (r230814) +++ projects/armv6/sys/arm/arm/cpufunc_asm_armv7.S Tue Jan 31 15:39:06 2012 (r230815) @@ -32,8 +32,6 @@ #include __FBSDID("$FreeBSD$"); -#define TTB (0x59) - .Lcoherency_level: .word _C_LABEL(arm_cache_loc) .Lcache_type: @@ -50,6 +48,19 @@ ENTRY(armv7_setttb) bl _C_LABEL(armv7_idcache_wbinv_all) /* clean the D cache */ ldmia sp!, {r0, lr} dsb +#if defined(SMP) + /* + * Settings for architecture with SMP extension: + * PT memory: inner WBWA, shareable; outer WBWA, non-shareable + */ + orr r0, r0, #106 +#else + /* + * Settings for architecture without SMP extension: + * PT memory: inner-cacheable, non-shareable; outer WB, non-shareable + */ + orr r0, r0, #25 +#endif mcr p15, 0, r0, c2, c0, 0 /* Translation Table Base Register 0 (TTBR0) */ mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ dsb