search for: icbi

Displaying 4 results from an estimated 4 matches for "icbi".

Did you mean: ibi
2010 May 13
1
[LLVMdev] libSystem, __clear_cache(), FreeBSD and ARM
Hi folks, I just tried to build LLVM on FreeBSD/arm. It looks like libSystem doesn't build and requires the following hack: --- lib/System/Memory.cpp +++ lib/System/Memory.cpp @@ -61,7 +61,7 @@ for (intptr_t Line = StartLine; Line < EndLine; Line += LineSize) asm volatile("icbi 0, %0" : : "r"(Line)); asm volatile("isync"); -# elif defined(__arm__) && defined(__GNUC__) +# elif defined(__arm__) && defined(__GNUC__) && !defined(__FreeBSD__) // FIXME: Can we safely always call this for __GNUC__ everywhere? char *Star...
2008 Jun 16
6
[LLVMdev] PowerPC instruction cache invalidation
...Size - 1) & Mask; + + for (intptr_t Line = StartLine; Line < EndLine; Line += LineSize) + asm volatile("dcbf 0, %0" : : "r"(Line)); + asm volatile("sync"); + + for (intptr_t Line = StartLine; Line < EndLine; Line += LineSize) + asm volatile("icbi 0, %0" : : "r"(Line)); + asm volatile("isync"); #endif }
2008 Jun 16
0
[LLVMdev] PowerPC instruction cache invalidation
On Mon, 16 Jun 2008, Gary Benson wrote: > When you genetate code on PowerPC you need to explicitly invalidate > the instruction cache to force the processor to reread it. In LLVM > there is code to do this for function stubs on Macintosh, but not > for other platforms and not for JITted code generally. Applied, thanks!
2008 Jun 17
1
[LLVMdev] PowerPC instruction cache invalidation
...alidateInstructionCache(const void *Addr, unsigned len) { +#if (defined(__POWERPC__) || defined (__ppc__) || defined(_POWER)) && \ +defined(__APPLE__) sys_icache_invalidate(Addr, len); #elif defined(__GNUC__) const size_t LineSize = 32; @@ -352,8 +349,6 @@ asm volatile("icbi 0, %0" : : "r"(Line)); asm volatile("isync"); #endif - -#endif } void *PPCJITInfo::emitFunctionStub(const Function* F, void *Fn, @@ -372,7 +367,7 @@ MCE.emitWordBE(0); MCE.emitWordBE(0); EmitBranchToAt(Addr, (intptr_t)Fn, false, is64Bit); - SyncI...