/* * While we're protected against bad userland addresses we don't care * very much about what happens in that case. Usually a segmentation * fault will dump the process later on anyway ... */ static void r5900_flush_cache_sigtramp(unsigned long addr) { /* * FIXME: What's the point of daddr and iaddr? I don't see any need * for doing the flush on both the addresses _and_ the addresses + the * line size. Am I missing something? */ unsigned long daddr, iaddr; daddr = addr & ~(dc_lsize - 1); protected_writeback_dcache_line(daddr); protected_writeback_dcache_line(daddr + dc_lsize); iaddr = addr & ~(ic_lsize - 1); protected_flush_icache_line(iaddr); protected_flush_icache_line(iaddr + ic_lsize); }
/* * While we're protected against bad userland addresses we don't care * very much about what happens in that case. Usually a segmentation * fault will dump the process later on anyway ... */ static void r4k_flush_cache_sigtramp(unsigned long addr) { protected_writeback_dcache_line(addr & ~(dc_lsize - 1)); protected_flush_icache_line(addr & ~(ic_lsize - 1)); }