|
@@ -513,17 +513,15 @@ static void __init map_pages(unsigned long start_vaddr,
|
|
|
|
|
|
void __init set_kernel_text_rw(int enable_read_write)
|
|
|
{
|
|
|
- unsigned long start = (unsigned long)_stext;
|
|
|
+ unsigned long start = (unsigned long)__init_begin;
|
|
|
unsigned long end = (unsigned long)_etext;
|
|
|
|
|
|
map_pages(start, __pa(start), end-start,
|
|
|
PAGE_KERNEL_RWX, enable_read_write ? 1:0);
|
|
|
|
|
|
- /* force the kernel to see the new TLB entries */
|
|
|
- __flush_tlb_range(0, start, end);
|
|
|
-
|
|
|
- /* dump old cached instructions */
|
|
|
- flush_icache_range(start, end);
|
|
|
+ /* force the kernel to see the new page table entries */
|
|
|
+ flush_cache_all();
|
|
|
+ flush_tlb_all();
|
|
|
}
|
|
|
|
|
|
void __ref free_initmem(void)
|