From owner-p4-projects@FreeBSD.ORG Wed Aug 23 21:32:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE6DE16A4E0; Wed, 23 Aug 2006 21:32:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A348D16A4DA for ; Wed, 23 Aug 2006 21:32:06 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B77E43D4C for ; Wed, 23 Aug 2006 21:32:06 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7NLW6fM019747 for ; Wed, 23 Aug 2006 21:32:06 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7NLW5cH019744 for perforce@freebsd.org; Wed, 23 Aug 2006 21:32:05 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 23 Aug 2006 21:32:05 GMT Message-Id: <200608232132.k7NLW5cH019744@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 104859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Aug 2006 21:32:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=104859 Change 104859 by gonzo@gonzo_hideout on 2006/08/23 21:31:24 o Introduce barrier functions to userland. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/cpufunc.h#15 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/cpufunc.h#15 (text+ko) ==== @@ -33,21 +33,6 @@ #include #include -static __inline void -mips_barrier(void) -{ - __asm __volatile (".set noreorder\n\t" - "nop\n\t" - "nop\n\t" - "nop\n\t" - "nop\n\t" - "nop\n\t" - "nop\n\t" - "nop\n\t" - "nop\n\t" - ".set reorder\n\t" - : : : "memory"); -} static __inline void mips_tlbp(void) @@ -93,16 +78,6 @@ mips_barrier(); } -static __inline void -mips_wbflush(void) -{ - __asm __volatile ("sync" : : : "memory"); - mips_barrier(); -#if 0 - __asm __volatile("mtc0 %0, $12\n" /* MIPS_COP_0_STATUS */ - : : "r" (flag)); -#endif -} #if 0 /* XXX mips64 */ @@ -217,7 +192,40 @@ __asm __volatile ("break"); } +#endif /* _KERNEL */ + +/* + * These functions are required by user-land atomi ops + */ + +static __inline void +mips_barrier(void) +{ + __asm __volatile (".set noreorder\n\t" + "nop\n\t" + "nop\n\t" + "nop\n\t" + "nop\n\t" + "nop\n\t" + "nop\n\t" + "nop\n\t" + "nop\n\t" + ".set reorder\n\t" + : : : "memory"); +} + static __inline void +mips_wbflush(void) +{ + __asm __volatile ("sync" : : : "memory"); + mips_barrier(); +#if 0 + __asm __volatile("mtc0 %0, $12\n" /* MIPS_COP_0_STATUS */ + : : "r" (flag)); +#endif +} + +static __inline void mips_read_membar(void) { /* Nil */ @@ -229,6 +237,4 @@ mips_wbflush(); } -#endif /* _KERNEL */ - #endif /* !_MACHINE_CPUFUNC_H_ */