This ppc64 implementation of clear_cache works for both big and little endian.
llvm-svn: 309848
This commit is contained in:
@@ -165,7 +165,7 @@ void __clear_cache(void *start, void *end) {
|
|||||||
for (addr = xstart; addr < xend; addr += icache_line_size)
|
for (addr = xstart; addr < xend; addr += icache_line_size)
|
||||||
__asm __volatile("ic ivau, %0" :: "r"(addr));
|
__asm __volatile("ic ivau, %0" :: "r"(addr));
|
||||||
__asm __volatile("isb sy");
|
__asm __volatile("isb sy");
|
||||||
#elif defined (__powerpc64__) && defined(__LITTLE_ENDIAN__)
|
#elif defined (__powerpc64__)
|
||||||
const size_t line_size = 32;
|
const size_t line_size = 32;
|
||||||
const size_t len = (uintptr_t)end - (uintptr_t)start;
|
const size_t len = (uintptr_t)end - (uintptr_t)start;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user