From: NIIBE Y. <gn...@m1...> - 2001-08-04 00:04:02
|
This is not an issue actually, because all the call are aligned. But a bug is a bug, is a bug. * arch/sh/mm/cache-sh4.c (__flush_wback_region): Fix bug of expression of END. (__flush_purge_region): Likewise. (__flush_invalidate_region): Likewise. Index: arch/sh/mm/cache-sh4.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/mm/cache-sh4.c,v retrieving revision 1.8 diff -u -r1.8 cache-sh4.c --- arch/sh/mm/cache-sh4.c 2001/08/03 11:22:06 1.8 +++ arch/sh/mm/cache-sh4.c 2001/08/03 23:53:51 @@ -131,7 +131,8 @@ unsigned long begin, end; begin = (unsigned long)start& ~(L1_CACHE_BYTES-1); - end = begin + size; + end = ((unsigned long)start + size + L1_CACHE_BYTES-1) + & ~(L1_CACHE_BYTES-1); for (v = begin; v < end; v+=L1_CACHE_BYTES) { asm volatile("ocbwb %0" : /* no output */ @@ -150,7 +151,8 @@ unsigned long begin, end; begin = (unsigned long)start& ~(L1_CACHE_BYTES-1); - end = begin + size; + end = ((unsigned long)start + size + L1_CACHE_BYTES-1) + & ~(L1_CACHE_BYTES-1); for (v = begin; v < end; v+=L1_CACHE_BYTES) { asm volatile("ocbp %0" : /* no output */ @@ -168,7 +170,8 @@ unsigned long begin, end; begin = (unsigned long)start& ~(L1_CACHE_BYTES-1); - end = begin + size; + end = ((unsigned long)start + size + L1_CACHE_BYTES-1) + & ~(L1_CACHE_BYTES-1); for (v = begin; v < end; v+=L1_CACHE_BYTES) { asm volatile("ocbi %0" : /* no output */ -- |