git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
arch
/
mips
/
mm
/
c-sb1.c
diff --git
a/arch/mips/mm/c-sb1.c
b/arch/mips/mm/c-sb1.c
index
ab30afd
..
f9b1294
100644
(file)
--- a/
arch/mips/mm/c-sb1.c
+++ b/
arch/mips/mm/c-sb1.c
@@
-235,7
+235,7
@@
static inline void __sb1_flush_icache_range(unsigned long start,
/*
* Invalidate all caches on this CPU
*/
/*
* Invalidate all caches on this CPU
*/
-static void local_sb1___flush_cache_all(void)
+static void
__attribute_used__
local_sb1___flush_cache_all(void)
{
__sb1_writeback_inv_dcache_all();
__sb1_flush_icache_all();
{
__sb1_writeback_inv_dcache_all();
__sb1_flush_icache_all();
@@
-270,7
+270,7
@@
static void local_sb1_flush_icache_range(unsigned long start,
__sb1_writeback_inv_dcache_all();
else
__sb1_writeback_inv_dcache_range(start, end);
__sb1_writeback_inv_dcache_all();
else
__sb1_writeback_inv_dcache_range(start, end);
-
+
/* Just flush the whole icache if the range is big enough */
if ((end - start) > icache_range_cutoff)
__sb1_flush_icache_all();
/* Just flush the whole icache if the range is big enough */
if ((end - start) > icache_range_cutoff)
__sb1_flush_icache_all();
@@
-492,19
+492,17
@@
static __init void probe_cache_sizes(void)
}
/*
}
/*
- * This is called from
loadmmu
.c. We have to set up all the
+ * This is called from
cache
.c. We have to set up all the
* memory management function pointers, as well as initialize
* the caches and tlbs
*/
* memory management function pointers, as well as initialize
* the caches and tlbs
*/
-void
ld_mmu_sb1
(void)
+void
sb1_cache_init
(void)
{
extern char except_vec2_sb1;
extern char handle_vec2_sb1;
/* Special cache error handler for SB1 */
{
extern char except_vec2_sb1;
extern char handle_vec2_sb1;
/* Special cache error handler for SB1 */
- memcpy((void *)(CAC_BASE + 0x100), &except_vec2_sb1, 0x80);
- memcpy((void *)(UNCAC_BASE + 0x100), &except_vec2_sb1, 0x80);
- memcpy((void *)CKSEG1ADDR(&handle_vec2_sb1), &handle_vec2_sb1, 0x80);
+ set_uncached_handler (0x100, &except_vec2_sb1, 0x80);
probe_cache_sizes();
probe_cache_sizes();
@@
-530,6
+528,7
@@
void ld_mmu_sb1(void)
flush_cache_page = sb1_flush_cache_page;
flush_cache_sigtramp = sb1_flush_cache_sigtramp;
flush_cache_page = sb1_flush_cache_page;
flush_cache_sigtramp = sb1_flush_cache_sigtramp;
+ local_flush_data_cache_page = (void *) sb1_nop;
flush_data_cache_page = (void *) sb1_nop;
/* Full flush */
flush_data_cache_page = (void *) sb1_nop;
/* Full flush */