Module Name:    src
Committed By:   alnsn
Date:           Mon Nov 25 23:53:45 UTC 2013

Modified Files:
        src/sys/arch/powerpc/include: sljitarch.h
        src/sys/external/bsd/sljit/dist/sljit_src: sljitNativePPC_common.c

Log Message:
Use __syncicache() in sljit on powerpc.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/powerpc/include/sljitarch.h
cvs rdiff -u -r1.1.1.3 -r1.2 \
    src/sys/external/bsd/sljit/dist/sljit_src/sljitNativePPC_common.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/powerpc/include/sljitarch.h
diff -u src/sys/arch/powerpc/include/sljitarch.h:1.1 src/sys/arch/powerpc/include/sljitarch.h:1.2
--- src/sys/arch/powerpc/include/sljitarch.h:1.1	Sun Nov 17 14:34:12 2013
+++ src/sys/arch/powerpc/include/sljitarch.h	Mon Nov 25 23:53:44 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: sljitarch.h,v 1.1 2013/11/17 14:34:12 alnsn Exp $	*/
+/*	$NetBSD: sljitarch.h,v 1.2 2013/11/25 23:53:44 alnsn Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -29,6 +29,9 @@
 #ifndef _POWERPC_SLJITARCH_H
 #define _POWERPC_SLJITARCH_H
 
+#include <sys/types.h>
+#include <machine/cpu.h>
+
 #if defined(_LP64)
 #define SLJIT_CONFIG_PPC_64 1
 #else
@@ -36,6 +39,6 @@
 #endif
 
 #define SLJIT_CACHE_FLUSH(from, to) \
-	ppc_cache_flush((from), (to))
+	__syncicache((from), (to)-(from))
 
 #endif

Index: src/sys/external/bsd/sljit/dist/sljit_src/sljitNativePPC_common.c
diff -u src/sys/external/bsd/sljit/dist/sljit_src/sljitNativePPC_common.c:1.1.1.3 src/sys/external/bsd/sljit/dist/sljit_src/sljitNativePPC_common.c:1.2
--- src/sys/external/bsd/sljit/dist/sljit_src/sljitNativePPC_common.c:1.1.1.3	Sun Oct 28 09:36:22 2012
+++ src/sys/external/bsd/sljit/dist/sljit_src/sljitNativePPC_common.c	Mon Nov 25 23:53:44 2013
@@ -37,47 +37,6 @@ typedef sljit_ui sljit_ins;
 #include <sys/cache.h>
 #endif
 
-static void ppc_cache_flush(sljit_ins *from, sljit_ins *to)
-{
-#ifdef _AIX
-	_sync_cache_range((caddr_t)from, (int)((size_t)to - (size_t)from));
-#elif defined(__GNUC__) || (defined(__IBM_GCC_ASM) && __IBM_GCC_ASM)
-#	if defined(_ARCH_PWR) || defined(_ARCH_PWR2)
-	/* Cache flush for POWER architecture. */
-	while (from < to) {
-		__asm__ volatile (
-			"clf 0, %0\n"
-			"dcs\n"
-			: : "r"(from)
-		);
-		from++;
-	}
-	__asm__ volatile ( "ics" );
-#	elif defined(_ARCH_COM) && !defined(_ARCH_PPC)
-#	error "Cache flush is not implemented for PowerPC/POWER common mode."
-#	else
-	/* Cache flush for PowerPC architecture. */
-	while (from < to) {
-		__asm__ volatile (
-			"dcbf 0, %0\n"
-			"sync\n"
-			"icbi 0, %0\n"
-			: : "r"(from)
-		);
-		from++;
-	}
-	__asm__ volatile ( "isync" );
-#	endif
-#	ifdef __xlc__
-#	warning "This file may fail to compile if -qfuncsect is used"
-#	endif
-#elif defined(__xlc__)
-#error "Please enable GCC syntax for inline assembly statements with -qasm=gcc"
-#else
-#error "This platform requires a cache flush implementation."
-#endif /* _AIX */
-}
-
 #define TMP_REG1	(SLJIT_NO_REGISTERS + 1)
 #define TMP_REG2	(SLJIT_NO_REGISTERS + 2)
 #define TMP_REG3	(SLJIT_NO_REGISTERS + 3)

Reply via email to