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)